在工作中,需要关闭一个数据库,结果在执行了shutdown immediate时报了这么一个ora600错误,当时吓得不轻,心想今晚完了,数据库还能启动吗?
Errors in file /u01/app/oracle/admin/orac2/udump/orac2_ora_30953.trc:
ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose], [], [], [], [], [], [], []
Wed Oct 20 16:03:24 2010
事实证明,结果可以重新启动数据库,并查看了网上的信息,连metalink都不用,直接有很多人遇到过了,此bug并不会损害数据库,只是在关闭时没有清空libraraycache,三思笔记提供了一个触发器可以避免此问题
---http://space.itpub.net/7607759/viewspace-441034来自三思笔记
经查为oracle Bug:4483084~~
原因正如报错信息中所说,LibraryCacheNotEmptyOnClose。不定期发生,目前oracle还没有出相关补丁,如果希望避免该问题出现,可以通过创建一个系统级触发器的方式,如下:
CREATE or replace TRIGGER flush_shared_pool
BEFORE SHUTDOWN ON DATABASE
BEGIN
execute immediate 'ALTER SYSTEM FLUSH SHARED_POOL';
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR (num => -20000, msg => 'Error flushing pool');
END;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22108635/viewspace-676617/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22108635/viewspace-676617/