CREATETABLE"DBMT"."CS_BATCH_BUSI_CERT_INFO_HIS"("REGION" NUMBER(5,0)NOTNULLENABLE,"OPER_ID" VARCHAR2(64)NOTNULLENABLE,"CREATE_TIME"DATEDEFAULT SYSDATE
)PARTITIONBY RANGE ("REGION","CREATE_TIME")(PARTITION"PART_310_201909"VALUES LESS THAN (310, TO_DATE(' 2019-10-01 00:00:00','SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN')) segment creation deferred,PARTITION"PART_310_201910"VALUES LESS THAN (310, TO_DATE(' 2019-11-01 00:00:00','SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN')) segment creation deferred,PARTITION"PART_310_201911"VALUES LESS THAN (310, TO_DATE(' 2019-12-01 00:00:00','SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN')) segment creation deferred
);insertinto DBMT.CS_BATCH_BUSI_CERT_INFO_HIS values(310,1,TO_DATE(' 2019-10-03 00:00:00','SYYYY-MM-DD HH24:MI:SS','NLS_CALENDAR=GREGORIAN'));commit;
C:\Users\1> exp dbmt/dba_OPS_123@192.168.3.19:1521/sdsys tables=CS_BATCH_BUSI_CERT_INFO_HIS file=CS_BATCH_BUSI_CERT_INFO_HIS.dmp
Export: Release11.2.0.1.0- Production on 星期三 7月 1415:27:392021
Copyright (c)1982,2009, Oracle and/or its affiliates.All rights reserved.
连接到: Oracle Database12c Enterprise Edition Release12.2.0.1.0-64bit Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径..... 正在导出表 CS_BATCH_BUSI_CERT_INFO_HIS
EXP-00003: 未找到段 (0,0) 的存储定义
导出成功终止, 但出现警告。
]$ oerr exp 300003,00000,"no storage definition found for segment(%lu, %lu)"// *Cause: Export could not find the storage definitions for a cluster,// index, or table.// *Action: Record the accompanying messages and report this as an Export// internal error to customer support.
Diagnosis:
We could not find a storage clause for the named segment.- The arguments above are fileand block, referred to here as
F and B
-First determine what the segment is:
select*from dba_segments
where HEADER_FILE = F
and HEADER_BLOCK = B;-If it is an INDEX see Bug:231159-If it is a TABLE it may be best to run this to find table SEGMENTS
whose segment owner differs from the OBJECT owner:
select o.owner#, o.name, o.type#, o.namespace, s.user#from obj$ o, tab$ t, seg$ s
where o.obj#=t.obj#and t.file#=s.file#and t.block#=s.block#and o.owner#!=s.user#;Anyrows returned should be investigated.
Solution:
1) run this sql,if something notlike0returns move those indexes,if0returns go to step 2selectcount(*)from dba_indexes where owner<>table_owner;2) Rerun the export and specify the parameter COMPRESS=Y (this is the defaultvaluefor COMPRESS).if the error still occurs,3) Copy $ORACLE_HOME/rdbms/admin/catexp.sqlto $ORACLE_HOME/rdbms/admin/catexp2.sqladd this line to $ORACLE_HOME/rdbms/admin/catexp2.sql:
"UNION ALL select * from sys.exu9tneb"
run
$ORACLE_HOME/rdbms/admin/catexp2.sqlif the error still occurs,4) Upgrade your client version. Your version must be equal or higher than exp version of your target db.5)Check those tableswith exp error had created segment? ifnot? try to allocate the segments space manully using this sql:
altertable xx allocate extent
6) I recommend try tousing expdp instend of exp
I guess those tables that to export error should be created before modifying parameters deferred_segment_creation=false.and the exp client version is11.2.0.1 lower than target DB version 11.2.0.4.when I using above 5# way, to allocate the segment's extent, try to exp again, it is worked fine at all. the exp-3 error does not throw again.References MOS note[443453.1]
CREATE TABLE "DBMT"."CS_BATCH_BUSI_CERT_INFO_HIS" ( "REGION" NUMBER(5,0) NOT NULL ENABLE, "OPER_ID" VARCHAR2(64) NOT NULL ENABLE, "CREATE_TIME" DATE DEFAULT SYSDATE ) PARTITION BY RANGE ("REGION","CREATE_TIME") (PARTITION "P...