數據庫的熱備份與恢復—Oracle

一、聯機熱備份具體步驟:

1)首先以SYSDBA身份連接數據庫,然後執行ARCHIVE LOG LIST命令查看當前數據庫是否處於歸檔模式。
conn system/db888@orcl as SYSDBA
ARCHIVE LOG LIST;

2)如果沒有處於歸檔模式,則設置歸檔日誌的路徑,並將數據庫切換爲歸檔模式。
(1)設置歸檔日誌路徑,如歸檔當前聯機日誌文件至c:\backup\archive_log文件夾和C:\oradata\archive_log文件夾下:
alter system set log_archive_dest_1='location=C:\backup\archive_log';
alter system set log_archive_dest_2='location=C:\oradata\archive_log';

查詢數據庫所有歸檔路徑信息:
SET LINESIZE 300
select destination,binding from v$archive_dest;

(2)將數據庫切換爲歸檔模式:
①關閉數據庫:SHUTDOWN IMMEDIATE
②啓動數據庫到MOUNT狀態:STARTUP MOUNT
③將數據庫設置爲歸檔模式:ALTER DATABASE ARCHIVELOG;
④打開數據庫:ALTER DATABASE OPEN;

3)進行數據庫的熱備份
(1)熱備份:以表空間爲單位備份數據文件
①查看當前數據庫有哪些表空間,以及每個表空間中有哪些數據文件。
SET LINESIZE 200
SELECT tablespace_name,file_name FROM dba_data_files
ORDER BY tablespace_name;

②將需要備份的表空間(如EXAMPLE)設爲備份狀態:
ALTER TABLESPACE EXAMPLE BEGIN BACKUP;
HOST COPY C:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.dbf C:\backup\EXAMPLE01.dbf
ALTER TABLESPACE EXAMPLE END BACKUP;

(2)熱備份:備份控制文件
將控制文件備份到c:\backup下:
ALTER DATABASE BACKUP CONTROLFILE TO 'c:\backup\control.bkp';

(3)熱備份:備份其他物理文件
①歸檔當前的聯機重做日誌文件
ALTER SYSTEM ARCHIVE LOG CURRENT;     或:ALTER SYSTEM SWITCH LOGFILE;

②備份歸檔重做日誌文件
在操作系統中將所有的歸檔重做日誌文件複製到備份文件夾中。

③備份初始化參數文件
在操作系統中將初始化參數文件(在c:\oracle\product\10.2.0\admin\orcl\pfile下)複製到備份文件夾中。


二、表空間級別的完全恢復步驟:

1)模擬數據文件丟失的情況:
首先關閉數據庫:SHUTDOWN IMMEDIATE;
然後將EXAMPLE表空間的數據文件example01.dbf刪除,以模擬example01.dbf損壞進行表空級的完全恢復。
最後啓動數據庫:STARTUP,可以看到數據庫裝載完畢後的出錯信息。

2)數據庫處於打開狀態下的恢復
(1)如果數據庫已經關閉,則將數據庫啓動到MOUNT狀態:STARTUP MOUNT
(2)將損壞的數據文件設置爲脫機狀態(須在歸檔模式下)
ALTER DATABASE DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf' OFFLINE;
(3)將數據庫修改爲打開狀態:ALTER DATABASE OPEN;
(4)將損壞的數據文件所在的表空間脫機
ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER;
(5)將備份的表空間對應的所有數據文件複製到原來的目錄,覆蓋受損的數據文件。這裏爲複製example01.dbf到原來的目錄。
(6)執行表空間恢復命令:RECOVER TABLESPACE EXAMPLE;
(7)將表空間聯機:ALTER TABLESPACE EXAMPLE ONLINE;


三、數據文件級別的完全恢復步驟:

1)模擬數據文件丟失的情況:
首先關閉數據庫:SHUTDOWN IMMEDIATE;
然後將EXAMPLE表空間的數據文件C:\oracle\product\10.2.0\oradata\orcl\example01.dbf刪除,以數據文件example01.dbf損壞爲例模擬數據文件級的完全恢復。
最後啓動數據庫:STARTUP,可以看到數據庫裝載完畢後的出錯信息。

2)數據庫處於打開狀態下的恢復
(1)如果數據庫已經關閉,則將數據庫啓動到MOUNT狀態:STARTUP MOUNT
(2)將損壞的數據文件設置爲脫機狀態
ALTER DATABASE DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf' OFFLINE;
(3)將數據庫修改爲打開狀態:ALTER DATABASE OPEN;
(4)利用備份的數據文件example01.dbf還原損壞的數據文件example01.dbf。
(5)使用RECOVER命令恢復數據文件:RECOVER DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf';
(6)將數據文件設爲聯機狀態:ALTER DATABASE DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf' ONLINE;

 

發佈了21 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章