日志文件分為重做日志文件(redo log file)和歸檔日志文件(archive log file)。
SQL> select group#, status, member from v$logfile;
GROUP# STATUS MEMBER
---------- ------- --------------------------------------------------------------------------------
3 C:\ORACLE\ORADATA\ORCL\REDO03.LOG
2 C:\ORACLE\ORADATA\ORCL\REDO02.LOG
1 C:\ORACLE\ORADATA\ORCL\REDO01.LOG
redo log fiel有多個組group構成。一個group中能包括不止一個log file,日志信息是寫到group的每個logfile中,所以一個group中的log file存儲着一樣的信息。當一個group寫滿之后就轉到下一個group中,稱之為日志切換。
當所有group都寫滿了后,就重頭開始從第一個group開始,原來的內容將被覆蓋丟失。如果不想被丟失,可以采用歸檔模式,即將數據保存到archive log file中。歸檔模式會給系統帶來一定的性能問題。
查看database采用哪種模式:
SQL> select dbid,name,log_mode from v$database;
DBID NAME LOG_MODE
---------- --------- ------------
1232416663 ORCL NOARCHIVELOG
歸檔日志路徑由SPFILE的log_archive_dest參數確定。
SQL> show parameter log_archive_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_2 string
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
警告日志文件alert_sid.log保存着例行的信息和錯誤信息,它的路經是:
SQL> select value from v$parameter where name='background_dump_dest';
VALUE
--------------------------------------------------------------------------------
c:\oracle\diag\rdbms\orcl\orcl\trace
SQL> show parameter background_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string c:\oracle\diag\rdbms\orcl\orcl\trace
用戶跟蹤文件是oracle出現異常時自動創建的文本文件,它與警告文件一起構成了完整的故障信息描述體系。
SQL> select value from v$parameter where name='user_dump_dest';
VALUE
--------------------------------------------------------------------------------
c:\oracle\diag\rdbms\orcl\orcl\trace
SQL> show parameter user_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string c:\oracle\diag\rdbms\orcl\orcl\trace