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生成唯一标识码吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)