Oracle資料庫的熱備份與完整恢復測試 (2)

idba發表於2008-04-16
 

//建表test的目的為測試此恢復是否是完整恢復。

SQL> create table scott.test(t int);

表已建立。

SQL> insert into scott.test values(1);

已建立 1 行。

SQL> insert into scott.test values(2);

已建立 1 行。

SQL> commit;

提交完成。

SQL> shutdown immediate

資料庫已經關閉。

已經解除安裝資料庫。

ORACLE 例程已經關閉。

//刪除system01.dbf或移動到其他目錄造成資料庫崩潰。

SQL> startup

ORACLE 例程已經啟動。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

資料庫裝載完畢。

ORA-01157: 無法標識/鎖定資料檔案 1 - 請大家參閱 DBWR 跟蹤檔案

ORA-01110: 資料檔案 1: 'F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF'

//將備份的資料檔案複製回目錄f:\oracle\oradata\ebook\下.

SQL> $ copy f:\oracle\backuparea\system01.dbf f:\oracle\oradata\ebook\

已複製 1 個檔案。

//恢復資料檔案system01.dbf。

SQL> recover datafile 'f:\oracle\oradata\ebook\system01.dbf';

完成介質恢復。

SQL> alter database open;

資料庫已更改。

//此說明資料庫是完整恢復了。

SQL> select * from scott.test;

T

----------

1

2

總結:

1.熱備份必須在資料庫歸檔模式下進行

2.在備份的同時,資料庫的使用者可以進行操作。因此,資料庫對應的物理檔案的內容是不斷變化的,對這些物理檔案內容的更新是保留到有關操作已經寫到重做日至檔案中

後再進行。(這句引自別人敘述,我對後半句正確與否存在疑問,希望大家討論)。

3.歸檔日誌必須是備份後的所有日至才可以實現資料庫的完全恢復。

4.可以備份除臨時檔案以外的所有資料檔案,如果在恢復過程中,發現損壞的是多個資料檔案,即可以採用一個一個資料檔案的恢復方法

5。 特別當損壞的不是系統表空間,可以先將損壞的表空間檔案離線,這時可以在恢復損壞檔案前開啟

資料庫,再完成恢復。例如:

SQL> alter tablespace tools begin backup;

表空間已更改。

SQL> $ copy f:\oracle\oradata\ebook\tools01.dbf f:\oracle\backuparea

已複製 1 個檔案。

SQL> alter tablespace tools end backup;

表空間已更改。

SQL> shutdown immediate

資料庫已經關閉。

已經解除安裝資料庫。

ORACLE 例程已經關閉。

//刪除tools01.dbf造成資料庫無法正常啟動.

SQL> startup

ORACLE 例程已經啟動。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

資料庫裝載完畢。

ORA-01157: 無法標識/鎖定資料檔案 8 - 請參閱 DBWR 跟蹤檔案

ORA-01110: 資料檔案 8: 'F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF'

SQL> alter database datafile 'f:\oracle\oradata\ebook\tools01.dbf' offline;

資料庫已更改。

SQL> alter database open;

資料庫已更改。

SQL> $ copy f:\oracle\backuparea\tools01.dbf f:\oracle\oradata\ebook\

已複製 1 個檔案。

SQL>recover datafile 'f:\oracle\oradata\ebook\tools01.dbf';

介質恢復完成。

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

相關文章