Oracle OCP笔记(28)RMAN备份 - Catalog
一.恢复目录(Recovery Catalog)
RMAN备份称为服务器管理的备份,所有工作均由服务器进程完成。RMAN使用在目标数据库的控制文件中存储的仓库,此仓库包含执行的所有备份的详细信息,也可以创建一个专门的Catalog数据库来管理此仓库。此Catalog数据库可以管理多个数据库的备份信息。
RMAN备份称为服务器管理的备份,所有工作均由服务器进程完成。RMAN使用在目标数据库的控制文件中存储的仓库,此仓库包含执行的所有备份的详细信息,也可以创建一个专门的Catalog数据库来管理此仓库。此Catalog数据库可以管理多个数据库的备份信息。
二.使用恢复目录数据库
(1).恢复目录数据库的空间要求
只需要使用一个比较小的数据库来作为恢复目录数据库,存放仓库数据库的表空间至少需要125MB用于保存恢复目录条目的空间。
·SYSTEM表空间90MB
·TEMP表空间5MB
·UNDO表空间5MB
·在恢复目录中注册的每个数据库的RMAN默认表空间占15MB
·每个联机重做日志文件1MB
(1).恢复目录数据库的空间要求
只需要使用一个比较小的数据库来作为恢复目录数据库,存放仓库数据库的表空间至少需要125MB用于保存恢复目录条目的空间。
·SYSTEM表空间90MB
·TEMP表空间5MB
·UNDO表空间5MB
·在恢复目录中注册的每个数据库的RMAN默认表空间占15MB
·每个联机重做日志文件1MB
(2).配置恢复目录数据库.
create tablespace catadat datafile '/u01/app/oracle/cata/catadat01.dbf' size 100m autoextend on;
create user cata indetified by *** cata default tablespace catadat;
grant connect,resource,recovery_catalog_owner to cata;
create tablespace catadat datafile '/u01/app/oracle/cata/catadat01.dbf' size 100m autoextend on;
create user cata indetified by *** cata default tablespace catadat;
grant connect,resource,recovery_catalog_owner to cata;
(3).连接到Catalog数据库
连接到目标数据库和Catalog数据库,
rman catalog cata/cata@cata;
rman target sys/oracle@orcl catalog cata/cata@cata;
连接到目标数据库和Catalog数据库,
rman catalog cata/cata@cata;
rman target sys/oracle@orcl catalog cata/cata@cata;
不使用catalog连接到目标数据库
rman target / nocatalog; -- 等同于rman target /
rman target / nocatalog; -- 等同于rman target /
(4).使用恢复目录数据库
rman target sys/oracle@orcl catalog cata/cata@cata;
RMAN> create catalog tablespace catadat; -- 创建恢复目录,初始化仓库
RMAM> register database; -- 注册数据库,将要备份的数据库在RMAN仓库中注册
RMAN> resync catalog; -- 同步恢复目录
RMAN> unregister database; -- 注销数据库
RMAN> drop catalog; -- 删除恢复目录
RMAN> upgrade catalog; -- 更新版本
rman target sys/oracle@orcl catalog cata/cata@cata;
RMAN> create catalog tablespace catadat; -- 创建恢复目录,初始化仓库
RMAM> register database; -- 注册数据库,将要备份的数据库在RMAN仓库中注册
RMAN> resync catalog; -- 同步恢复目录
RMAN> unregister database; -- 注销数据库
RMAN> drop catalog; -- 删除恢复目录
RMAN> upgrade catalog; -- 更新版本
RMAN> report need backup days 7; -- 报告需要备份的信息,与不使用catalog方法相同
(5).记录其他备份文件
RMAN> catalog start with ''; -- 指定文件夹或路径
包含以下文件类型:
·数据文件副本(datafile copy)
·备份信息段(backup piece)
·控制文件副本(controlfile copy)
·归档日志文件(archivelog)
RMAN> catalog start with ''; -- 指定文件夹或路径
包含以下文件类型:
·数据文件副本(datafile copy)
·备份信息段(backup piece)
·控制文件副本(controlfile copy)
·归档日志文件(archivelog)
RMAN> catalog recovery area noprompt; -- 重新记录闪回恢复区中的所有备份内容
三.RMAN存储脚本
(1).创建RMAN存储脚本
可以创建全局和本地脚本
RMAN> create global script global_backup_db { backup database plus archivelog;}
RMAN> create script global_backup_db { backup database plus archivelog;}
RMAN> create script global_backup_db from file '/home/rjb/dbscripts/global_bak.rman';
(1).创建RMAN存储脚本
可以创建全局和本地脚本
RMAN> create global script global_backup_db { backup database plus archivelog;}
RMAN> create script global_backup_db { backup database plus archivelog;}
RMAN> create script global_backup_db from file '/home/rjb/dbscripts/global_bak.rman';
RMAN> create script level0 {
allocate channel a1 type disk;
allocate channel a2 type disk;
backup incremental level 0 database;
release channel a1;
release channel a2;
}
allocate channel a1 type disk;
allocate channel a2 type disk;
backup incremental level 0 database;
release channel a1;
release channel a2;
}
(2).执行RMAN存储脚本
RMAN> run {execute script global_backup_db; }
RMAN> run {execute script global_backup_db; }
(3).检索RMAN存储脚本
RMAN> list script names;
RMAN> print global script global_backup_db;
RMAN> list script names;
RMAN> print global script global_backup_db;
(4).替换和删除RMAN存储脚本
RMAN> replace global script backup_ts{ backup tablespace system; };
RMAN> delete script local_backup_db;
RMAN> replace global script backup_ts{ backup tablespace system; };
RMAN> delete script local_backup_db;
四.备份与恢复catalog.
(1).备份恢复目录数据库
一般不要将恢复目录与目标数据库保存在同一个数据库中。
备份恢复目录数据库,Oracle建议的使用配置:
·将数据库的运行模式配置为ARCHIVELOG
·将RMAN参数RETENTION POLICY设置为REDUNDANCY(大于1)
·每次备份目标数据库后,将恢复目录备份到磁盘和磁带中(两个独立的介质类型).
·使用backup database plus archivelog备份恢复目录.
·使用configure controlfile autobackup on确保在每次RMAN备份后备份控制文件。
(1).备份恢复目录数据库
一般不要将恢复目录与目标数据库保存在同一个数据库中。
备份恢复目录数据库,Oracle建议的使用配置:
·将数据库的运行模式配置为ARCHIVELOG
·将RMAN参数RETENTION POLICY设置为REDUNDANCY(大于1)
·每次备份目标数据库后,将恢复目录备份到磁盘和磁带中(两个独立的介质类型).
·使用backup database plus archivelog备份恢复目录.
·使用configure controlfile autobackup on确保在每次RMAN备份后备份控制文件。
(2).丢失恢复目录后进行恢复
如果丢失了恢复目录数据库,可以像恢复其他有备份且运行在archivelog模式的数据库那样,执行恢复操作。
如果未备份恢复目录数据库,使用以下步骤,可以检索目标数据库备份的大多数或全部元数据:
·从头重新创建恢复目录数据库。
·将目标数据库注册到新恢复目录中。
·执行resync catalog操作,复制目标数据库控制文件中的所有可用备份信息。
·使用catalog start with命令,将目标数据库的任何可用备份信息添加到恢复目录中。
由于目标数据库的先前物理备份文件包含目标DBID,而RMAN使用DBID确定恢复目录中的每个数据库,rman catalog start with命令可以方便地将每个备份分配给恢复目录中的相关目标数据库。
如果丢失了恢复目录数据库,可以像恢复其他有备份且运行在archivelog模式的数据库那样,执行恢复操作。
如果未备份恢复目录数据库,使用以下步骤,可以检索目标数据库备份的大多数或全部元数据:
·从头重新创建恢复目录数据库。
·将目标数据库注册到新恢复目录中。
·执行resync catalog操作,复制目标数据库控制文件中的所有可用备份信息。
·使用catalog start with命令,将目标数据库的任何可用备份信息添加到恢复目录中。
由于目标数据库的先前物理备份文件包含目标DBID,而RMAN使用DBID确定恢复目录中的每个数据库,rman catalog start with命令可以方便地将每个备份分配给恢复目录中的相关目标数据库。
(3).导出导入恢复目录
可以和其他数据库一样,可以使用Oracle Data Pump导出导入程序expdp和impdp创建恢复目录的逻辑备份,使用此逻辑备份方法,将恢复目录移到另一个数据库中。
·使用导出程序,将恢复目录模式复制到导出转储文件中。
·创建目标数据库上的恢复目录所有者,并为其分配适当的权限。
·使用相应的导入程序,将恢复目录模式复制到目标目录数据库。
可以和其他数据库一样,可以使用Oracle Data Pump导出导入程序expdp和impdp创建恢复目录的逻辑备份,使用此逻辑备份方法,将恢复目录移到另一个数据库中。
·使用导出程序,将恢复目录模式复制到导出转储文件中。
·创建目标数据库上的恢复目录所有者,并为其分配适当的权限。
·使用相应的导入程序,将恢复目录模式复制到目标目录数据库。