oracle进行expdp多个表,其中一个报错39166
时间: 2024-04-22 07:23:40 浏览: 85
错误代码 39166 意味着在使用 Data Pump 工具时,导出作业出现了错误。具体来说,这个错误通常是由于表不存在或者无法访问表导致的。如果你使用的是多个表进行 expdp,那么可能是其中一个表出现了问题,导致整个作业失败。
针对这个问题,你可以采取以下措施:
1. 确认表是否存在。可以通过以下命令来检查:
SELECT table_name FROM dba_tables WHERE table_name = 'table_name';
2. 确认你是否有访问表的权限。可以通过以下命令来检查:
SELECT * FROM dba_tab_privs WHERE table_name = 'table_name';
3. 如果表确实存在并且你有访问权限,可以尝试单独导出这个表,看看是否能够成功。可以使用以下命令来导出单个表:
expdp user/password tables=table_name directory=dpump_dir dumpfile=table_name.dmp logfile=table_name.log
希望这些信息能够对你有所帮助。
相关问题
该语句"expdp oea_dd/oea_dd**@10.92.3.23/orcl dumpfile=星期%date%:~11,3%.dmp logfile=星期%date%:~11,3%.log directory=DP_TEST exclude="TABLE:\"IN \"SYS_LOG\"\"" parallel=16"于windows系统cmd运行,导出远程oracle数据库文件时报错,报错内容:LRM-00112: 参数 'logfile' 不允许有多个值。请分析原因,及给出解决办法
根据报错信息,参数 'logfile' 不允许有多个值,说明在该语句中 logfile 参数被赋了多个值。根据语句中的日期格式化部分 "星期%date%:~11,3%",可以猜测这是在 Windows 系统中运行的语句,而 Windows 系统中的日期格式化与 Linux 系统中有所不同,可能导致该语句中 logfile 参数被赋了多个值。
解决办法是将 logfile 参数的值改为一个固定的文件名,例如 "logfile=export.log",避免使用日期格式化部分。另外,由于 exclude 参数中包含空格,需要将其用引号引起来,即 "exclude=TABLE:\"IN SYS_LOG\""。最终语句如下:
expdp oea_dd/oea_dd**@10.92.3.23/orcl dumpfile=星期%date%:~11,3%.dmp logfile=export.log directory=DP_TEST exclude=TABLE:\"IN SYS_LOG\" parallel=16
阅读全文