Oracle歸檔模式的切換
我們大家都知道在Oracle資料庫的實際的測試環境與相關的開發環境中,Oracle資料庫的實際應用日誌模式與自動Oracle歸檔模式在一般的情況下是不設定的,其主要目的是利於系統應用的調整,也免的生成大量的歸檔日誌檔案將磁碟空間大量的消耗。
但在系統上線,成為生產環境時,將其設定為日誌模式並自動歸檔就相當重要了,因為,這是保證系統的安全性,有效預防災難的重要措施。
這樣,通過定時備份資料庫和在兩次備份間隔之間的日誌檔案,可以有效的恢復這段時間的任何時間點的資料,可以在很多時候挽回或最大可能的減少資料丟失。雖然Oracle資料庫的日誌模式和自動歸檔設定並不複雜,但其中的一些概念和操作過程還是容易混淆的,現在根據本人的經驗,分析介紹如下,所用環境為UNIX(HPUX,SOLARIES,AIX,TRU64UNIX)和Oracle8.
一要使OARCLE資料庫進行日誌的'自動歸檔,需要做兩方面的事情,一是資料庫日誌模式的設定(database log mode,可為Archive Mode和No Archive Mode),另外就是自動Oracle歸檔模式設定(Automatic archival,可為Enabled和Disabled)。二如何檢視資料庫的現行日誌和自動Oracle歸檔模式的設定:
可用archive log list命令來檢視。
例如:
執行在日誌自動Oracle歸檔模式下的資料庫系統檢視結果如下(一般是生產環境)
GR> archive log list
base log mode Archive Mode
matic archival Enabled
ive destination/backup/archivelog
st online log sequence 2131
log sequence to archive 2133
ent log sequence 2133
沒有啟動資料庫日誌模式和自動歸檔的資料庫系統檢視結果如下(一般是測試環境)
GR> archive log list
base log mode No Archive Mode
matic archival Disabled
ive destination/u01/app/Oracle/product/8.0.5/dbs/arch
st online log sequence 194
ent log sequence 196
三資料庫日誌模式的設定
在建立資料庫時,可以在CREATE DATABASE 語句中指定資料庫的日誌模式。假如沒有指明,則預設為NOARCHIVELOG模式。由於如果在建立資料庫時指明是Archive Mode的話,會增加約20%的建立時間,而在以後啟動INSTANCE時再設定的話,一般只用去幾秒的時間,所以一般在建立資料庫時是不設定為 ARCHIVE MODE的。
如要確定一系統資料庫的日誌模式設定,除了(二)中的方法外也可以執行如下操作檢視:
GR> Select * from V$DATABASE
CREATEDLOG_MODE CHECKPOINT ARCHIVE_CH
05/21/97 17:55:06 NOARCHIVELOG 172185 170808
將資料庫的日誌模式設定Oracle歸檔模式的切換(Archive Mode 和No Archive Mode之間的切換)的步驟和操作如下:
1. 關閉執行的資料庫例項
GRL> shutdown
在進行日誌模式切換之前,必須將執行的資料庫正常關閉。
2. 備份資料庫
該備份跟以後產生的日誌一起用於將來的災難恢復(很重要,如要改為歸檔日誌模式,沒有這個資料庫備份,僅有日誌檔案是無法從該時間點恢復的)。
3. 啟動資料庫例項到mount狀態,但不要開啟。
GRL> startup mount
注意:如果是使用OPS的話,請只打開一個數據庫例項進行模式Oracle歸檔模式的切換操作。
4. 切換資料庫日誌模式。
GRL> alter database archivelog;
(設定資料庫為歸檔日誌模式)
或
GRL> alter database noarchivelog;
(設定資料庫為歸檔日誌模式)
5. 開啟資料庫
GRL> alter database open;