1.客户反馈数据导入报错
impdp .....
ORA-27037-unable to obtain file status;
执行导入命令时报如下错误。以为备份的数据文件损坏,不可恢复。经过分析发现,备份的环境是RAC环境,且在执行expdp 命令时指定了: cluster=n ,即非集群模式备份,仅在当前节点落地数据。那么在恢复的时候也要在使用 cluster=n 进行导入,否则会从另外一个节点相同目录下读取数据进行导入恢复,于是就报上述:ORA-27037 的错误。
2.impdp 中加入 cluster=n 恢复
impdp .... cluster=n
重新导入成功。
该问题在RAC环境下发现,单机环境暂时未发现。
3.数据导入导出其他问题
假如执行:impdp 或 expdp 突然Ctrl+c取消了。但是该备份或恢复任务的中间状态还在数据库里有残留,因为不是正常结束,此时需要人工处理
(1)首先检查数据泵的当前信息。
select job_name,status from dba_datapump_jobs;
(2) 进入imdp
impdp system/oracle
impdp>
impdp>输入:attach=SYS_IMPORT_FULL_01
impdp>输入:stop_job
此时会结束异常中断的:SYS_IMPORT_FULL_01 这个任务。
如果没有清理异常中断的中间数据,第一次会留下:system.SYS_IMPORT_FULL_01 这个表,
第二次异常中断会生成:system.SYS_IMPORT_FULL_02,依次只有异常只要impdp有发生异常中断,就会残留这种表。每导入依次就会生成这个表名字数字加1对应的表。删除即可。
drop table system.SYS_IMPORT_FULL_01;
drop table system.SYS_IMPORT_FULL_02;