一、檢視資料庫執行模式
可以用超級使用者(internal)在sqlplus中使用命令archive log list檢視
sql> archive log list
database log mode no archive mode
automatic archival disabled
archive destination /export/home/oracle/product/8.1.7/dbs/arch
oldest online log sequence 28613
current log sequence 28615
或者用:
sql> select name,log_mode from v$database;
name log_mode
-------- ------------
bigsun noarchivelog
如看到如上情況,則證明是非歸檔(noarchivelog)模式。
二、關閉資料庫
sql> shutdown immediate
三、設定相應的初始化引數
1、設定歸檔路徑
a)log_archive_dest和log_archive_duplex_dest引數
這兩個引數指明了歸檔日誌存放的兩個路徑,如果只設定第乙個,則歸檔日誌只存放到乙個路徑。
例:
log_archive_dest=/disk1/archive
log_archive_duplex_dest=/disk2/archive
b)log_archive_dest_n引數
其中n為1-5的整數,必需從低到高設定,下面舉例說明:
log_archive_dest_1="location=/archive mandatory reopen"
log_archive_dest_2="service=standby_db1 mandatory reopen=600"
log_archive_dest_3="location=/archive2 optional"
location關鍵字說明是本機的乙個目錄,而service關鍵字說明是已經在net8中進行了配置的其他資料庫主機的別名。
mandatory關鍵字說明聯機日誌檔案必須要成功歸檔到這個目錄後才能被覆寫(聯機日誌檔案是重複使用的檔案)。預設為可選(optional),即即使歸檔不成功也可以覆寫。在設定時應該至少有乙個本地(location)強制(mandatory)歸檔目錄。
reopen關鍵字說明如果歸檔不成功時系統要重新嘗試歸檔,預設每300秒嘗試一次直到成功。可以通過=n來指定嘗試的時間間隔,如log_archive_dest_2中的時間間隔為600秒,而log_archive_dest_1中的時間間隔為300秒。
a)和b)兩種方式是排斥的,即只能設定其中的一種,a)和b)的不同之處在於:
a)最多只能設定2個歸檔路徑,而b)最多可設定5個。
a)中只能指定本地目錄,b)中可指定遠端服務目錄。
如果使用a)方式,則log_archive_dest是強制(mandatory)歸檔目錄,而log_archive_duplex_dest為可選(optional)目錄。
a)中不能使用reopen關鍵字。
所以推薦使用b)方式。
2、設定歸檔日誌檔名格式
例:
log_archive_format=arch%s.arc
其中%s為日誌序列號,則生成的歸檔日誌檔名為arch001.arc、arch002.arc等。
3、設定最小歸檔成功數
例:
log_archive_min_succeed_dest=2
此引數說明至少有2個歸檔路徑歸檔成功後才能覆寫聯機日誌檔案,此引數和歸檔路徑引數聯用。
如歸檔路徑引數設定為:
log_archive_dest_1="location=/archive mandatory reopen"
log_archive_dest_2="service=standby_db1 optional"
log_archive_dest_3="location=/archive2 optional"
則log_archive_dest_1必須歸檔成功(mandatory),log_archive_dest_2、 log_archive_dest_3中必須有乙個歸檔成功(log_archive_min_succeed_dest=2)後才能覆寫聯機日誌檔案。同樣,如果log_archive_dest_n中的mandatory關鍵字個數大於log_archive_min_succeed_dest,則 log_archive_min_succeed_dest的設定不起作用。
4、控制歸檔路徑是否可用
例:
log_archive_dest_state_1=defer
log_archive_dest_state_2=enable
此引數和log_archive_dest_n引數配對使用,預設值為enable,如果想停止使用乙個歸檔目錄,只需將其對應的log_archive_dest_state_n引數值設定為defer。
5、實現自動歸檔(可選)
log_archive_start=true
log_archive_max_processes=2
在oracle中,自動歸檔的程序名為arc0、arc1等,log_archive_start引數說明是否採用自動歸檔,值為true表示採用,為 false時必須採用命令來手工備份。log_archive_max_processes表示在log_archive_start為true時執行幾個歸檔程序來完成歸檔工作,取值範圍為1-10。
補充說明:(
設定系統自動歸檔
《手工設定自動歸檔
1.archive log start.
臨時把自動歸檔開啟,如果要永久自動歸檔,需要設定引數 log_archive_start
多歸檔程序
增加或者減少歸檔程序,修改引數:log_archive_max_processes
alter system set log_archive_max_processes=2
例項啟動後啟用自動歸檔
alter system archive log start.這是個sql命令,遵循oracle sql標準的命令,可以在oracle的一切環境下使用,如jdbc。
在sqlplus中直接使用 archive log start. 叫做sqlplus命令,在sqlplus工具下使用的。
手動歸檔:
alter system archive log current.
) 四、更改資料庫執行模式
在sqlplus中執行命令:
sql> startup mount
sql> alter database archivelog;
sql> alter database open;
至此,模式轉化工作已經大功告成。但需要注意的是,由於更改了資料庫結構,如有資料庫安全方面的需要,必須關閉資料庫並完全備份。
====補充10g中設定自動歸檔模式
在pfile中增加
*.log_archive_dest_1="location=d:\oracle\product\10.1.0\arc1"
*.log_archive_dest_2="location=d:\oracle\product\10.1.0\arc2"
*.log_archive_max_processes=2
startup mount的時候
alter database archivelog;
如果是oracle9i,還需要更改如下引數:
alter system set log_archive_start=true scope=spfile;
ora-32004: obsolete and/or deprecated parameter(s) specified
alter system set log_archive_format='%t_%s.dbf' scope=spfile;
ora-32004: obsolete and/or deprecated parameter(s) specified
ora-19905: log_archive_format must contain %s, %t and %r
10g不用增加log_archive_start=true
設定歸檔目標 檢視歸檔目標 設定歸檔日誌名稱
設定歸檔目標 歸檔目標 存放歸檔日誌檔案的目錄,乙個資料庫可以有多個歸檔目標,在建立資料庫的時候預設設定了歸檔目標.設定歸檔目標語法 alter system set log archive dest n directory directory 磁碟目錄 location 本地系統的目錄 serve...
歸檔日誌檔案設定與管理
歸檔日誌檔案介紹 重做日誌檔案歸檔是指將寫滿了的重做日誌檔案儲存到乙個或多個指定的離線位置,這些被儲存的歷史重做日誌檔案的集合被稱為歸檔日誌檔案。根據是否對重做日誌檔案進行歸檔,資料庫執行模式分為歸檔模式與非歸檔模式。只有當資料庫執行在歸檔模式時,才會將重做日誌檔案歸檔。歸檔方式可以採用自動歸檔,也...
mysql 歸檔日誌 Oracle歸檔日誌總結
1.開啟歸檔日誌 sqlplus as sysdba sql shutdown immediate sql startup mount 開啟控制檔案,不開啟資料檔案 sql alter database archivelog 將資料庫切換為歸檔模式 sql alter database open 將...