当前位置:  数据库>oracle

Solaris 下 Oracle impdp 过程中出现的问题

    来源: 互联网  发布时间:2017-05-09

    本文导语: ORA-39002: invalid operationORA-39070: Unable to open the log file.ORA-29283: invalid file operationORA-06512: at "SYS.UTL_FILE", line 475ORA-29283: invalid file operation 解决方法参考1: 今天在使用IMPDP完成数据导入的过程中遇到“ORA-39002、ORA-39070……”连续报错。...

ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operation

解决方法参考1:

今天在使用IMPDP完成数据导入的过程中遇到“ORA-39002、ORA-39070……”连续报错。
导致问题原因很简单,但是提示的错误信息内容比较“诡异”,为了朋友们少走弯路,简单记录一下这个问题的处理过程。

1.问题再现
sec@secDB /db_backup/dpump_dir$ impdp sec/sec directory=dpump_dir dumpfile=20100604020437_sec.dmp logfile=impdp.log

Import: Release 10.2.0.3.0 - 64bit Production on Friday, 04 June, 2010 14:39:16

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

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operation

2.问题分析
这里的“ORA-39070”提到的“Unable to open the log file.”初看非常的“诡异”,到底无法打开什么日志文件呢?难道是没有权限在这个目录下写文件?经过“touch”测试排除了这种可能性。
不管怎么说,这个问题与文件操作相关。顺着这个思路继续前行,终于发现原来数据库中的directory数据库对象所指向的目录为“/oradata/dpump_dir”,而在该操作系统中根本没有这个目录,因目录不存在,日志文件也就理所当然的无处可写。

不过这个报错的信息却是不够明显,如果能够给出更多的检查和明确的报错信息就更好了。

sys@ora10g> col owner for a6
sys@ora10g> col DIRECTORY_NAME for a20
sys@ora10g> col DIRECTORY_PATH for a30
sys@ora10g> select * from dba_directories where DIRECTORY_NAME = 'DPUMP_DIR';

OWNER  DIRECTORY_NAME      DIRECTORY_PATH
------ -------------------- ------------------------------
SYS    DPUMP_DIR            /oradata/dpump_dir

3.问题处理
发现问题后,处理方法就简单了许多,只需要重新创建directory数据库对象即可。
sys@sec> drop directory dpump_dir;

Directory dropped.

sys@sec> create directory dpump_dir as '/db_backup/dpump_dir';

Directory created.

sys@sec> grant read, write on directory dpump_dir to public;

Grant succeeded.

4.导致该问题的潜在原因
在10g环境中即使在创建directory数据库对象的过程中即使所引用的目录不存在,该命令也是可以正常创建的,这就是容易误操作的根本原因。
sys@ora10g> create directory dpump_dir_test as '/sec/ool/er';

Directory created.

小心陷阱。

5.小结


导致问题原因很简单,但是提示的错误信息内容比较“诡异”,为了朋友们少走弯路,简单记录一下这个问题的处理过程。

1.问题再现
sec@secDB /db_backup/dpump_dir$ impdp sec/sec directory=dpump_dir dumpfile=20100604020437_sec.dmp logfile=impdp.log

Import: Release 10.2.0.3.0 - 64bit Production on Friday, 04 June, 2010 14:39:16

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

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operation

2.问题分析
这里的“ORA-39070”提到的“Unable to open the log file.”初看非常的“诡异”,到底无法打开什么日志文件呢?难道是没有权限在这个目录下写文件?经过“touch”测试排除了这种可能性。
不管怎么说,这个问题与文件操作相关。顺着这个思路继续前行,终于发现原来数据库中的directory数据库对象所指向的目录为“/oradata/dpump_dir”,而在该操作系统中根本没有这个目录,因目录不存在,日志文件也就理所当然的无处可写。

不过这个报错的信息却是不够明显,如果能够给出更多的检查和明确的报错信息就更好了。

sys@ora10g> col owner for a6
sys@ora10g> col DIRECTORY_NAME for a20
sys@ora10g> col DIRECTORY_PATH for a30
sys@ora10g> select * from dba_directories where DIRECTORY_NAME = 'DPUMP_DIR';

OWNER  DIRECTORY_NAME      DIRECTORY_PATH
------ -------------------- ------------------------------
SYS    DPUMP_DIR            /oradata/dpump_dir

3.问题处理
发现问题后,处理方法就简单了许多,只需要重新创建directory数据库对象即可。
sys@sec> drop directory dpump_dir;

Directory dropped.

sys@sec> create directory dpump_dir as '/db_backup/dpump_dir';

Directory created.

sys@sec> grant read, write on directory dpump_dir to public;

Grant succeeded.

