RMAN简明教程之七——恢复目录与恢复目录的使用

  Oracle版本9因为控制文件的自动备份,可以很大程度成不需要使用恢复目录,但是使用恢复目录的也有如下好处
·有些命令只被恢复目录支持(对于9i来说,也就是专门操作恢复目录的语句而已)
·能保留更多的历史备份信息
·一个恢复目录能管理与备份多个目标数据库
·如果在9i以前,丢失控制文件而没有恢复目录将是难以恢复的
·如果没有恢复目录,而且发生了结构上的改变,时间点的恢复需要小心操作
·能存储备份与恢复的脚本
      可以看到,主要是可以保留更多的备份信息与方便的管理多个目标数据库,这个在众多目标数据库的情况下,是可以考虑的。  

一、创建恢复目录
      注意,恢复目录不要与目标数据库在同一台机器上,而且大小要求比较小。
SQL> create user RMAN identified by RMAN
2 temporary tablespace TEMP
3 default tablespace RCVCAT
4 quota unlimited on RCVCAT;
SQL> grant recovery_catalog_owner to RMAN;
RMAN> create catalog
RMAN> register database;
恢复目录可以采用如下命令升级与删除
RMAN> UPGRADE CATALOG;
RMAN> DROP CATALOG;
二、恢复目录管理
恢复目录支持如下的命令
{CREATE|UPGRADE|DROP} CATALOG
{CREATE|DELETE|REPLACE|PRINT} SCRIPT
LIST INCARNATION
REGISTER DATABASE
REPORT SCHEMA AT TIME
RESET DATABASE
RESYNC CATALOG
1、Resync命令
Resync可以同步数据库与恢复目录之间的信息,在实际情况下,rman一般可以自动同步。
在如下情况下需要同步
·数据库物理结构的改变
·数据文件增加或者是改变大小
·表空间删除
·回滚段的创建与删除
·每产生10个归档日志
2、Reset  命令
目标数据库resetlogs之后,需要重新设置恢复目录。Reset命令就用来重新设置恢复目录。
三、恢复目录视图
恢复目录本身有一组视图,用于存放目标数据库与备份信息,如恢复目录的相关视图
RC_DATABASE
RC_DATAFILE
RC_STORED_SCRIPT   20
RC_STORED_SCRIPT_LINE
RC_TABLESPACE
可以通过如下命令来查看相关信息
select * from rc_database;
四、存储脚本
存储脚本

RMAN> creata script level0backp{
       backup
       incremental level 0
       format '/u01/db01/backup/%U'
       filesperset 5
       database plus archivelog delete input;
       sql 'alter database archive log current';
       }
执行脚本
RMAN> run {execute script Level0backup;}
更新脚本
RMAN> replace script level0backup{
      ……
       }
删除脚本
RMAN> delete script Level0backup;
查看脚本
RMAN> print script level0backup; 
 
一个实用脚本,包括备份RAC数据库与归档日志的 shell脚本
[oracle@db worksh]$ more rmanback.sh 
#!/bin/sh
#set env
export ORACLE_HOME=/opt/oracle/product/9.2
export ORACLE_SID=db2in1
export NLS_LANG="AMERICAN_AMERICA.zhs16gbk"
export PATH=$PATH:$ORACLE_HOME/bin:/sbin:/usr/sbin
 
echo "-----------------------------start-----------------------------";date
#backup start
$ORACLE_HOME/bin/rman <<EOF
connect target
delete noprompt obsolete;
backup database include current controlfile format '/rmanback/db2/%U_%s.bak' filesperset = 2;
 
run{
ALLOCATE CHANNEL node_c1 DEVICE TYPE DISK CONNECT
'sys/pass@db1in1';
ALLOCATE CHANNEL node_c2 DEVICE TYPE DISK CONNECT
'sys/pass@db2in2';
sql 'ALTER SYSTEM ARCHIVE LOG CURRENT';
backup archivelog all delete input format '/ rmanback/db2/%U_%s.bak' filesperset = 5;
}
 
list backup;
exit;
EOF
echo "------------------------------end------------------------------";date

 

转自:http://blog.csdn.net/newhappy2008/article/details/6769185

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值