在ORACLE里什么是RMAN命令,它有什么作用备份

在ORACLE里什么是RMAN命令,它有什么作用备份,第1张

3 恢复目录

31恢复目录的概念

恢复目录是由RMAN使用、维护的用来放置备份信息的仓库。RMAN利用恢复目录记载的信息去判断如何执行需要的备份恢复 *** 作。

恢复目录可以存在于ORACLE数据库的计划中。

虽然恢复目录可以用来备份多个数据库,建议为恢复目录数据库创建一个单独的数据库。

恢复目录数据库不能使用恢复目录备份自身。

32建立恢复目录

第一步,在目录数据库中创建恢复目录所用表空间:

SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_tsdbf' size 20M;

表空间已创建。

第二步,在目录数据库中创建RMAN 用户并授权:

SQL> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;

用户已创建。

SQL> grant recovery_catalog_owner to rman ;

授权成功。

SQL> grant connect, resource to rman ;

授权成功。

第三步,在目录数据库中创建恢复目录

C:\>rman catalog rman/rman

恢复管理器:版本81600 - Production

RMAN-06008:连接到恢复目录数据库

RMAN-06428:未安装恢复目录

RMAN>create catalog tablespace rman_ts;

RMAN-06431:恢复目录已创建

注意:虽然使用RMAN不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。不使用恢复目录将会对备份恢复 *** 作有限制。

33使用恢复目录的优势

可以存储脚本;

记载较长时间的备份恢复 *** 作;

4 启动RMAN

RMAN为交互式命令行处理界面,也可以从企业管理器中运行。

为了使用下面的实例,先检查环境符合:

the target database is called "his" and has the same TNS alias

user rman has been granted "recovery_catalog_owner "privileges

目标数据库的连接用户为internal帐号,或者以其他SYSDBA类型帐号连接

the recovery catalog database is called "rman" and has the same TNS alias

the schema containing the recovery catalog is "rman" (same password)

在使用RMAN前,设置NLS_DATE_FORMAT 和NLS_LANG环境变量,很多RMAN LIST命令的输出结果是与日期时间相关的,这点在用户希望执行以时间为基准的恢复工作也很重要。

下例是环境变量的示范:

NLS_LANG= SIMPLIFIED CHINESE_CHINAZHS16GBK

NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS

为了保证RMAN使用时能连接恢复目录,恢复目录数据库必须打开,目标数据库至少要STARTED(unmount),否则RMAN会返回一个错误,目标数据库必须置于归档模式下。

41使用不带恢复目录的RMAN

设置目标数据库的 ORACLE_SID ,执行:

% rman nocatalog

RMAN> connect target

RMAN> connect target internal/<password>@his

42使用带恢复目录的RMAN

% rman rman_ts rman/rman@rman

RMAN> connect target

% rman rman_ts rman/rman@rman target internal/<password>@his

43使用RMAN

一旦连接到目标数据库,可以通过交互界面或者事先存储的脚本执行指定RMAN命令, 下面是一个使用RMAN交互界面的实例:

RMAN> resync catalog;

RMAN-03022:正在编译命令:resync

RMAN-03023:正在执行命令:resync

RMAN-08002:正在启动全部恢复目录的 resync

RMAN-08004:完成全部 resync

使用脚本的实例:

RMAN> execute script alloc_1_disk;

创建或者替代存储的脚本:

RMAN> replace script alloc_1_disk {

2> allocate channel d1 type disk;

3> }

5注册或者注销目标数据库

51注册目标数据库

数据库状态:

恢复目录状态:打开

目标数据库:加载或者打开

目标数据库在第一次使用RMAN之前必须在恢复目录中注册:

第一步,启动恢复管理器,并且连接目标数据库:

C:\>rman target internal/oracle@his catalog rman/rman@rman

恢复管理器:版本81600 - Production

RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)

RMAN-06008:连接到恢复目录数据库

第二步,注册数据库:

RMAN> register database;

RMAN-03022:正在编译命令:register

RMAN-03023:正在执行命令:register

RMAN-08006:注册在恢复目录中的数据库

RMAN-03023:正在执行命令:full resync

RMAN-08002:正在启动全部恢复目录的resync

RMAN-08004:完成全部resync

52注销目标数据库

RMAN提供了一个注销工具,叫DBMS_RCVCAT工具包,请注意一旦注销了该目标数据库,就不可以使用恢复目录中含有的备份集来恢复数据库了。

为了能注销数据库,需要获得数据库的标识码(DB_ID)和数据库键值(DB_KEY)。其中连接目标数据库时将会获得DB_ID。

C:\>rman target internal/oracle@his catalog rman/rman@rman

恢复管理器:版本81600 - Production

RMAN-06005:连接到目标数据库:HIS (DBID=3021445076)

RMAN-06008:连接到恢复目录数据库

其中DBID=3021445076,利用DBID=3021445076查询数据库键值码:

连接到目标数据库,查询db表:

SQL> select from db;

DB_KEY DB_ID CURR_DBINC_KEY

---------- ---------- --------------

1 3021445076 2

获得DB_KEY=1,这样,该目标数据库DB_KEY=1,DBID=3021445076,利用两个值使用DBMS_RCVCAT工具包就可以注销数据库:

SQL> execute dbms_rcvcatunregisterdatabase(1,3021445076);

PL/SQL 过程已成功完成。

至此,注销数据库 *** 作完成。

myssqli和mysql的函数是差不多的, 只不过, mysqi可以用对象方式

//过程方式:

 $Con = mysqli_connect('数据库服务器地址', '数据库登陆用户', '数据库密码');

 mysqli_select_db( $Con, '数据库名称');

 

//对象方式

$Con = new mysqli('数据库服务器地址', '数据库登陆用户', '数据库密码', '数据库名称');

同样是过程方式,mysqli有一点和mysql的用法不同的是,:

mysql函数,很多函数都有2个参数,一个是sql语句等, 一个是mysql连接标识, 而这个mysql连接标识参数是可以省略的!

但是mysqli两个参数必须, 而且顺序相反, 比如:

mysql_query('show tables', $Con ); 

//也可以省略第二个参数,写成:

mysql_query('show tables');

//但是mysqli不行

mysqli_query( $Con,  'show tables');

以上就是关于在ORACLE里什么是RMAN命令,它有什么作用备份全部的内容,包括:在ORACLE里什么是RMAN命令,它有什么作用备份、php不能像mysql那样直接用uuid生成唯一标识码吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9438967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存