适用于:
Oracle数据库 - 企业版 - 12.1.0.1及更高版本
本文档中的信息适用于任何平台。
症状
+遇到以下错误:
ORA-07445: exception encountered: core dump [kxsxsi()+450] [SIGSEGV] [ADDR:0x0] [PC:0xCC1B602] [SI_KERNEL(general_protection)] []

+跟踪文件显示内部错误来自Sql Tuning Advisor的统计信息收集部分:
----- Current SQL Statement for this session (sql_id=69kw09jxt0nda) ----- /* SQL Analyze(1) */ select /*+ full(t) no_parallel(t) no_parallel_index(t) dbms_stats cursor_sharing_exact use_weak_name_resl dynamic_sampling(0) no_monitoring xmlindex_sel_idx_tbl no_substrb_pad */to_char(count("SYS_STSRUZ_MY5WL22XPY4J57Z_1SZ")),substrb(dump(min("SYS_STSRUZ_MY5WL22XPY4J57Z_1SZ"),16,0,64),1,240),substrb(dump(max("SYS_STSRUZ_MY5WL22XPY4J57Z_1SZ"),16,0,64),1,240),to_char(count("SYS_STSQVBNRT3UF8CUQ#R7DDZLTUF")), substrb(dump(min("SYS_STSQVBNRT3UF8CUQ#R7DDZLTUF"),16,0,64),1,240),substrb(dump(max("SYS_STSQVBNRT3UF8CUQ#R7DDZLTUF"),16,0,64),1,240),to_char(count("SYS_STSPML4HJYEW3ECOU4#PJRUH6M")),.................... ..from "GLOVIA_PROG40"."PO" t /* TOPN,NIL,NIL,TOPN,NIL,NIL,TOPN,NIL,NIL,TOPN,NIL,NIL,TOPN,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,TOPN,NIL,NIL,TOPN,NIL,NIL,NDV,NIL,NIL,TOPN,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL,NDV,NIL,NIL... [TOC00005] ----- PL/SQL Stack ----- ----- PL/SQL Call Stack ----- object line object handle number name 0x1ac7108f8 145 package body SYS.DBMS_SQLTUNE_INTERNAL 0x1ac7108f8 13094 package body SYS.DBMS_SQLTUNE_INTERNAL 0x1ac7108f8 13730 package body SYS.DBMS_SQLTUNE_INTERNAL 0x1ac7108f8 18936 package body SYS.DBMS_SQLTUNE_INTERNAL 0x1c04a1dc8 9340 package body SYS.DBMS_STATS_INTERNAL 0x1b57633b0 30293 package body SYS.DBMS_STATS 0x1b57633b0 31451 package body SYS.DBMS_STATS 0x1b57633b0 33137 package body SYS.DBMS_STATS 0x1b57633b0 34029 package body SYS.DBMS_STATS 0x1b57633b0 34972 package body SYS.DBMS_STATS 0x1b57633b0 44193 package body SYS.DBMS_STATS 0x1b57633b0 44256 package body SYS.DBMS_STATS
+调用堆栈显示:
... kxsxsi opiexe kpoal8 opiodr kpoodrc rpiswu2 kpoodr upirtrc kpurcsc kpuexec OCIStmtExecute qksanExecSql qksanAnalyzeSqlConCbk qksanAnalyzeSql qksanAnalyzeSegSql kestsGatherSqlStatistics kestsProcessSql kestsProcessSqlCallout ...
+使用级联选项分析表失败,ORA-1499:
SQL> analyze table GLOVIA_PROG40.C_ITEM validate structure cascade; * ERROR at line 1: ORA-01499: table/index cross reference failure - see trace file - and the analyze statement runs successfully without cascade: mm2gp1 SQL> analyze index GLOVIA_PROG40.PK_C_ITEM validate structure; Index analyzed.
+表上有一个PK索引:
mm2gp1 SQL> select owindex_name from dba_indexes where table_name='C_ITEM'; INDEX_NAME -------------------------------------------------------------------------------- PK_C_ITEM
+执行'alter table move'后,表中找到重复记录,主键变为不可用状态。
原因
发现该表具有重复记录,并且主键变为不可用。
解
从表中删除重复记录并通过运行以下命令重新创建PK索引:
SQL> alter table <table_name> disable primary key; SQL> alter table <table_name> enable primary key;
(文档ID 2256570.1)