oracle还原 ora 39111,在server2008 上进行impdp引发的血案(ORA-39070)

操作系统 : 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一样变态的权限控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值