今天一个学习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"] 时)[SPAN]

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 成功完成

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

文章转载自:个人博客

oracle1422,Oracle错误:数据泵导出时报错ORA-1422相关推荐

  1. oracle数据泵导出 不全,Oracle RAC数据泵导出问题处理

    1. 设置导出文件路径 sqlplus / as sysdba SQL> alter session set container=spdb1pdb; SQL> create directo ...

  2. ORACLE之数据泵导出

    ORACLE之数据泵导出 导出数据泵(expdp):执行导出时,expdp先创建MT表,并将对象的信息插入MT表,开始执行实际的导出任务,当所有的对象都导出以后,将MT表也一起导出到转储文件中,等到导 ...

  3. oracle 使用数据泵恢复,oracle 使用数据泵 导出整个db 并恢复

    导出expdp 1.登录oracle服务器(windows2008server-oracle11g-r2) 2.以sysdba身份登录  sqlplus / as sysdba 3.查看是否已有导出目 ...

  4. oracle+rac+导出,Oracle RAC数据泵导出问题处理

    1. 设置导出文件路径 sqlplus / as sysdba SQL> alter session set container=spdb1pdb; SQL> create directo ...

  5. oracle通过数据泵导出导入数据

    1,创建表空间,创建用户的时候指明用户所在的表空间. create tablespace TEST datafile 'H:/work/database/myoracle/oradata/test/t ...

  6. oracle 11g 数据泵导出 19c导入

    1,准备工作 查看dba_directories来查看数据库中已创建的目录 select * from dba_directories; 先使用这个目录: DATA_PUMP_DIR,/home/or ...

  7. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    转载自:http://www.cnblogs.com/jyzhao/p/4530575.html 目的:指导项目侧自行进行简单的数据泵迁移工作. 本文实验环境:Oracle 11.2.0.4,利用数据 ...

  8. oracle导出文件报12154,EXPDP导出时报错ORA-12154

    一.问题描述 做数据迁移时报错ORA-12154 [oracle@qianzhi ~]$ expdp zrd/zrd@qianz directory=DATA_PUMP_DIR dumpfile=20 ...

  9. oracle数据泵导出csv文件,数据泵expdp导出遇到ORA-01555和ORA-22924问题的分析和处理...

    使用数据泵导出数据库数据时,发现如下错误提示: ORA-31693: Table data object "CAMS_CORE"."BP_EXCEPTION_LOG&qu ...

最新文章

  1. 第八届蓝桥杯决赛 图书排列
  2. Angularjs Services
  3. bzoj:3110: [Zjoi2013]K大数查询
  4. ASP.NET Core使用Nacos SDK访问阿里云ACM
  5. .NET Core on K8S 学习与实践系列文章索引 (更新至20191126)
  6. git-stash简单用法
  7. SQL 导出表数据存储过程
  8. leetcode - Anagrams
  9. POJ 3237 Tree (树链拆分)
  10. SpringAOP底层API之代理对象执行流程
  11. 常见Sql面试题及答案
  12. 磁力搜索引擎ZSKY一键安装包
  13. Nutch简介(转2)
  14. linux下查看opencv版本
  15. 如何在Windows 8中将项目添加到新的Win + X菜单
  16. 华为校园编码达人秀(第二季) 查找家谱
  17. 以太坊数据结构与存储分析
  18. unity中使用AO贴图和自发光emission的简单应用
  19. php函数的,php函数
  20. 课代表|支付500万美元,为什么连FBI都无法解开美国油管的勒索软件密码?

热门文章

  1. 1454 糖果的游戏
  2. Beaglebone black PCB源文件点评
  3. 英语口语练习四十八hungr的替换表达
  4. 【Linux】sed命令初接触(1)
  5. 《新参者》——东野圭吾
  6. 【转】追问《我的团长我的团》
  7. 汽车之家股权曝光:平安持股44.8% 一年市值蒸发超600亿港元
  8. 串联和并联电阻办法的阻抗匹配方法解析
  9. JAVA基础详细解释
  10. IEEE会议论文提交时 遇到:“Font Helvetica is not embedded”解决方法