Oracle資料庫的熱備份與完整恢複測試

來源:互聯網
上載者:User

資料庫熱備份與完整恢複測試: 

1.首先,必需保證資料庫在歸檔模式下。 

2.熱備份資料檔案,通過alter tablespace xxx begin backup把資料表空間設為備份狀態,可以手工或在sql下運行host copy把資料檔案複製到指定地方,最後把資料表空間改為正常狀態(alter tablepace xxx end backup)。 

3.資料庫恢複:使用語句rcover datafile,alter database open即可以實現資料庫的完整恢複。 

具體的步驟如下: 

SQL> conn / as sysdba 

已串連。 

//確定資料庫在歸檔模式下。 

SQL> select log_mode from v$database; 

LOG_MODE 

------------ 

ARCHIVELOG 

//查詢資料表空間對應的資料檔案,一般資料表空間名跟對應資料檔案名是相同的,可以跳過這一步。 

SQL> select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile 

2 where v$tablespace.ts#=v$datafile.ts#; 

NAME 

------------------------------ 

NAME 

-------------------------------------------------------------------------------- 

SYSTEM 

F:\ORACLE\ORADATA\EBOOK\SYSTEM01.DBF 

UNDOTBS1 

F:\ORACLE\ORADATA\EBOOK\UNDOTBS01.DBF 

CWMLITE 

F:\ORACLE\ORADATA\EBOOK\CWMLITE01.DBF 

DRSYS 

F:\ORACLE\ORADATA\EBOOK\DRSYS01.DBF 

EXAMPLE 

F:\ORACLE\ORADATA\EBOOK\EXAMPLE01.DBF 

INDX 

F:\ORACLE\ORADATA\EBOOK\INDX01.DBF 

ODM 

F:\ORACLE\ORADATA\EBOOK\ODM01.DBF 

TOOLS 

F:\ORACLE\ORADATA\EBOOK\TOOLS01.DBF 

USERS 

F:\ORACLE\ORADATA\EBOOK\USERS01.DBF 

XDB 

F:\ORACLE\ORADATA\EBOOK\XDB01.DBF 

 

已選擇10行。 

 

//將資料表空間設為備份狀態. 

SQL> alter tablespace system begin backup; 

資料表空間已更改。 

//將資料檔案備份到目錄f:\oracle\backuparea下. 

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

已複製 1 個檔案。 

SQL> alter tablespace system end backup; 

資料表空間已更改。 

//建表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’;  介質恢複完成。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.