Oracle rman恢复到异地、异机
http://www.linuxidc.com/Linux/2014-09/106512.htm 原来的Oracle数据库服务器使用rman进行全库的备份,然后再异地的服务器上恢复一模一样的数据库 1.1 原服务器备份数据库 第一步,查看数据库的实例名和DBID connected to target database: DB3 (DBID=2060124769,not open) 第二步,进行全备份 backup AS COMPRESSED BACKUPSET database include current controlfile format '/orabak/db_%d_%T_%s' plus archivelog format '/orabak/arch_%d_%T_%s' ; 第三步,查看数据库文件的位置: /home/oracle/oradata/db3/ 第四步,将备份文件arch_DB3_20140910_8和 db_ DB3_20140910_7复制异机上/home/oracle/orabak 1.2 目标服务器上创建数据库 第一步,创建实例名相同(db3),数据库文件的位置相同(/home/oracle/oradata/db3/)的数据库。 第二步,关闭实例,启动到nomount状态。Sql>startup nomount; 第三步,设置dbid和原数据库dbid相同 rman target/ Recovery Manager: Release 10.2.0.5.0 - Production on Thu Sep 11 19:53:50 2014 Copyright (c) 1982,2007,Oracle. All rights reserved. connected to target database: db3 (not mounted) RMAN> set dbid 2060124769 executing command: SET DBID 第四步,恢复控制文件 RMAN> restore controlfile from '/home/oracle/db_DB3_20140910_7'; Starting restore at 11-SEP-14 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=153 devtype=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete,elapsed time: 00:00:05 output filename=/home/oracle/oradata/db3/db3/control01.ctl output filename=/home/oracle/oradata/db3/db3/control02.ctl output filename=/home/oracle/oradata/db3/db3/control03.ctl Finished restore at 11-SEP-14
第五步,mount数据库 RMAN> alter database mount; database mounted released channel: ORA_DISK_1 第六步,注册从源数据库拷贝过来的备份集到rman中 RMAN> catalog start with '/home/oracle/orabak'; searching for all files that match the pattern /home/oracle/orabak List of Files Unknown to the Database ===================================== File Name: /home/oracle/orabak/arch_DB3_20140910_8 File Name: /home/oracle/orabak/db_DB3_20140910_7 Do you really want to catalog the above files (enter YES or NO)? yes cataloging files... cataloging done 第七步,恢复归档日志 RMAN> restore archivelog all; using channel ORA_DISK_1 archive log thread 1 sequence 6 is already on disk as file /oracle/product/10.2.0.5/dbs/arch1_6_857918757.dbf channel ORA_DISK_1: starting archive log restore to default destination channel ORA_DISK_1: restoring archive log archive log thread=1 sequence=3 channel ORA_DISK_1: reading from backup piece /home/oracle/orabak/arch_DB3_20140910_1 channel ORA_DISK_1: restored backup piece 1 piece handle=/home/oracle/orabak/arch_DB3_20140910_1 tag=TAG20140910T172944 (注:如果不恢复归档日志, RMAN> recover database; Starting recover at 11-SEP-14 starting media recovery unable to find archive log archive log thread=1 sequence=7) 第八步,恢复数据库文件(因为目标数据库和原数据库的数据文件位置相同,所以简单些) RMAN> restore database; channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /home/oracle/oradata/db3/system01.dbf restoring datafile 00002 to /home/oracle/oradata/db3/undotbs01.dbf restoring datafile 00003 to /home/oracle/oradata/db3/sysaux01.dbf restoring datafile 00004 to /home/oracle/oradata/db3/users01.dbf channel ORA_DISK_1: reading from backup piece /home/oracle/orabak/db_DB3_20140910_6 piece handle=/home/oracle/orabak/db_DB3_20140910_6 tag=TAG20140910T173540 第九步,恢复数据库 channel ORA_DISK_1: sid=152 devtype=DISK media recovery complete,elapsed time: 00:00:03 Finished recover at 11-SEP-14 第十步,启动数据库 alter database open resetlogs; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |