insert /*+ append */於report unrecoverable命令實驗。

wei-xh發表於2010-06-07
report unrecoverable:rman的命令,用於列出哪些資料檔案包含不可以恢復的操作。

insert /*+ append */ : 直接路徑插入。


資料庫出於歸檔模式:
SQL> create table a_t as select * from dba_objects;

表已建立。

已用時間:  00: 00: 00.87
SQL> insert /*+ append */ into a_t select * from dba_objects;

已建立46647行。

已用時間:  00: 00: 00.73
SQL> commit;

提交完成。

已用時間:  00: 00: 00.00

RMAN> report unrecoverable ;

由於操作無法被恢復, 檔案的報表需要備份
備份請求名稱的檔案型別
---- ----------------------- -----------------------------------

把表改成nologging。

SQL> alter table a_t nologging;

表已更改。

已用時間:  00: 00: 00.08
SQL> insert /*+ append */ into a_t select * from dba_objects;

已建立46647行。

已用時間:  00: 00: 00.66
SQL> commit;

提交完成。

已用時間:  00: 00: 00.01

RMAN> report unrecoverable ;

由於操作無法被恢復, 檔案的報表需要備份
備份請求名稱的檔案型別
---- ----------------------- -----------------------------------
37   full or incremental     /dev/vg_data2/rlvepm_dat11
38   full or incremental     /dev/vg_data2/rlvepm_dat12
39   full or incremental     /dev/vg_data2/rlvepm_dat13
40   full or incremental     /dev/vg_data2/rlvepm_dat14
41   full or incremental     /dev/vg_data2/rlvepm_dat15
42   full or incremental     /dev/vg_data2/rlvepm_dat16


實驗證明在歸檔模式下,表如果沒有置於nologging模式,即使採取insert /*+ append */ ,也會產生日誌,資料檔案是可以恢復的。
只有在表是nologging模式,採取insert /*+ append */ ,才會不產生日誌,透過report unrecoverable命令可以找到這些檔案需要備份,否則不可以完成恢復。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-664602/,如需轉載,請註明出處,否則將追究法律責任。

相關文章