oracle11g的冷熱備份


1.冷備份

    如果數據庫可以正常關閉,而且允許關閉足夠長的時間,那么就可以采用冷備份(脫機備份),可以是歸檔冷備份,也可以是非歸檔冷備份。其方法是首先關閉數據庫,然后備份所有的物理文件,包括數據文件、控制文件、聯機重做日志文件等。

在SQL*Plus環境中進行數據庫冷備份的步驟如下:

(1)啟動SQL*Plus,以SYSDBA身份登陸數據庫。

(2)查詢當前數據庫所有數據文件、控制文件、聯機重做日志文件的位置。

 SQL>SELECT file_name FROM dba_data_files;

 SQL>SELECT member FROM v$logfile;

 SQL>SELECT value FROM v$parameter WHERE name=’control_files’;

(3)關閉數據庫。

 SQL>SHUTDOWN IMMEDIATER

(4)復制所有數據文件、聯機重做日志文件以及控制文件到備份磁盤。可以直接在操作系統中使用復制、粘貼方式進行,也可以使用下面的操作系統命令完成:

 SQL>HOST COPY 原文件名稱  目標路徑名稱

(5)重新啟動數據庫

 SQL>STARTUP

冷備份優點:

 只需拷貝文件即可,是非常快速的備份方法。

 只需將文件再拷貝回去,就可以恢復到某一時間點上。

 與數據庫歸檔的模式相結合可以使數據庫很好地恢復。

 維護量較少,但安全性確相對較高。

 

2.熱備份

雖然冷備份簡單、快捷,但是在很多情況下,例如數據庫運行於24*7狀態時(每天工作24小時,每周工作7天),沒有足夠的時間可以關閉數據庫進行冷備份,這時只能采用熱備份。

熱備份是數據庫在歸檔模式下進行的數據文件、控制文件、歸檔日志文件等的備份。

在SQL*Plus環境中進行數據庫完全熱備份的步驟如下:

(1)啟動SQL*Plus,以SYSDBA身份登陸數據庫。

(2)將數據庫設置為歸檔模式。

由於熱備份是數據庫處於歸檔模式下的備份,因此在熱備份之前需要保證數據庫已經處於歸檔模式。可以執行ARCHIVE LOG LIST命令,查看當前數據庫是否處於歸檔日志模式。如果沒有處於歸檔日志模式,需要先將數據庫轉換為歸檔模式,並啟動自動存檔。

(3)以表空間為單位,進行數據文件備份。

① 查看當前數據庫有哪些表空間,以及每個表空間中有哪些數據庫文件。

 SQL>SELECT tablespace_name,file_name FROM dba_data_files

     ORDER BY tablespace_name;

② 分別對每個表空間中的數據文件進行備份,其方法為:

  1. 將需要備份的表空間(如USERS)設置為備份狀態。

 SQL>ALTER TABLESPACE USERS BEGIN BACKUP;

  1. 將表空間中所有的數據文件復制到備份磁盤。

 SQL>HOST COPY

     E:\app\admin\product\11.2.0\dbhome_1\oradata\ORCL\USERS01.DBF

     E;\app\admin\backup\USERS01.DBF

  1. 結束表空間的備份狀態。

 SQL>ALTER TABLESPACE USERS END BACKUP;

對數據庫中所有表空間分別采用該步驟進行備份。

(4)備份控制文件

通常應該在數據庫物理結構做出修改之后,如添加、刪除或重命名數據文件,添加、刪除或修改表空間,添加或刪除重做日志文件和重做日志文件組等,都需要重新備份控制文件。

① 將控制文件備份為二進制文件。

 SQL>ALTER DATABASE BACKUP CONTROLFILE TO ‘E;\app\admin\backup\CONTROL.BKP’;

② 將控制文件備份為文本文件。

 SQL>ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

(5)備份其他物理文件

① 歸檔當前的聯機重做日志文件。

 SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

歸檔當前的聯機重做日志文件,也可以通過日志切換完成。

 SQL>ALTER SYSTEM SWITCH LOGFILE;

② 備份歸檔重做日志文件,將所有的歸檔重做日志文件復制到備份磁盤中。

③ 備份初始化參數文件,將初始化參數文件復制到備份磁盤中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM