执行整个数据库的完全恢复
这里假设数据库trgt丢失了大部分或所有的数据文件,并且数据库使用快速恢复区。
在整个数据库的还原和恢复之后,当数据库打开时,在控制文件中记录的丢失的临时表空间会使用之前的大小、AUTOEXTENT、MAXSIZE属性重新被创建。
只有丢失的临时表空间被重新创建。
如果临时文件存在于RMAN库中记录的位置上,但具有无效的header,则RMAN不会重新创建这个临时文件。
如果临时文件是以OMF创建的,则被重新创建在DB_CREATE_FILE_DEST位置上,否则在它之前的位置被创建。
如果RMAN因为I/O错误或其它原因不能重建这个文件,则会在预警日志中报告错误,且数据打开操作继续执行。
练习:还原和恢复整个数据库
--1. 启动RMAN并连接到目标数据库,RMAN显示它连接到数据库时的状态 -- not started, not mounted, not open(数据库已经mount但没open), none(已经opne) % rman RMAN> CONNECT TARGET /
--2. 如果数据库没有被mount,则mount它 STARTUP MOUNT; --3. 使用SHOW命令查看预先配置的channel -- 如果需要的设备和通道已经被配置了,则不需要其它的操作;否则 使用CONFIGURE命令配置自动通道或在RUN块中包含ALLOCATE CHANNEL命令 SHOW ALL;
RMAN configuration parameters for database with db_unique_name PROD1 are: . . . CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS "SBT_LIBRARY=/usr/local/oracle/backup/lib/libobk.so"; --4. 如果还原口令加密的备份,则指定口令; 如果使用了多个不同的口令创建备份,则需要执行SET DECRYPTION IDENTIFIED BY多次 -- 指定还原备份可能需要的所有口令。 SET DECRYPTION IDENTIFIED BY password; --5. 还原和恢复数据库 --5.1 如果还原所有的数据文件到原始的位置,则顺序地执行RESTORE DATABASE和RECOVER DATABASE RMAN> RESTORE DATABASE;
Starting restore at 20-JUN-06 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=35 device type=DISK allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=34 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup
channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /disk1/oracle/dbs/tbs_01.f channel ORA_DISK_1: restoring datafile 00002 to /disk1/oracle/dbs/tbs_ax1.f . . . Finished restore at 20-JUN-06
RMAN> RECOVER DATABASE;
Starting recover at 20-JUN-06 using channel ORA_DISK_1 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=34 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup
starting media recovery
channel ORA_DISK_1: starting archived log restore to default destination channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=5 channel ORA_DISK_1: restoring archived log archived log thread=1 sequence=6 . . . channel ORA_DISK_1: reading from backup piece /disk1/oracle/work/orcva/TKRM/backupset/2007_06_20/o1_mf_annnn_TAG20070620T113128_29jhr197_.bkp channel ORA_DISK_1: piece handle=/disk1/oracle/work/orcva/TKRM/backupset/2007_06_20/o1_mf_annnn_TAG20070620T113128_29jhr197_.bkp tag=TAG20070620T113128 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 archived log file name=/disk1/oracle/work/orcva/TKRM/archivelog/2007_06_20/o1_mf_1_5_29jhv47k_.arc thread=1 sequence=5 channel default: deleting archived log(s) . . . media recovery complete, elapsed time: 00:00:15 Finished recover at 20-JUN-06
--5.2 如果手动地分配通道,则必须在一个RUN块中执行RESTORE和RECOVER命令 RUN { ALLOCATE CHANNEL c1 DEVICE TYPE sbt; RESTORE DATABASE; RECOVER DATABASE; }
--5.3 还原数据文件到新的位置,则必须在RUN块中执行RESTORE和RECOVER命令,使用SET NEWNAME来重命名数据文件。 RUN { SET NEWNAME FOR DATAFILE 2 TO '/disk2/df2.dbf'; SET NEWNAME FOR DATAFILE 3 TO '/disk2/df3.dbf'; SET NEWNAME FOR DATAFILE 4 TO '/disk2/df4.dbf'; RESTORE DATABASE; SWITCH DATAFILE ALL; RECOVER DATABASE; } --6. 检查输出来确定介质恢复是否成功,如果成功打开数据库 ALTER DATABASE OPEN; |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1093859/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1093859/