备份和恢复 Oracle 11g - 学习笔记 4-2

B28270-01
第四部分 管理RMAN备份
  第十二章 管理恢复目录

第十二章 管理恢复目录
(五)创建执行动态存储脚本
           create script命令支持带入参数。执行rman时使用using传入参数。
          1. 创建文件catscript.rman
create script. quarterly
{
  allocate channel c1
  device type sbt
  parms 'ENV=(OB_MEDIA_FAMILY=&1)';
backup
 tag &2
 format '/disk/back/&1%U.bk'
 keep forever
 restore POINT &3
 database;
}

         2. 执行脚本
             >RMAN target sys/password@target catalog rman/rman@catalog using arc_backup bk0906 fy0603

       3. 执行脚本
           RMAN>@/catscript.rman 

(六)显示存储脚本
           PRINT SCRIPT显示脚本内容或把写到一个文件。

          1. 连接目标数据库和恢复目录
              >RMAN target sys/password@target catalog rman/rman@catalog

          2. 执行PRINT SCRIPT命令
             *显示本地脚本内容
              RMAN>PRINT SCRIPT. full_backup; 
            *把本地脚本内容写到文件
              RMAN>PRINT SCRIPT. full_backup
                          to file '/my_script_file.txt';
           *显示全局脚本内容
             RMAN>PRINT GLOBAL SCRIPT. full_backup;
           *把本地脚本内容写到文件
             RMAN>PRINT GLOBAL SCRIPT. full_backup
                          to file '/my_script_file.txt';

(七)列出存储脚本的名字
         1. 连接目标数据库和恢复目录
             >RMAN target sys/password@target catalog rman/rman@catalog

         2. 列出脚本的名字
            RMAN>LIST SCRIPT. NAMES;
            RMAN>LIST GLOBAL SCRIPT. NAMES;
            RMAN>LIST ALL SCRIPT. NAMES;

(八)删除脚本
         1. 连接目标数据库和恢复目录
             >RMAN target sys/password@target catalog rman/rman@catalog

         2. 删除脚本
             RMAN>delete script. 'full_backup';
             RMAN>delete global script. 'global_full_backup';

(九)在RMAN启动的时候执行存储脚本
           >RMAN target sys/password@target catalog rman/rman@catalog SCRIPT. '/fbkp.cmd';

八 、维护恢复目录
(一)关于恢复目录的维护
          在创建恢复目录并注册数据库之后,你需要维护这个目录。删除无用的备份记录,更
          新备份记录。还有就是更新恢复目录schema。

(二)再同步恢复目录
          当RMAN执行resynchronization再同步时,它压缩恢复目录到当前的或是备份的控制文件。
          并且用丢失或是改变的元数据更新目录。当目标数据库被挂载并且目录可用时,RMAN将自
          动执行再同步。在Data Guard环境中RMAN可以执行reverse resynchronization反向再同步。
          用目录中的元数据更新数据库的控制文件。

         1. 关于恢复目录的再同步
             恢复目录的再同步确保了RMAN获得元数据是从当前的控制文件取得的。再同步包括部分和
             完全再同步。

            部分再同步 partial resynchronization
            RMAN读取当前目标数据库的控制文件更新那些新的备份,新的归档重做日志等改变的元数据。
            RMAN不更新那些和数据库物理schema相关的元数据。

            完全再同步full resynchronization
            RMAN更新所有改变的记录,包括关于数据库schema的。RMAN在数据库结构发生变化后(添加
            或是删除数据文件,创建新的化身等)或是改变RMAN永久配置。

            控制文件快照
            当执行完全再同步时RMAN创建一个控制文件快照,它是一个临时的备份控制文件。数据库确保同
            一时间只有一个RMAN会话访问控制文件快照。快照被创建到目标数据库主机上。这个快照确保RMAN
            拥有一个一致的控制文件视图。因为控制文件用于短期使用,它不会被注册到目录中。RMAN在恢
            复目录中记录控制文件检查点用于指定目录的流通时间。

            Data Guard环境中再同步恢复目录
            RMAN只在作为TARGET连接数据库之后自动对恢复目录执行再同步。也就是只针对那个连接的目标
            数据库,并不会更新Data Guard环境中的所有数据库。如果想更新其他的数据库用
            RESYNC CATALOG FROM DB_UNIQUE_NAME手动的再同步。

         2. 决定什么时候执行再同步
            因为RMAN可以自动的执行再同步操作,所以不需要经常的时候用RESYNC CATALOG经常的进行
           同步。下面介绍需要手动执行的情况。

           恢复目录不可用之后
           当执行RMAN命令的时候,如果恢复目录是不可用的,那么会引起部分再同步。然后打开恢复目录
           数据库,用RESYNC Catalog命令手动再同步。

           在归档模式下不经常备份
           假设一个目标数据库在归档模式下,同样假设:
           *不经常备份数据库
           *产生大量的日志切换每天
           在这种情况下,你可能希望有规律地手动再同步恢复目录,因为当重做日志被切换或被归档时恢复
           目录不能被自动更新,数据库只在控制文件中存储关于重做日志切换和归档重做日志的元数据。为
           了把这些信息更新到恢复目录中,必须周期执行再同步。执行再同步的频率取决于数据库归档重做
           日志生产的频率。

           配置一个Standby数据库之后
           对于一个Standby数据库,在没有作为Target连接时,可以创建或者改变RMAN配置。

           在控制文件过期之前
           目标是确保恢复目录中的数据是最新的,因为恢复目录从目标控制文件获得元数据。恢复目录中当前
           的数据依赖于控制文件当前的数据,需要确保在控制文件中的备份元数据在他被新的记录覆盖之前被
          记录到恢复目录中。

          CONTROL_FILE_RECORD_KEEP_TIME参数决定了控制文件中记录被覆盖之前保存最少天数。这样
          必须在控制文件记录被删除前进行再同步。你必须在小于CONTROL_FILE_RECORD_KEEP_TIME的
          情况下执行下面其中一个操作:
             -做备份,隐式的执行再同步
             -手动执行再同步

         当然如果控制文件太大就会产生另外的问题,控制文件的大小取决于:
             -执行的备份
             -数据库产生的归档重做日志
             -信息存储在控制文件中的天数
         如果控制文件变得太大(到达块的最大数或是记录的最大数),那么最旧的信息就可能在小于
         CONTROL_FILE_RECORD_KEEP_TIME的情况下被删除。在这种情况下

        3. 手动执行再同步情况
           在Data Guard环境中你可以使用RESYNC FROM DB_UNIQUE_NAME或ALL再同步一个或是所有数据库。
            例:
RESYNC CATALOG;
RESYNC CATALOG FROM DB_UNIQUE_NAME standby1;
RESYNC CATALOG FROM DB_UNIQUE_NAME ALL;

(三)改变DB_UNIQUE_NAME后更新恢复目录
           在Data Guard环境中你可能会改变DB_UNIQUE_NAME,你可以使用CHANGE DB_UNIQUE_NAME
           命令关联旧的元数据库到新的DB_UNIQUE_NAME。注意这个命令不会更新数据库本身的DB_UNIQUE_NAME。
           它只是更新恢复目录而已。
例:
主数据库:prodny
standby数据库:prodsf1 -> prodsf2

>rman
RMAN>connect catalog rman/rman@catalog
RMAN>connect target sys/oracle123@prodny
RMAN>list DB_UNIQUE_NAME OF DATABASE;
RMAN>CHANGE DB_UNIQUE_NAME FROM prodsf1 TO prodfs2;

(四)从恢复目录中取消一个数据库的注册
          你可以使用UNREGISTER DATABASE命令取消一个数据库的注册。这样将删除在恢复目录中这个
          数据库相关的信息。但是不会删除目标控制文件中的信息。

        1. 取消一个没有在Data Guard中的数据库的注册
            >rman target sys/password@target catalog rman/rman@catalog
           连接目标数据库不是必要的,但是如果不连接的话就需要在取消注册时指定数据库的名字。
           如果恢复目录中有重名的数据库,那么就必须在RUN块中使用SET DBID。

           RMAN>unregister database;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/563971/viewspace-237935/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/563971/viewspace-237935/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值