ORA-39165错误排查:如何正确导入EPEHCHAN.DMP备份文件?
解决ORA-39165: Schema "epehchan"; was not found.问题
核心错误原因
你的导入命令末尾多了一个分号:impdp epehchan/epehchan123 dumpfile=EPEHCHAN.DMP directory=dump_dir schemas=epehchan;
在操作系统命令行中执行impdp时,分号会被识别为schema名称的一部分,导致Oracle查找epehchan;这个不存在的schema,从而抛出错误。
正确的导入步骤
1. 修正导入命令
去掉命令末尾的分号,执行以下命令:
impdp epehchan/epehchan123 dumpfile=EPEHCHAN.DMP directory=dump_dir schemas=epehchan
2. 验证备份文件中的Schema名称(可选但推荐)
Oracle默认会将对象名称转为大写,若备份文件中的Schema是大写EPEHCHAN,而你用小写导入可能仍会报错。可以先导出备份文件中的DDL来确认:
impdp epehchan/epehchan123 dumpfile=EPEHCHAN.DMP directory=dump_dir sqlfile=schema_verify.sql
打开生成的schema_verify.sql文件,查看其中的Schema名称,若为大写,导入命令改为:
impdp epehchan/epehchan123 dumpfile=EPEHCHAN.DMP directory=dump_dir schemas=EPEHCHAN
3. 修正表空间命令的拼写错误(避免后续问题)
你创建表空间时的autoectend是拼写错误,正确应为autoextend,可以执行以下命令修正:
ALTER TABLESPACE epehchan DATAFILE 'C:\oraclexe\app\oracle\oradata\XE\epehchan' AUTOEXTEND ON;
4. 确认目录配置正确
检查dump_dir对应的实际路径是否为D:\param_bkp\bkp:
SELECT directory_name, directory_path FROM dba_directories WHERE directory_name = 'DUMP_DIR';
若路径不匹配,重新创建目录:
CREATE OR REPLACE DIRECTORY dump_dir AS 'D:\param_bkp\bkp'; GRANT READ, WRITE ON DIRECTORY dump_dir TO epehchan;
内容的提问来源于stack exchange,提问作者Diwakar Chauhan
相关产品推荐
相关产品推荐

