2.1、nocatalog介绍
nocatalog方式 就是用control file作为catalog,每一次备份都要往控制文件里面写好多备份信息,控制文件里面会有越来越多的备份信息。因此,当使用rman nocatalog方式备份时,备份controlfile是非常重要的。
由于nocatalog时利用controlfile存放备份信息,建议将oracle参数文件中的control_file_record_keep_time值加大(缺省为7天), 参数在$oracle_home/dbs/initsid.ora中,该参数control_file__record_keep_time设置备份信息保存时间,到规定时间就自动清除以前的备份信息。
sql> show parameter control
sql> select name,value,issys_modifiable from v$parameter where name='control_file_record_keep_time';
2.2、catalog介绍
catalog恢复目录存储的是与rman 备份有关的元数据。在某种意义上,恢复目录可以看做是保存rman备份和恢复所需的相关信息的副本。
我们可以在oracle 数据库中在用户模式下创建恢复目录,这个恢复目录仅仅是一些数据包,表,索引和视图。
rman中的再同步命令会使得目标数据库控制文件中的内容刷新这些表中的数据。当然,区别在于恢复目录可以包含企业中所有数据库的信息,而控制文件只包含关于它自己的数据库的信息。
2.3、catalog恢复目录的配置过程
详见演示
01.创建catalog所需要的表空间
sql>create tablespace tbs_rman datafile '/oradata/ocm/tbs_rman01.dbf' size 20m;
02.创建rman用户并授权
sql>create user rman identified by rman default tablespace tbs_rman quota unlimited on tbs_rman;
sql>grant connect,resource,recovery_catalog_owner to rman;
03.创建恢复目录
oracle>rman catalog rman/rman
rman>create catalog tablespace tbs_rman;
04.配置目标数据库的tnsnames.ora
rman =
(description =
(address_list =
(address = (protocol = tcp)(host = 10.53.110.181)(port = 1521))
)
(connect_data =
(sid = ocm)
)
)
05.注册目标数据库
$rman target / catalog rman/rman@itpuxdb
rman>register database;
06.检查catalog恢复目录
显示目标数据库注册信息
rman> report schema ;
显示备份信息
rman>list backup;
命令解释:
report schema report shema是指在数据库中需找schema
list backup 从control读取信息
07、在恢复目录中添加rman 备份
如果已经在没有恢复目录的情况下执行了rman备份,并且希望在后面将这些备份添加到恢复目录,则可以使用catalog命令。可以将数据文件副本,备份集片,归档日志备份,甚至整个备份目录添加到目录中。 示例如下:
rman>catalog datafilecopy '/ggs/arch_log/system01.dbf';
rman>catalog archivelog '/ggs/arch_log/arch_20.arc';
rman>catalog backuppiece '/ggs/arch_log/backup_031.bkp';
rman>catalog start with '/ggs/arch_log/';
rman>catalog recovery area;
注意: 要谨慎使用catalog start with 命令,必须在目录路径结尾加上反斜杠后缀,如果不加将遍历目录下的所有组合. 如:/oradata/ocm/ocm-old .
08、升级的问题
upgrade catalog
09、关于数据库对应物
在打开数据库时,如果使用resetlogs参数,就会创建一个新对应物。 如果这个操作是在RMAN 中进行,则会正确的更新恢复目录,但是,如果手工执行resetlogs命令(比如:sqlplus),就必须在恢复目录中重置数据库对应物。
Rman>reset database to incarnation 5;
恢复目录记录的删除
只有很少的记录会从恢复目录中被删除,如果不加以维护,状态为deleted的就备份会一直驻留在恢复目录中。为了解决这个问题,Oracle提供了$ORACLE_HOME/rdbms/admin/prgmanc.sql 脚本来删除恢复目录中状态为deleted的所有记录。 建议定期执行这个脚本,以控制文件恢复目录的大小。
如果要从恢复目录中删除旧的对应物记录,就必须从DBINC表中删除这些对应物。可以使用RC_DATABASE_INCARNATION 视图来确定要删除的对应物,记录想删除的每个对应物的DBINC_KEY值。然后在sqlplus中执行delete 命令,如:
SQL> select * from rc_database_incarnation;
SQL> delete from dbinc where dbinc_key=4;
已删除 1 行。
10、手工同步恢复目录
10、手工再同步恢复目录(resync catalog)
RMAN使用恢复目录时,它会使用在同步进程来确保恢复目录和目标数据库的控制文件一致。通常,Oracle在RMAN操作(备份和恢复)后会再同步数据库,这样就不必经常再同步恢复目录。需要再同步恢复目录的一个实例是有时使用恢复目录,有时不使用恢复目录,此时,可以使用resync catalog命令手工使Oracle 再同步恢复目录。
Rman>resync catalog;
Oracle 同步恢复目录时,它首先会创建一个快照控制文件,并比较这个文件和恢复目录。 完成比较后,Oracle更新恢复目录,是恢复目录与数据库控制文件同步。
11、恢复目录的备份
RMAN
exp/export
12、取消数据库的注册 10
unregister database
unregister database itpuxdb
13、恢复目录的删除
drop catalog;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。