用不用catalog数据库,信息都会放在控制文件。
catalog目录数据库可存放详细历史信息和脚本,在维护多个数据库时通过它便于管理和查询。
backup catalog的内容:
备份信息
镜像拷贝信息
归档日志文件信息
目标数据库的物理结构信息
RMAN永久性配置信息
工作脚本
catalog的好处;
多个目标数据库信息存储在一个catalog数据库
一个目标数据库的多个incarnation信息
历史信息
报告目标数据库非当前时间的信息
创建catalog
1.在catalog数据库创建表空间
create tablespace cata datafile '/u01/oradata/shady/catalog_01.dbf' size 1024M segment space management auto extent management local uniform;
2.在catalog数据库创建catalog owner(即创建用户)
create user cata identified by cata default tablespace cata quota unlimited on cata;
3.授权
grant connect,resource to cata
grant recovery_catalog_owner to user1;
4.创建catalog
rman catalog cata/cata@pitts //pitts是一个目录数据库的标识
rman>create catalog tablespace cata;
5.连接目标数据库和目录数据库,注册到目录数据库
rman target sys/sys@XXWZ
rman>connect catalog cata/cata@pitts
rman>register database;
catalog数据库的维护之同步
控制文件记录保留时间:control_file_record_keep_time参数
同步做下面的工作:
创建一个控制文件的快照;
对比快照和catalog;
更新catalog中没有或改变的信息。
部分同步:除同步数据库物理结构外,即备份相关信息。
全同步:同步数据库物理结构。
当你执行一些特定的命令,如backup时,RMAN会执行自动同步。
你也可以手工执行全同步用resync catalog命令。
rman>resync catalog;
查看数据库incarnation信息
rman>list incarnation;
设置要恢复的incarnation
rman>reset database incarnation 2;
rman>restore database
rman>recover database
catalog视图(必须要用cata用户登录才能看到)
rc_database
rc_datafile
rc_stored_script
rc_stored_script_line
rc_tablespace
catalog的存储脚本
创建脚本
create script leve0backup //创建全局脚本create global script leve0backup
comment 'Script to Backup' //脚本注释
{
backup incremental level 0
format 'd:backup%d_%s_%p'
fileperset 5
(database include current controlfile)
sql 'alter system archive log current';
}
执行脚本
rman>run {execute script leve0backup;}
修改脚本
rman>replace script leve0backup{
backup incremental level 0
format 'd:backup%d_%s_%p'
fileperset 3
(database include current controlfile)
sql 'alter system archive log current';
}
删除脚本
rman>delete script leve0backup;
现实脚本内容
rman>print script leve0backup;或rman>print global script leve0backup;
把脚本保存到文件
rman>print script leve0backup to file 'd:scriptleve0backup.rman';