oracle expdp 问题

yuan731 2014-07-03 01:15:48
数据库导出时报错,请高手们帮忙看看,怎么解决,谢谢。

db1[/tmp/tmp]$expdp qt/123456 DIRECTORY=dump DUMPFILE=a.dump logfile=a.log schemas=qt

Export: Release 11.2.0.1.0 - Production on Thu Jul 3 12:50:57 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user SYSTEM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT_INT", line 798
ORA-39244: Event to disable dropping null bit image header during relational select
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.KUPC$QUE_INT", line 1825
ORA-24001: cannot create QUEUE_TABLE, SYS.KUPC$DATAPUMP_QUETAB_1 already exists
...全文
391 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuan731 2014-07-03
  • 打赏
  • 举报
回复
引用 4 楼 AcHerat 的回复:
重新编译也失效 dbms_utility.compile_schema(user,false); 这个能否执行,怎么那么多失效对象,你是否做过什么。
SQL> exec dbms_utility.compile_schema(user,false); BEGIN dbms_utility.compile_schema(user,false); END; * ERROR at line 1: ORA-20001: Cannot recompile SYS objects ORA-06512: at "SYS.DBMS_UTILITY", line 387 ORA-06512: at line 1 我是把实例按用户expdp导出,在新数据库中创建好一个实例,进行impdp导入,正式迁移前还做了测试,创建好了实例,进行impdp导入,也进行过对比,也能进行expdp导出,可在真正迁移时导入进去后就导出不了了。恳请大侠指点。
AcHerat 2014-07-03
  • 打赏
  • 举报
回复
重新编译也失效 dbms_utility.compile_schema(user,false); 这个能否执行,怎么那么多失效对象,你是否做过什么。
yuan731 2014-07-03
  • 打赏
  • 举报
回复
引用 1 楼 AcHerat 的回复:
重新配置下数据字典 执行catalog.sql and catproc.sql来配置后台数据字典 sql>@?/rdbms/admin/catalog.sql sql>@?/rdbms/admin/catproc.sql 【执行数据字典的编写应该检测是否有失效的对象,如有失效应该执行以下】 SQL> connect / as sysdba SQL> @?/rdbms/admin/catmetx.sql SQL> @?/rdbms/admin/utlrp.sql
我执行了select count(*) from dba_objects where status='INVALID'; 查到有458个无效对象 执行完SQL> @?/rdbms/admin/catmetx.sql 后执行 SQL> @?/rdbms/admin/utlrp.sql 显示 TIMESTAMP -------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN 2014-07-03 17:00:59 DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC> objects in the database. Recompilation time is proportional to the DOC> number of invalid objects in the database, so this command may take DOC> a long time to execute on a database with a large number of invalid DOC> objects. DOC> DOC> Use the following queries to track recompilation progress: DOC> DOC> 1. Query returning the number of invalid objects remaining. This DOC> number should decrease with time. DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6); DOC> DOC> 2. Query returning the number of objects compiled so far. This number DOC> should increase with time. DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED; DOC> DOC> This script automatically chooses serial or parallel recompilation DOC> based on the number of CPUs available (parameter cpu_count) multiplied DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu). DOC> On RAC, this number is added across all RAC nodes. DOC> DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel DOC> recompilation. Jobs are created without instance affinity so that they DOC> can migrate across RAC nodes. Use the following queries to verify DOC> whether UTL_RECOMP jobs are being created and run correctly: DOC> DOC> 1. Query showing jobs created by UTL_RECOMP DOC> SELECT job_name FROM dba_scheduler_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC> DOC> 2. Query showing UTL_RECOMP jobs that are running DOC> SELECT job_name FROM dba_scheduler_running_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC># 在这就一直不动了,ctrl+c后 ERROR at line 1: ORA-01013: user requested cancel of current operation ORA-06512: at "SYS.UTL_RECOMP", line 783 ORA-06512: at line 4 求大侠指点。
yuan731 2014-07-03
  • 打赏
  • 举报
回复
引用 楼主 yuan731 的回复:
数据库导出时报错,请高手们帮忙看看,怎么解决,谢谢。 db1[/tmp/tmp]$expdp qt/123456 DIRECTORY=dump DUMPFILE=a.dump logfile=a.log schemas=qt Export: Release 11.2.0.1.0 - Production on Thu Jul 3 12:50:57 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options ORA-31626: job does not exist ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user SYSTEM ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$FT_INT", line 798 ORA-39244: Event to disable dropping null bit image header during relational select ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86 ORA-06512: at "SYS.KUPC$QUE_INT", line 1825 ORA-24001: cannot create QUEUE_TABLE, SYS.KUPC$DATAPUMP_QUETAB_1 already exists
我执行了select count(*) from dba_objects where status='INVALID'; 查到有458个无效对象 执行完SQL> @?/rdbms/admin/catmetx.sql 后执行 SQL> @?/rdbms/admin/utlrp.sql 显示 TIMESTAMP -------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN 2014-07-03 17:00:59 DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC> objects in the database. Recompilation time is proportional to the DOC> number of invalid objects in the database, so this command may take DOC> a long time to execute on a database with a large number of invalid DOC> objects. DOC> DOC> Use the following queries to track recompilation progress: DOC> DOC> 1. Query returning the number of invalid objects remaining. This DOC> number should decrease with time. DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6); DOC> DOC> 2. Query returning the number of objects compiled so far. This number DOC> should increase with time. DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED; DOC> DOC> This script automatically chooses serial or parallel recompilation DOC> based on the number of CPUs available (parameter cpu_count) multiplied DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu). DOC> On RAC, this number is added across all RAC nodes. DOC> DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel DOC> recompilation. Jobs are created without instance affinity so that they DOC> can migrate across RAC nodes. Use the following queries to verify DOC> whether UTL_RECOMP jobs are being created and run correctly: DOC> DOC> 1. Query showing jobs created by UTL_RECOMP DOC> SELECT job_name FROM dba_scheduler_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC> DOC> 2. Query showing UTL_RECOMP jobs that are running DOC> SELECT job_name FROM dba_scheduler_running_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC># 在这就一直不动了,ctrl+c后 ERROR at line 1: ORA-01013: user requested cancel of current operation ORA-06512: at "SYS.UTL_RECOMP", line 783 ORA-06512: at line 4 求大侠指点。
AcHerat 2014-07-03
  • 打赏
  • 举报
回复
重新配置下数据字典 执行catalog.sql and catproc.sql来配置后台数据字典 sql>@?/rdbms/admin/catalog.sql sql>@?/rdbms/admin/catproc.sql 【执行数据字典的编写应该检测是否有失效的对象,如有失效应该执行以下】 SQL> connect / as sysdba SQL> @?/rdbms/admin/catmetx.sql SQL> @?/rdbms/admin/utlrp.sql

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