/u01/app/oracle/product/10.1/bin/rman target sys/sys123
一、在数据库没有改变的情况下
1、备份全库及控制文件
run {
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/opt/rmanbak/%F';
allocate channel d1 type disk;
allocate channel d2 type disk;
backup incremental level=0 database format '/opt/rmanbak/d_%T_%s.bak';
release channel d1;
release channel d2;
}
2、拷贝参数文件
$ORACLE_HOME/dbs/spfile{SID}.ora
$ORACLE_HOME/dbs/orapw{SID}
$ORACLE_HOME/network/admin/tnsnames.ora
$ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/sqlnet.ora
环境变量,及归档目录
3、建立相应的admin oradata等文件目录
4、scp /home/sptest/htliu.txt root@133.128.21.84:/home 拷贝
5、恢复控制文件
RMAN> restore controlfile from'/opt/rmanbak/c-4177123655-20101022-01';
6、mount下restore 如果报如下错
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/04/2008 10:31:56
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 24 found to restore
分析原因,应该是找不到备份集来做恢复,用list backup看看恢复集的情况,发现status是expired的.
RMAN> list backup;
用crosscheck backup后状态改为AVAILABLE了.
RMAN> crosscheck backup;
RMAN> restore database;
7、恢复
RMAN> recover database;
Starting recover at 04-JUL-08
using channel ORA_DISK_1
starting media recovery
unable to find archive log
archive log thread=1 sequence=12
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 07/04/2008 11:30:16
RMAN-06054: media recovery requesting unknown log: thread 1 seq 12 lowscn 65089949
报错了,但是没关系,并非严重错误,只是提醒你恢复到一个未知的scn号。如果要避免这个错误,
可以在alter database mount之后,通过set until scn或者set until time命令设置恢复到的scn号
或时间。
打开数据库
RMAN>alter database open resetlogs;
验证一下:
SQL> select status from v$instance;
STATUS
------------
OPEN
------------------------------------------以上是在断开应用服务条件下(切换redo)一致性 执行全备恢复的-----------------------------------
如果是在1号执行全备2号进行恢复 则要把归档日志转移到相应目录下
注意:1、目录相同,否则要rename
2、执行备份或恢复前 多switch log
3、如果在全备后发生了事物则需要把全备时刻到最新的归档日志cp到相应目录,拷贝前多switch log
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ONLYONE_HTLIU/archive/2010/11/12/6004606.aspx
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25088941/viewspace-681849/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25088941/viewspace-681849/