這篇文章主要介紹RMAN如何恢復drop purge的表,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
@ORA12C> alter session set nls_date_format='yyyy-mm-dd hh34:mi:ss'; Session altered. SYS@ORA12C> create table t_0920 as select * from dba_objects; Table created. SYS@ORA12C> select count(*) from t_0920; COUNT(*) ----------------- 91691 1 row selected. SYS@ORA12C> select sysdate from dual; SYSDATE ------------------- 2015-09-20 14:17:49 1 row selected. SYS@ORA12C> drop table t_0920 purge; Table dropped. SYS@ORA12C> desc t_0920; ERROR: ORA-04043: object t_0920 does not exist SYS@ORA12C> create table t_09201 as select * from dba_objects; Table created. SYS@ORA12C> select count(*) from t_09201; COUNT(*) ----------------- 91691 1 row selected. SYS@ORA12C> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SYS@ORA12C> startup mount; ORACLE instance started. Total System Global Area 729808896 bytes Fixed Size 2928680 bytes Variable Size 570429400 bytes Database Buffers 150994944 bytes Redo Buffers 5455872 bytes Database mounted.
現在需要把t_0920表恢復過來:
run{ sql "alter session set nls_date_format=''yyyy-mm-dd hh34:mi:ss''"; set until time '2015-09-20 14:17:49'; restore database; recover database; 6> } using target database control file instead of recovery catalog sql statement: alter session set nls_date_format=''yyyy-mm-dd hh34:mi:ss'' executing command: SET until clause Starting restore at 20-SEP-15 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=355 device type=DISK creating datafile file number=2 name=/u01/app/oracle/oradata/ORA12C/t2.dbf 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 /u01/app/oracle/oradata/ORA12C/system01.dbf channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA12C/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA12C/undotbs01.dbf channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ORA12C/example01.dbf channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/ORA12C/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ORA12C/backupset/2015_09_20/o1_mf_nnndf_TAG20150920T120820_bzwd9ntd_.bkp channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ORA12C/backupset/2015_09_20/o1_mf_nnndf_TAG20150920T120820_bzwd9ntd_.bkp tag=TAG20150920T120820 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:01:56 Finished restore at 20-SEP-15 Starting recover at 20-SEP-15 using channel ORA_DISK_1 starting media recovery archived log for thread 1 with sequence 18 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_18_bzwh058r_.arc archived log for thread 1 with sequence 19 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_19_bzwhh60d_.arc archived log for thread 1 with sequence 20 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_20_bzwhzsts_.arc archived log for thread 1 with sequence 1 is already on disk as file /u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwmprks_.arc archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_18_bzwh058r_.arc thread=1 sequence=18 archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_19_bzwhh60d_.arc thread=1 sequence=19 archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_20_bzwhzsts_.arc thread=1 sequence=20 archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwm5k1c_.arc thread=1 sequence=1 archived log file name=/u01/app/oracle/fast_recovery_area/ORA12C/archivelog/2015_09_20/o1_mf_1_1_bzwmprks_.arc thread=1 sequence=1 media recovery complete, elapsed time: 00:00:07 Finished recover at 20-SEP-15 RMAN> alter database open resetlogs; Statement processed
驗證:t_0920 表已經恢復了,t_09201表不存在了。
SYS@ORA12C> select count(*) from t_0920; COUNT(*) ----------------- 91691 1 row selected. SYS@ORA12C> select count(*) from t_09201; select count(*) from t_09201 * ERROR at line 1: ORA-00942: table or view does not exist
以上是“RMAN如何恢復drop purge的表”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。