4.导致该问题的潜在原因
在10g环境中即使在创建directory数据库对象的过程中即使所引用的目录不存在,该命令也是可以正常创建的,这就是容易误操作的根本原因。
sys@ora10g> create directory dpump_dir_test as '/sec/ool/er';

Directory created.

小心陷阱。

5.小结

从该问题的处理过程中我们可以看到,在报错信息不实很明显的时候我们往往手足无措。越是在这样的场景,我们越应该沉着冷静,从整个操作的源头一步一步的去排查,终有柳暗花明之时。

解决方法参考2:

 用 oracle  用户登录后 把 directory  指定的路径 赋予权限

chown oracle /data_bak然后再chmod 分别给文件夹 及文件赋予权限

错误二:
ORA-31688: Worker process failed during startup.

一般我们在修改字符集时,会把两个processes参数设置为0。
shutdown immediate;
STARTUP MOUNT;
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
ALTER SYSTEM SET AQ_TM_PROCESSES=0;  --这个参数默认就是0
ALTER DATABASE OPEN;
#ALTER  DATABASE  CHARACTER  SET  INTERNAL_USE  ZHS16GBK;

配置好 重启 用 startup 命令启动

然后执行 imppd 成功


    
 
 

您可能感兴趣的文章:

  • 监视Solaris换页过程(高人请入)
  • 怎样让solaris8在启动的过程中让它自动启动而不出现Ctrl+d的提示?
  • 关于SOLARIS9 12/03的安装过程中设置DNS的问题,急急急!!!
  • 安装solaris出现speedo:report_error(4106)错误
  • Solaris中如果磁盘空间满了,会出现什么情况?
  • solaris上出现warning
  • 在solaris8上编译完成,链接的时候出现Segmentation Fault - core dumped这种错误,请问是什么原因??
  • 安装solaris 10出现问题,向高人求救,谢谢
  • solaris 里面JSP get方式传中文参数 出现乱码的问题
  • solaris下安装oracle出现的异常
  • 安装完毕Solaris 10,出现两个问题:显示不正常;鼠标无指针
  • 在Solaris下,使用xalan对XML转换时,出现错误,怎么办?同样程序在Windows可正常运行。
  • 急。装solaris系统出现grub提示符怎么解决呢?
  • solaris上使用NFS出现的问题
  • solaris 下gcc编译为什么出现这问题~~
  • 100分紧急求救(SOS)!安装Solaris/LINUX后,出现了这样的问题??在线急等!!
  • 本人最近将网页从SOLARIS服务器移植到LINUX服务器,出现了中文显示问题,但我又不想用s.getBytes("8859_1"),"GB2312")逐个修改,不知那位高
  • Solaris安装oracle 10g出现的问题。高手来帮我解决解决。谢谢了。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • solaris 8上能用gcc for solaris7 或 solaris9的版本吗?
  • Solaris菜鸟!!!请问Solaris SPARC和Solaris x86这两个版本之间有什么具体的差异吗?
  • 请问Solaris现在最高的版本是多少?Solaris8.0价格如何?Solaris8.0和Red Hat Enterprise Linux AS 3.0有何区别?
  • 请教solaris高手一个solaris安装问题
  • solaris 10下的多线程和solaris 5.8下多线程编译有什么区别??
  • 听说在solaris上运行java飞快,solaris有多大,如果不大,我想下载,哪有下载?
  • 请问:SOLARIS(for intel)如何装d-link网卡。哪儿下Solaris电子文档。
  • Solaris for X86 和Solaris for Sparc主要区别在哪?
  • 请问Solaris的优势?Solaris下开发相关及系统管理相关资料是否有提供?谢谢
  • telnet 进去的时候我看写着SUN OS5.8,这个是不是Solaris?我找不到Solaris5.8的软件?
  • 没有光碟,怎样从solaris8升级到solaris9?
  • unix/linux知识 iis7站长之家
  • 请问高手,在Solaris 8 gcc3.1编译的 *.o 和库文件 *.a ,可以提供在Solaris 7,9下使用吗?
  • 我装了Solaris后,98和2000都找不到了,启动时直接进入Solaris,该怎么办,请高手指点!
  • solaris开发一窍不通,如何开发Solaris下的c程序?
  • 想用Virtual PC虚拟UNIX,求Solaris 10 ,Solaris 10 for x86版或已经设置好的虚拟文件?
  • 怎么修改IP(SOLARIS),怎么在WIN上用EXTRX!X连上SOLARIS
  • solaris 10 下怎么安装jdk-6u5-solaris-i586.sh? ftp上传大文件中断怎么解决?
  • 专门为难solaris高手,之solaris10的修改最大TCP连接数问题
  • solaris root 的shell搞错了,提示 no shell root 进不了!(solaris 8 for x86)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,