一个oracle调优好玩经历。 “修改oracle archive mode需要注意的地方” 当时没有记录下具体的东西。现在写一下,如果有人遇到这样的问题,希望会对别人有所帮助 五一前出差去客户那里。客户的DBA和我说他们的门户网站的数据库服务器每天到晚上的时候都死翘翘。不知是什么原因。我问他,你一般是如何解决。现在没办法,也找人看过(后来事实证明原来的人是个“棒槌”),没找到什么地方的原因。问题很严重,他很生气。所以只能每天重启。然后又开始给我说了一堆他数据库的情况(后来发现被误导了) 系统环境: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 哈哈,问题出现了。数据库为归档模式,但是自动归档没有打开。 show parameter log_archive_max_processes log_archive_max_processes integer 2 SQL> select * from v$logfile; GROUP# STATUS TYPE 3 ONLINE 2 ONLINE 1 ONLINE 问题显而易见了。使用了归档模式,但没有做自动归档,所以一旦两个redo log 写满以后,日志文件没有自动归档日志文件去,就等待中了。 后来又问DBA,他想起来自己修改过归档模式。但是自动归档这个事他不清楚。所以就出现了这样的问题。 其实是个很简单的问题。只是开始被误导,以为事数据库性能问题。耽误了很多时间。 结论:1、在windows系统中,查看数据库日志,别忘了windows自己的事件管理器。 2、修改archive模式后,注意修改自动归档的设置。
Automatic archival Disabled
Archive destination e:archive
Oldest online log sequence 92
Next log sequence to archive 94
Current log sequence 92
---------- ------- -------
MEMBER
-------------------------------------
D:ORACLEORADATAORA92IREDO03.LOG
D:ORACLEORADATAORA92IREDO02.LOG
D:ORACLEORADATAORA92IREDO01.LOG
SQL> alter system archvie log start
SQL> alter system set log_archive_start=true scope=spfile;
问题解决了。
3、如果DBA水平一般,不要相信他太多的话,不如自己找问题快!哈哈。这点是我自己瞎说的