oracle 错误总结

来源:互联网 发布:收费网站源码 编辑:程序博客网 时间:2024/05/18 20:05

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

原文章:http://blog.itpub.net/29654823/viewspace-1779828/

今天要把测试库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参数就会失效,就会倒进用户默认的表空间,
 
导入语句改成上面的,然后执行就成功了,没有报错。



原创粉丝点击