Oracle 分爲非歸檔模式(NOARCHIVELOG) 和歸檔模式(ARCHIVELOG) 。非歸檔模式不產生歸檔日誌,雖然節省了硬盤空間,但是備份 方案選擇很有限,通常只能選擇冷備份。還原也只能還原到備份那一時刻的數據,通常也僅在開發時使用(據說在數據倉庫中也使用),Oracle 安裝默認就是非 歸檔模式。在生產環境中我們因該使用歸檔模式,它會產生歸檔日誌,可以使用多種備份和還原方案,對與Oracle 管理員來說應該更改模式是必然的選擇。
首先查看數據庫 現有模式可使用以下語句
select name,log_mode from v$database;
也可以用下面的語句
archive log list
;(
該方法需要as
sysdba)
對於非歸檔模式的數據庫該爲歸檔模式(主要以Oracle 10g
爲參考)使用以下步驟:
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
該語句含義是確定歸檔日誌的路徑,實際上Oracle 10g
可以生成多份一樣的日誌,保存多個位置,以防不測
例如再添加一個日誌位置可使用以下語句
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
2.
關閉數據庫
SQL> shutdown immediate
3.
啓動數據mount
狀態:
SQL> startup mount;
4
、修改數據庫爲歸檔模式:
SQL> alter database archivelog;
5
、打開數據庫,查詢:
SQL> alter database open;
修改日誌文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log"
scope=spfile;
修改完成後可以查看日誌模式是否修改成功!
特別指出的是在Oracle 9i
中還要修改參數alter
system set log_archive_start = true
才能生效,oracle 10g
中已經廢除了該參數,所以不需要設置該參數。
原帖地址:http://space.itpub.net/52280/viewspace-539637