记得参加OCP培训的时候,老师说oracle有物化视图,合理的锁机制,强健的rac,有流复制,还可以搭建dataguard,完成异地容载 等等。
今天遇到一个错误,直接导致两节点RAC crash,oracle趴下了,起不来了。经过强制关闭数据库,重启,数据库恢复。
alter log 内容如下:
Errors in file /app/oracle/admin/oradb/bdump/oradb2_diag_7007.trc:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 2, osid 7136'
Wed Oct 21 15:26:36 2009
System State dumped to trace file /app/oracle/admin/oradb/bdump/oradb2_diag_7007.trc
Wed Oct 21 15:27:36 2009
Killing enqueue blocker (pid=7136) on resource CF-00000000-00000000
by killing session 2183.1
Wed Oct 21 15:28:16 2009
Killing enqueue blocker (pid=7136) on resource CF-00000000-00000000
by killing session 2183.1
Wed Oct 21 15:29:06 2009
根据
,Subject: Database Crashes With ORA-00494和
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
http://www.eygle.com/archives/2007/08/resize_datafile_crash_database.html.
综合一下该错误出现的情况如下:
1.出现在IO比较高的时候
2.出现在日志频繁切换的
无论是数据文件的resize操作还是日志的频繁切换都属于高IO的两种表现。
其实1和2是一样的,日志频繁切换也是高IO的一种表现形式,在高IO条件下,logwr和checkpoint进程不协调导致。
换言之,在日志大小不变的条件下,更多业务负载可能会引发这个错误的出现.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/411812/viewspace-617310/
,如需转载,请注明出处,否则将追究法律责任。