数据泵导出时报错ORA-1422错误

今天一个学习Oracle时间不长的同事在使用数据泵导出的时候碰到了这个错误。

 

 

由于前两天看到他在研究DUAL表,而且还问过我几个DUAL表相关的问题,所以看到这个错误后首先想到的就是问他是否向DUAL表中插入数据。

果然他在测试的时候插入过数据,而且由于直接访问DUAL表看到的仍然是一条记录,所以忘记删除多余的数据,因此导致了这个错误。

简单重现一下问题:

SQL> CONN /@YTK102 AS SYSDBA
已连接。
SQL> INSERT INTO DUAL VALUES ('X');

已创建 1 行。

SQL> COMMIT;

提交完成。

下面执行数据泵的导出:

E:\>expdp yangtk/yangtk@ytk102 directory=d_output dumpfile=yangtk.dp

Export: Release 10.2.0.1.0 - Production on 星期三, 13 8, 2008 0:26:08

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "YANGTK"."SYS_EXPORT_SCHEMA_01":  yangtk/********@ytk102 directory=d_output
 dumpfile=yangtk.dp
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 1.437 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SP
EC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. .
导出了 "YANGTK"."T_RECORD"                         473.9 KB   40000
. .
导出了 "YANGTK"."TEST_LOB"                         5.656 KB       1
. .
导出了 "YANGTK"."CHAINED_ROWS"                     81.25 KB    2118
. .
导出了 "YANGTK"."T"                                4.906 KB       1
. .
导出了 "YANGTK"."T_LEVEL"                          6.234 KB       6
. .
导出了 "YANGTK"."T_LEVEL1"                         6.585 KB       8
. .
导出了 "YANGTK"."T_LOAD_SPACE"                     5.585 KB       5
. .
导出了 "YANGTK"."T_LOG"                            5.273 KB       2
. .
导出了 "YANGTK"."T_NO_EXISTS_BEFORE"               5.257 KB       1
. .
导出了 "YANGTK"."T_TREE"                           5.960 KB       9
. .
导出了 "YANGTK"."T_CHAR"                               0 KB       0
. .
导出了 "YANGTK"."T_COMPRESS"                           0 KB       0
ORA-39125:
KUPW$WORKER.UNLOAD_METADATA Worker 发生意外的致命错误 (在调用 D
BMS_METADATA.FETCH_XML_CLOB [TABLE_DATA:"YANGTK"."T_COMPRESS"]
)
ORA-31642:
以下 SQL 语句失败:
BEGIN "SYS"."DBMS_SCHED_EXPORT_CALLOUTS".SCHEMA_CALLOUT(:1,1,1,'10.02.00.01.00')
; END;
ORA-06512:
"SYS.DBMS_SYS_ERROR", line 86
ORA-06512:
"SYS.DBMS_METADATA", line 907
ORA-01422:
实际返回的行数超出请求的行数

ORA-06512: "SYS.DBMS_SYS_ERROR", line 105
ORA-06512:
"SYS.KUPW$WORKER", line 6241

----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
2EBF7ED4     14916  package body SYS.KUPW$WORKER
2EBF7ED4      6300  package body SYS.KUPW$WORKER
2EBF7ED4      2340  package body SYS.KUPW$WORKER
2EBF7ED4      6861  package body SYS.KUPW$WORKER
2EBF7ED4      1262  package body SYS.KUPW$WORKER
2EBDBC80         2  anonymous block

作业 "YANGTK"."SYS_EXPORT_SCHEMA_01" 因致命错误于 00:26:43 停止

导出过程中出现了ORA-1422错误,而这正是由于DUAL表中记录多于1条造成的结果。Oracle很多的工具和包都依赖于DUAL表,因此插入多余的记录就会导致这些工具出现异常情况:

SQL> DELETE DUAL;

已删除 1 行。

SQL> COMMIT;

提交完成。

SQL> SELECT * FROM DUAL;

D
-
X

下面重新执行导出问题解决:

E:\>expdp yangtk/yangtk@ytk102 directory=d_output dumpfile=yangtk.dp

Export: Release 10.2.0.1.0 - Production on 星期三, 13 8, 2008 0:37:31

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "YANGTK"."SYS_EXPORT_SCHEMA_02":  yangtk/********@ytk102 directory=d_output
 dumpfile=yangtk.dp
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 1.812 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC
处理对象类型 SCHEMA_EXPORT/DB_LINK
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SP
EC
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. .
导出了 "YANGTK"."T_RECORD"                         473.9 KB   40000
. .
导出了 "YANGTK"."SYS_EXPORT_SCHEMA_01"             227.9 KB    1169
. .
导出了 "YANGTK"."TEST_LOB"                         5.656 KB       1
. .
导出了 "YANGTK"."CHAINED_ROWS"                     81.25 KB    2118
. .
导出了 "YANGTK"."T"                                4.906 KB       1
. .
导出了 "YANGTK"."T_LEVEL"                          6.234 KB       6
. .
导出了 "YANGTK"."T_LEVEL1"                         6.585 KB       8
. .
导出了 "YANGTK"."T_LOAD_SPACE"                     5.585 KB       5
. .
导出了 "YANGTK"."T_LOG"                            5.273 KB       2
. .
导出了 "YANGTK"."T_NO_EXISTS_BEFORE"               5.257 KB       1
. .
导出了 "YANGTK"."T_TREE"                           5.960 KB       9
. .
导出了 "YANGTK"."T_CHAR"                               0 KB       0
. .
导出了 "YANGTK"."T_COMPRESS"                           0 KB       0
已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为:
  E:\YANGTK.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 00:37:51 成功完成

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-425588/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/4227/viewspace-425588/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值