Posted on 2007-06-11 18:01
胡娟 閱讀(1011)
評論(0) 編輯 收藏 所屬分類:
Oracle
1.數據庫日志的歸檔模式分為:
1.1非歸檔模式noarchivelog:缺省情況下為noarchivelog,oracle不保留久的重做日志信息,可以在原來的基礎上覆蓋寫入。因此一般情況下不可恢復。
1.2歸檔模式archivelog :oracle 一般至少有一組日志文件,含有三個日志成員文件。他們是輪流交替被寫入所作的一切修改信息。當系統設置為可恢復模式即歸檔模式是,oracle自動將每次即將被覆蓋的日志信息先做備份,然后再其上記錄所修改的信息。
2確認數據庫日志工作模式:
辦法一:查詢v$database
1
SQL> select log_mode from v$database;
2
3
LOG_MODE
4
------------
5
ARCHIVELOG --表明日志工作模式在歸檔模式
辦法二:
1 SQL> archive log list
2 數據庫日志模式 存檔模式
3 自動存檔 啟用
4 存檔終點 USE_DB_RECOVERY_FILE_DEST
5 最早的聯機日志序列 31
6 下一個存檔日志序列 33
7 當前日志序列 33
3.修改日志歸檔模式
從歸檔archivelog/noarchivelog到非歸檔noarchivelog/archivelog
1)關閉數據庫
1 SQL> shutdown immediate;
2 數據庫已經關閉。
3 已經卸載數據庫。
4 ORACLE 例程已經關閉。
2)啟動數據庫至mount狀態
1 SQL> startup mount;
2 ORACLE 例程已經啟動。
3
4 Total System Global Area 209715200 bytes
5 Fixed Size 1248140 bytes
6 Variable Size 83887220 bytes
7 Database Buffers 121634816 bytes
8 Redo Buffers 2945024 bytes
9 數據庫裝載完畢。
3)執行命令
alter database noarchivelog/archivelog進行修改
1 SQL> alter database noarchivelog;
2
3 數據庫已更改。
4)確認執行結果
1 SQL> select log_mode from v$database;
2
3 LOG_MODE
4 ------------
5 NOARCHIVELOG
6
5)打開數據庫
1
2 SQL> alter database open;
3
4 數據庫已更改。
5
4.修改自動歸檔模式
辦法一:將數據庫加載至mount狀態。然后執行命令(該方法不持久,重新啟動服務后對所作的修改無效)
1 SQL> alter system archive log start;
2
3 系統已更改。
4
1
SQL> alter system archive log start;
2
3
系統已更改。
4
5
SQL> archive log list;
6
數據庫日志模式 存檔模式
7
自動存檔 啟用
8
存檔終點 USE_DB_RECOVERY_FILE_DEST
9
最早的聯機日志序列 31
10
下一個存檔日志序列 33
11
當前日志序列 33
辦法二:通過修改pfile文件實現持久性修改。在pfile文件中的init.ora文件中加入log_archive_log=true,然后通過pfile文件加載數據庫即可
startup pfile='D:\oracle\admin\libn\pfile\init.ora' mount;。
5.oracle 9i默認會通過SPFILE文件啟動數據庫。由pfile文件創建SPFILE:
SQL> create spfile='D:\oracle\ora92\database\SPFILELIBN.ORA' from PFILE='D:\oracle\admin\libn\pfile\init.ora';