oracle 错误总结

C:\Users\bim>impdp nskftest/kingdee@dms directory=db_bak dumpfile=weiyan170424.dmp logfile=testimpdp.log


Import: Release 11.2.0.4.0 - Production on 星期五 8月 4 15:19:40 2017


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


连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Produc
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39006: 内部错误
ORA-39213: 元数据处理不可用


SQL> execute sys.dbms_metadata_util.load_stylesheets;
BEGIN sys.dbms_metadata_util.load_stylesheets; END;

*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 201 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 201: 'H:\APP\ADMINISTRATOR\ORADATA\DMS\TEMP01.DBF'
ORA-06512: 在 "SYS.DBMS_METADATA_UTIL", line 2526
ORA-06512: 在 line 1


SQL> alter database datafile 'H:\APP\ADMINISTRATOR\ORADATA\DMS\TEMP01.DBF' offline drop;
alter database datafile 'H:\APP\ADMINISTRATOR\ORADATA\DMS\TEMP01.DBF' offline drop
*
第 1 行出现错误:
ORA-01516: 不存在的日志文件, 数据文件或临时文件
"H:\APP\ADMINISTRATOR\ORADATA\DMS\TEMP01.DBF"




SQL> alter database tempfile 'H:\APP\ADMINISTRATOR\ORADATA\DMS\TEMP01.DBF' dropincluding datafiles;


数据库已更改。



SQL> alter tablespace temp add tempfile 'D:\APP\ADMINISTRATOR\ORADATA\DMS\TEST02.DBF' size 100M autoextend on;


表空间已更改。


SQL> exec dbms_metadata_util.load_stylesheets;


PL/SQL 过程已成功完成。







Import: Release 11.2.0.4.0 - Production on 星期一 8月 7 09:50:18 2017


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
;;; 
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 1 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04063: package body "SYS.KUPW$WORKER" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.KUPW$WORKER" 的程序单元
ORA-06512: 在 line 2


解决方法:

1、首先尝试去编译这个包:
SQL> alter package SYS.DBMS_METADATA compile package;
SQL> alter package SYS.DBMS_METADATA compile body;

2、如果上述报错,尝试下面的方法:
SQL> shutdown immediate;
SQL> startup upgrade;
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql;//执行这个脚本后,创建数据库的统计视图,审计视图
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql;//数据库具pl/sql的使用功能
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql;//编译数据库中的失效对象utlrp.sql
SQL> shutdown immediate;
SQL> startup;

再执行导出语句。

ORA-01119:创建数据库文件'D:\oracle\sonar.dbf'时出错
ORA-27038:所创建的文件已存在
OSD-04010:指定了<create>选项,但文件已经存在

drop tablespace sonar including contents and datafiles;


ORA-39112: dependent object type comment skipped


今天要把测试库schema用expdp倒进生产数据库中,本来非常简单的几个步骤,遇到了大量的 ora-39112: dependent object type comment skipped 这个错误。


网上查了查,导致这个问题的情况大致有一下几个情况,

1,在原来测试库中,目标schema和别的用户相互授权了,可是你导出的dmp中没有包含所有的用户,导入时对应用户没有创建。
2,再就是,表空间问题,测试库中的用户下的某个表的索引没有在他的默认表空间里,这样你要在目标端(这里就是生产环境),创建好对应的表空间,
就是说如果你在测试库把a用户的下的某个表的权限授给了b,那么你在把a用户用数据泵倒进生产库时,他会在生产库中检测有没有用户b。也要做相同的操作。

仔细一想还真是这样的情况。

解决办法:
使用impdp工具完成数据导入时,会按照dump文件中有关的存储的参数信息完成数据的导入。很多情况下我们希望按照被导入用户的默认参数完成数据的导入,
此时我们可以使用impdp的transform参数辅助完成


 impdp system/Oracle  directory=mydump dumpfile=newllmj.dmpremap_tablespace=llmj_db:gold_mj_tab   remap_schema=newllmj:gold_mj schemas=newllmj table_exists_action=replace transform=segment_attributes:n
 
 remap_tablespace=llmj_db:gold_mj_tab  原来表空间:新的表空间
 remap_schema=newllmj:gold_mj          原来的schema:现在的schema
 transform=segment_attributes:n 去掉表空间和存储子句,加上这个参数后,remap_tablesapce参数就会失效,就会倒进用户默认的表空间,
 
导入语句改成上面的,然后执行就成功了,没有报错。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑头人

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值