連接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Tes
已導出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服務器使用 AL32UTF8 字符集 (可能的字符集轉換)
正在導出簇定義
... (had truncated)
...
. 即將導出 anbob 的表通過常規路徑...
. . 正在導出表 ANBOB_IMAG
EXP-00003: 未找到段 (0,0) 的存儲定義
. . 正在導出表 ANBOB_ITEM導出了 16 行
. . 正在導出表 ANBOB_UNION導出了 4 行
. . 正在導出表 ANBOB_INDICATOR_LIMIT
EXP-00003: 未找到段 (0,0) 的存儲定義
. . 正在導出表 ANBOB_CREDIT導出了 6 行
EXP-00003: no storage definition found for segment (0, 0)
. . 正在導出表 ANBOB_MODEL導出了 1 行
. . 正在導出表 ANBOB_FILE
EXP-00003: 未找到段 (0,0) 的存儲定義
. . 正在導出表 ANBOB_FILE_DETAILS
EXP-00003: 未找到段 (0,0) 的存儲定義
. . 正在導出表 ANBOB_DEF0000000004
[oracle@db231 ~]$ oerr exp 3
00003, 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 file and 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#
;
Any rows returned should be investigated.
Solution:
1) run this sql, if something not like 0 returns move those indexes, if 0 returns go to step 2
select count(*) from dba_indexes where owner<>table_owner;
2) Rerun the export and specify the parameter COMPRESS=Y (this is the default value for COMPRESS).
if the error still occurs,
3) Copy $ORACLE_HOME/rdbms/admin/catexp.sql to $ORACLE_HOME/rdbms/admin/catexp2.sql
add this line to $ORACLE_HOME/rdbms/admin/catexp2.sql:
"UNION ALL select * from sys.exu9tneb"
run
$ORACLE_HOME/rdbms/admin/catexp2.sql
if 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 tables with exp error had created segment? if not? try to allocate the segments space manully using this sql:
alter table xx allocate extent
6) I recommend try to using expdp instend of exp
This case solution is following:
sys@anbob>@p segment_cre
NAME VALUE
---------------------------------------- ----------------------------------------
deferred_segment_creation FALSE
I guess those tables that to export error should be created before modifying parameters deferred_segment_creation=false. and the exp client version is 11.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]
「喜歡文章,快來給作者贊賞墨值吧」 贊賞
【版權聲明】本文為墨天輪用戶原創內容,轉載時必須標注文章的來源(墨天輪),文章鏈接,文章作者等基本信息,否則作者和墨天輪有權追究責任。如果您發現墨天輪中有涉嫌抄襲或者侵權的內容,歡迎發送郵件至:contact@modb.pro進行舉報,并提供相關證據,一經查實,墨天輪將立刻刪除相關內容。
評論
請登錄后發表評論