time: 2008/06/26
author:skate
rman在两台主机实现备份,一台是主库,一台是备库,备库和主库是目录完全相同的 ,备库通过resync来实现主备库的数据同步,然后在备库实现rman恢复来实现主备库的数据同步.这两天给新来的dba做培训,发现不能同步,现象与解决步骤如下:
在备库:
RMAN> run {
2> allocate channel ch1 type disk;
3> startup nomount;
4> restore controlfile;
5> sql "alter database mount";
6> restore database;
7> recover database;
8> release channel ch1;
9> }
allocated channel: ch1 channel ch1: sid=210 devtype=DISK
database is already started
Starting restore at 26-JUN-08
released channel: ch1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 06/26/2008 13:11:15 RMAN-06026: some targets not found - aborting restore RMAN-06024: no backup or copy of the control file found to restore
这个问题是控制文件的问题,可以把主库的控制文件出cp到备库,解决步骤
1.在主库
sql > alter database backup controlfile to '/home/oracle/control.ctl,bal';
2.在备库上
rman > restore controlfile from '/home/oracle/control.ctl,bal'
3.在备库上
rman > restore database;
rman > recover database;
直到恢复完毕,
然后打开备库,发现起不来,在alter.log文件有:
Errors in file /home/oracle/admin/omovo/udump/omovo_ora_15888.trc: ORA-30012: undo tablespace 'UNDOTBS2' does not exist or of wrong type
然后更改pfile参数文件的undo名称,以pfile启动数据库,然后创建spfile ,至此数据库恢复完毕,
----end---