一. 確認日誌工作模式:
1.查詢v$database
SQL> select log_mode from v$database;
LOG_MODE
————
ARCHIVELOG
表明目前數據庫運行在歸檔日誌下,即數據庫在歸檔日誌模式下工作。
2.執行命令archive log list;
SQL> archive log list
歸檔模式,但是目前自動存檔進程未啓用!
數據庫日誌模式 存檔模式
自動存檔 禁用
存檔終點 D:/oracle/ora92/RDBMS
最早的概要日誌序列 214
下一個存檔日誌序列 214
當前日誌序列 216
二.修改日誌工作模式
1、由NOARCHIVELOG模式到ARCHIVELOG模式
第一步驟:關閉數據庫
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
第二步驟:啓動數據庫至MOUNT狀態
SQL> startup mount;
ORACLE 例程已經啓動。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
第三步驟:執行命令alter database archivelog;進行修改
SQL> alter database archivelog;
數據庫已更改。
第四步驟:確認結果
SQL> archive log list;
數據庫日誌模式 存檔模式
自動存檔 啓用
存檔終點 D:/oracle/ora92/RDBMS
最早的概要日誌序列 183
下一個存檔日誌序列 185
當前日誌序列 185
數據庫已經運行在歸檔日誌模式下了。
第五步:打開數據庫,將數據庫改變至OPEN狀態
SQL> alter database open;
數據庫已更改。
2、由ARCHIVELOG模式到NOARCHIVELOG模式
第一步驟:關閉數據庫
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
第二步驟:啓動數據庫至MOUNT狀態
SQL> startup mount;
ORACLE 例程已經啓動。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
第三步:執行命令alter database noarchivelog;進行修改
SQL> alter database noarchivelog;
數據庫已更改。
第四步驟:確認執行結果
SQL> select log_mode from v$database;
LOG_MODE
————
NOARCHIVELOG
我們看到數據庫又改變爲在非歸檔模式下工作了。
第五步:打開數據庫,將數據庫改變至OPEN狀態
SQL> alter database open;
數據庫已更改。
三.修改自動歸檔模式
我們看到數據庫儘管運行在歸檔模式下,但是自動歸檔進程並未啓用,在這種狀態下我們還需要手工執行歸檔命令,歸檔日誌纔可以產生,如何使得數據庫自動歸檔?
有種方法可以實現:
1.第一種方式:
將數據庫加載至MOUNT狀態,然後執行命令:alter system archive log start;
SQL> alter system archive log start;
系統已更改。
查看結果:
SQL> archive log list;
數據庫日誌模式 存檔模式
自動存檔 啓用
存檔終點 D:/oracle/ora92/RDBMS
最早的概要日誌序列 183
下一個存檔日誌序列 185
當前日誌序列 185
這種方式的缺點:更改並非持久的,即如果重新啓動數據庫,則對數據庫所做出的修改又無效了。
2.第二種方式:
通過修改PFILE文件實現持久性修改:
在PFILE文件:init.ora中加入
log_archive_start = true
然後通過PFILE文件加載數據庫
SQL> startup pfile=’D:/oracle/admin/libn/pfile/init.ora’ mount;
ORACLE 例程已經啓動。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
這是再查看數據庫已經運行在自動存檔模式下了。
四.存檔參數修改
init.ora文件中可以包含不同的參數,以便指定應該對存檔的重做日誌文件製作的副本數量、存儲這些副本的位置,甚至是存檔文件的文件名的格式。此外,還可以指定使用多少個存檔進程來創建存檔的文件。
目標參數
LOG_ARCHIVE_DEST
LOG_ARCHIVE_DUPLEX_DEST
只需要將參數鍵入init.ora文件,後面加上預期的存檔位置即可。
log_archive_start = true
log_archive_dest=D:/oracle/ora92/rdbms
log_archive_duplex_dest=D:/oracle/ora92/rdbms
LOG_ARCHIVE_DEST_N
LOG_ARCHIVE_DEST_N參數(其中的N是一個指定的位置,範圍是1——10)允許最多指定10個位置來存儲存檔的文件。此外,其中一個位置可以位於一臺不同的計算機上,如文件服務器或備用計算機站點的遠程位置,以便在主要的計算機中心發生自然災害或者人爲事故時使用.
注意:這兩組參數不能同時使用。
五.歸檔文件名參數
LOG_ARCHIVE_FORMAT
文件名選項
選 項
說 明
%s
包括日誌序列號,作爲文件名的一部分
%S
包括日誌序列號並使用0填充左側,作爲文件名的一部分
%t
包括線程號,作爲文件名的一部分
%T
包括線程號並使用0填充左側,作爲文件名的一部分