今天有台数据库一个小时之内连续宕机两次,相同的错误,都是ORA-600 17147 导致内存crash后PMON杀死实例 ORA-00600: internal error code, arguments: [17147], [0xFB0AC7920], [], [], [], [], [], [], [], [], [], [] ORA-1092 : opiodr aborting process unknown ospid (19839_47665993829568) Wed Jul 11 20:58:25 2012 ORA-1092 : opitsk aborting process Wed Jul 11 20:58:25 2012 ORA-1092 : opiodr aborting process unknown ospid (19837_47822817557696) Wed Jul 11 20:58:25 2012 ORA-1092 : opitsk aborting process Instance terminated by PMON, pid = 3245 通过core_dump里面有一条特别长dynamic_sampling的SQL,in里面有36000+的or,后来一查对应于bug 8277300 通过设置optimizer_dynamic_sampling=1降低动态搜集的等级,然后cron里面设置脚本定制化的收集信息 根据不同的optimizer_dynamic_sampling级别而不同,他总共有10个级别,分别如下: · Level 0: Do not use dynamic sampling. · Level 1: The number of blocks sampled is the default number of dynamic sampling blocks (32). · Level 2: The number of blocks sampled is 2 times the default number of dynamic sampling blocks. · Level 3: The number of blocks sampled is 4 times the default number of dynamic sampling blocks. · Level 4: The number of blocks sampled is 8 times the default number of dynamic sampling blocks. · Level 5: The number of blocks sampled is 16 times the default number of dynamic sampling blocks. · Level 6: The number of blocks sampled is 32 times the default number of dynamic sampling blocks. · Level 7: The number of blocks sampled is 64 times the default number of dynamic sampling blocks. · Level 8: The number of blocks sampled is 128 times the default number of dynamic sampling blocks. · Level 9: The number of blocks sampled is 256 times the default number of dynamic sampling blocks. · Level 10: Read all blocks in the table.Bug 8277300 Dump [xtyqbcb] / OERI:17147 from SQL with > 32000 OR predicates
This note gives a brief overview of bug 8277300.
The content was last updated on: 27-MAY-2011
Click here for details of each of the sections below.Affects:
Product (Component) Oracle Server (Rdbms) Range of versions believed to be affected Versions BELOW 12.1 Versions confirmed as being affected Platforms affected Generic (all / most platforms affected) Fixed:
This issue is fixed in Symptoms:
Related To:
Description
SQL queries containing more than 32000 OR'ed equality predicates on a column
value may dump , typically under xtyqbcb.
Workaround:
Limit the total number of inlist entries or OR'ed equality conditions to be
less than 32000
OR
rewrite the query so that the inlist values are in another table
(rather than hard coded in the SQL)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22503721/viewspace-735356/ ,如需转载,请注明出处,否则将追究法律责任。