Oracle 当从DIRECT LOAD生成统计数据,导入失败生成ORA-942 IMP-8 或ORA-1031 或ORA-942

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

在本文中
症状
原因
解决方案
参考

适用于:

Oracle Server – Enterprise Edition – 版本9.2.0.7 及以上  [Release: 9.2及以上]
本文信息适用于任何平台。

症状

使用STATISTICS=COMPUTE表级别直接导出且在导入时,导入失败出现各种错误,例如:

IMP-00003: ORACLE error 942 encountered
ORA-00942: table or view does not exist
IMP-00008: unrecognized statement in the export file:…

该错误在所有表都被成功导入后立即出现,但统计部分被引用。

如果 STATISTICS=COMPUTE 参数在导出时被使用,错误出现。

原因

如果你在9.2.0.7 上并使用DIRECT LOAD,不论是导入或SQL*Loader ,且你有一个不拥有对象但被授予权限,如ROLE来执行加载的用户,则你会遇到Bug 4203324

详情:在执行直接模式加载时,如果用户由角色被授予权限,则会出现ORA-1031 ORA-942

解决方案

应用9.2.0.8 补丁集来修正 Bug 4203324 ,在执行直接模式加载时,如果用户由角色被授予权限,则会出现ORA-1031 ORA-942。在导入时,可能也会显示为IMP-8 ORA-942

解决方案:

1. 使用标准模式加载(而非直接模式)或传统导出

或:

2. 将显式访问授予用户,而不使用角色来授予。

或:

3. 对于导出/导入,不要在导入时再生成统计。For Export/Import do not regenerate statistics at import.

或:

4. 使用拥有对象的用户或有DBA 权限的用户来执行加载/导入。

参考

BUG:5567329 – IMPORT GETS IMP-8 ORA-942 DURING STATISTICS DEPENDENT ON USER PRIVS
BUG:4203324 – TC: ORA-1031 WITH LTRIM FUNCTION IN SQLLLDR CONTROL FILE

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号