rman  target  /  catalog  rman/rman;

使用恢复管理器执行backup、copy、restore或者switch命令时,恢复目录自动进行更新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行目录同步。使用resync catalog命令进行同步。

RMAN>resync catalog;

建立恢复目录

第一步,在目录数据库中创建恢复目录所用表空间:
SQL> create tablespace rman_ts datafile 'd:\oracle\oradata\rman\rman_ts.dbf' 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
恢复管理器:版本8.1.6.0.0 - Production
RMAN-06008:连接到恢复目录数据库
RMAN-06428:未安装恢复目录
RMAN>create catalog tablespace rman_ts;
RMAN-06431:恢复目录已创建
 
注意:虽然使用RMAN不一定必需恢复目录,但是推荐使用。因为恢复目录记载的信息大部分可以通过控制文件来记载,RMAN在恢复数据库时使用这些信息。不使用恢复目录将会对备份恢复操作有限制。

 

    创建或者取代脚本:
    RMAN> create script alloc_disk {
   2> # Allocates one disk
   3> allocate channel dev1 type disk;
   4> setlimit channel dev1 kbytes 2097150 maxopenfiles 32 readrate 200;
   5> }
  
RMAN> replace script rel_disk {
   2> # releases disk
   3> release channel dev1;
   5> }
  
RMAN> replace script backup_db_full {
   2> # Performs a complete backup
   3> execute script alloc_disk;
   4> backup
   5> .....<backup commands here>
   6> execute script rel_disk;
   7> }
前两个脚本分别用来分配和回收通道。
alloc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。
第三个脚本调用先前存储的两个脚本进行数据库备份。
 
运行存储脚本的示范:
RMAN> run {
   2> execute script backup_db_full;
   3> }
注意:存储的脚本必须在{ .... execute <script>; ....}命令中调用。