Oracle 修改歸檔模式

萌萌二泡哥發表於2013-12-24
首先檢視資料庫現有模式可使用以下語句 
select name,log_mode from v$database; 
也可以用下面的語句 
archive log list;(該方法需要as sysdba)

對於非歸檔模式的資料庫該為歸檔模式,使用以下步驟: 
1. 
SQL>alter system set log_archive_dest_1='location=D:\oralog'; 
該語句含義是確定歸檔日誌的路徑,實際上Oracle 10g可以生成多份一樣的日誌,儲存多個位置,以防不測

例如再新增一個日誌位置可使用以下語句 
SQL>alter system set log_archive_dest_2='location=D:\oralog';

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; ---引數預設情況下是2,資料庫啟動二個arch程式,如果歸檔很多,oracle也會根據需要增加arch的程式。 當然如果你能預知這種情況,就可以先增加這個引數,以免執行的時候在去啟動這個程式
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile; 

修改完成後可以檢視日誌模式是否修改成功!
select name,log_mode from v$database; 
也可以用下面的語句 
archive log list;(該方法需要as sysdba)

特別指出的是在Oracle 9i中還要修改引數log_archive_start = true才能生效,oracle 10g中已經廢除了該引數,所以不需要設定該引數。 

對於歸檔模式的資料庫該為非歸檔模式,使用以下步驟,

第一步驟:關閉資料庫
SQL>shutdown immediate; 

第二步驟:啟動資料庫至MOUNT狀態
SQL>startup mount;

第三步驟:執行命令alter database noarchivelog;進行修改
SQL>alter database noarchivelog;

第四步驟:確認執行結果
SQL>select log_mode from v$database; 
LOG_MODE 
————
NOARCHIVELOG 
我們看到資料庫又改變為在非歸檔模式下工作了。 

第五步:開啟資料庫,將資料庫改變至OPEN狀態 
SQL>alter database open;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29392174/viewspace-1064145/,如需轉載,請註明出處,否則將追究法律責任。

相關文章