建立包含映射表的分区索引组织表时,输入了错误的建表语法,导致了这个ORA-7445错误。
前台报错为ORA-3113错误:
SQL> CREATE TABLE T_INDEX_ORG
2 (ID NUMBER PRIMARY KEY,
3 NAME VARCHAR2(30),
4 TYPE VARCHAR2(30))
5 ORGANIZATION INDEX
6 PARTITION BY RANGE (ID)
7 (PARTITION P1 VALUES LESS THAN (10000),
8 PARTITION P2 VALUES LESS THAN (20000),
9 PARTITION P3 VALUES LESS THAN (MAXVALUE))
10 MAPPING TABLE;
CREATE TABLE T_INDEX_ORG
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
其实导致错误的原因很简单,就是MAPPING TABLE的位置错了,应该跟在ORGANIZATION INDEX语句的后面,不过这个语法错误却导致了ORA-3113错误,检查alert文件:
Fri Aug 13 16:47:04 2010
Errors in file /opt/ora10g/admin/test08/udump/test08_ora_28282.trc:
ORA-07445: exception encountered: core dump [kkpocpa_comp_part_attrs()+4] [SIGSEGV] [Address not mapped to object] [0x000000001] [] []
详细trace文件为:
[oracle@yans1 bdump]$ more /opt/ora10g/admin/test08/udump/test08_ora_28282.trc
/opt/ora10g/admin/test08/udump/test08_ora_28282.trc
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORACLE_HOME = /opt/ora10g/product/10.2.0/db_1
System name: Linux
Node name: yans1
Release: 2.6.9-42.0.0.0.1.ELsmp
Version: #1 SMP Sun Oct 15 15:13:57 PDT 2006
Machine: x86_64
Instance name: test08
Redo thread mounted by this instance: 1
Oracle process number: 24
Unix process pid: 28282, image: oracle@yans1 (TNS V1-V3)
*** 2010-08-13 16:47:04.357
*** ACTION NAME:() 2010-08-13 16:47:04.327
*** MODULE NAME:(SQL*Plus) 2010-08-13 16:47:04.327
*** SERVICE NAME:(SYS$USERS) 2010-08-13 16:47:04.327
*** SESSION ID:(321.4662) 2010-08-13 16:47:04.327
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x1, PC: [0x19537c4, kkpocpa_comp_part_attrs()+4]
*** 2010-08-13 16:47:04.472
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [kkpocpa_comp_part_attrs()+4] [SIGSEGV] [Address not mapped to object] [0x000000001] []
[]
Current SQL statement for this session:
CREATE TABLE T_INDEX_ORG
(ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30),
TYPE VARCHAR2(30))
ORGANIZATION INDEX
PARTITION BY RANGE (ID)
(PARTITION P1 VALUES LESS THAN (10000),
PARTITION P2 VALUES LESS THAN (20000),
PARTITION P3 VALUES LESS THAN (MAXVALUE))
MAPPING TABLE
----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
Cannot find symbol
Cannot find symbol
Cannot find symbol
ksedst()+31 call ksedst1() 000000000 ? 000000001 ?
2A97134D50 ? 2A97134DB0 ?
2A97134CF0 ? 000000000 ?
ksedmp()+610 call ksedst() 000000000 ? 000000001 ?
2A97134D50 ? 2A97134DB0 ?
2A97134CF0 ? 000000000 ?
ssexhd()+650 call ksedmp() 000000003 ? 000000001 ?
2A97134D50 ? 2A97134DB0 ?
2A97134CF0 ? 000000000 ?
<0x3c4f20c430> call ssexhd() 00000000B ? 2A97135D70 ?
2A97135C40 ? 2A97134DB0 ?
2A97134CF0 ? 000000000 ?
--------------------- Binary Stack Dump ---------------------
这个ORA-7445错误在metalink和google中都找不到相关的信息,看来这个功能使用的比较少。
SQL> CREATE TABLE T_INDEX_ORG
2 (ID NUMBER PRIMARY KEY,
3 NAME VARCHAR2(30),
4 TYPE VARCHAR2(30))
5 ORGANIZATION INDEX
6 MAPPING TABLE
7 PARTITION BY RANGE (ID)
8 (PARTITION P1 VALUES LESS THAN (10000),
9 PARTITION P2 VALUES LESS THAN (20000),
10 PARTITION P3 VALUES LESS THAN (MAXVALUE));
Table created.
将MAPPING TABLE语句放到正确的位置,就不会导致ORA-7445错误的出现了。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-671033/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-671033/