如果打开数据库open database时遇到如下报错:
ORA-00600: internal error code, arguments: [12820]
且其stack call 为:
ksedmp kgeriv kgeasi kkmevw kkmfcbvw kkmfcblo kkmpfcbk qcsprfro qcspafq qcspqb qcspqb kkmdrv opiSem opiDeferredSem opitca rpiswu2 kksSetBindType kksfbc opiexe opoal8 opiodr kpoodrc rpiswu2 kpoodr upirtrc kpurcsc kpuexecv8 kpuexec OCIStmtExecute ktsmg_execute_sql ktsmgfru ktusmout_online_ut ktusmiut_init_ut ktuini adbdrv opiexe opiosq0 kpooprx kpoal8 opiodr ttcpip opitsk opiino opiodr opidrv sou2o main start
ORA-00600 [12820]在这里 表达的是 数据库打开过程中发现在数据字典上 视图的定义长度和视图定义文本的实际长度之间有差别。
在一个特定的例子中,可能是如下的查询引发的报错:
select max(maxconcurrency) from sys.wrh$_undostat where instance_number = :1 and dbid = :2 and snap_id in (select snap_id from dba_hist_snapshot where end_interval_time > (select max(end_interval_time)-7 from dba_hist_snapshot))
sys.wrh$_undostat 是一张表
dba_hist_snapshot是视图上的同义词
有的时候却是可能是数据字典上的对应记录存在损坏的情况。尝试重建视图即可绕过这些问题。但如果是大量数据库视图都出现了问题,那么要重新运行catalog.sql。
针对该问题的解决需要设置部分隐藏参数,并重新运行数据库核心脚本catalog.sql。
Leave a Reply