在server2008 上进行impdp引发的血案(ORA-39070)

本文详细介绍了在使用Oracle 11g进行数据导入时遇到的问题,包括目录创建、权限设置及操作系统权限限制的影响,并提供了解决方案。主要关注了如何在Server 2008环境下正确配置数据库目录和权限,以确保数据导入过程顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作系统 : server 2008

O/S User : 非administrator

DB version: oracle 11g

 

 

操作步骤:

 1.创建目录:d:\dump_dir

 2.以system用户登录db,并创建directory

     create directory dumpdir as; (注意:此时oracle并不做目录有效性检查)

3.copy dump文件到目录 'd:\dump_dir'

4.执行导入:

expdp test/test@db dumpfile=tables.dmp directory=dumpdir  logfile=n job_name=exptab parallel=4

5.报错

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

6.查询dba_directories, dumpdir对象存在。感觉有些奇怪

7. 查看文件夹'd:\dump_dir'的权限,为只读,改为读写时报没有权限更改的错误。

8.从dba_directories查询出oracle自建的directory对象,例如:DATA_DUMP_DIR, 并将dump文件copy到该目录下

9. 再导入,用DATA_DUMP_DIR

expdp test/test@db dumpfile=tables.dmp directory=DATA_DUMP_DIR logfile=n job_name=exptab parallel=4

  导入成功,但报很多oRA-39111错误,这些错误似乎是正常的:

RA-39111: Dependent object type TRIGGER:"TAICHI_SCHEMA"."KNTA_PARAMETER_SET_FIELDS_TRIG" skipped, base object type VIEW:"TAICHI_SCHEMA"."KNTA_P
DS" already exists

 

总结原因:可能是操作系统权限的限制导致oracle无法在d:\dump_dir 下创建log文件。本人对server 2008不是很熟,所以只能猜测:server 2008可能也有个selinux一样变态的权限控制。

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值