一個oracle調優好玩經歷。
“修改oracle archive mode需要注意的地方”
當時沒有記錄下具體的東西?,F在寫一下,如果有人遇到這樣的問題,希望會對別人有所幫助
五一前出差去客戶那里??蛻舻腄BA和我說他們的門戶網站的數據庫服務器每天到晚上的時候都死翹翹。不知是什么原因。我問他,你一般是如何解決?,F在沒辦法,也找人看過(后來事實證明原來的人是個“棒槌”),沒找到什么地方的原因。問題很嚴重,他很生氣。所以只能每天重啟。然后又開始給我說了一堆他數據庫的情況(后來發現被誤導了)
系統環境:win2k+oracle 92
工作開始:1、查看alert_SID.log 日志。沒發現問題。2、為數據庫做statspace,峰值大約在早10點和下午3點左右。做了兩個statspace???,有些參數設置的有些問題。SGA過小。但是不會導致oracle數據庫down機??!即使oracle性能有問題,也應該是系統繁忙的時候宕機,不應該是晚上。所以又問,有沒有做過什么操作。說沒有。突然想到主機是windows系統。oracle事件會寫到windows的事件管理器中。打開事件管理器。發現archive有問題。
sqlplus /nolog
SQL> conn /as sysdba
SQL> archive log list
Database log mode Archive Mode
Automatic archival Disabled
Archive destination e:archive
Oldest online log sequence 92
Next log sequence to archive 94
Current log sequence 92
哈哈,問題出現了。數據庫為歸檔模式,但是自動歸檔沒有打開。
show parameter log_archive_max_processes
log_archive_max_processes integer 2
SQL> select * from v$logfile;
GROUP# STATUS TYPE
---------- ------- -------
MEMBER
-------------------------------------
3 ONLINE
D:ORACLEORADATAORA92IREDO03.LOG
2 ONLINE
D:ORACLEORADATAORA92IREDO02.LOG
1 ONLINE
D:ORACLEORADATAORA92IREDO01.LOG
問題顯而易見了。使用了歸檔模式,但沒有做自動歸檔,所以一旦兩個redo log 寫滿以后,日志文件沒有自動歸檔日志文件去,就等待中了。
SQL> alter system archvie log start
SQL> alter system set log_archive_start=true scope=spfile;
問題解決了。
后來又問DBA,他想起來自己修改過歸檔模式。但是自動歸檔這個事他不清楚。所以就出現了這樣的問題。
其實是個很簡單的問題。只是開始被誤導,以為事數據庫性能問題。耽誤了很多時間。
結論:1、在windows系統中,查看數據庫日志,別忘了windows自己的事件管理器。
2、修改archive模式后,注意修改自動歸檔的設置。
3、如果DBA水平一般,不要相信他太多的話,不如自己找問題快!哈哈。這點是我自己瞎說的
原文轉自:http://www.anti-gravitydesign.com