今天在10g上用exp导出数据时报如下错误:
EXP-00056: ORACLE error 4045 encountered
ORA-04045: errors during recompilation/revalidation of SYS.KU$_XMLSCHEMA_VIEW
ORA-22973: size of object identifier exceeds maximum size allowed
EXP-00056: ORACLE error 4045 encountered
ORA-04045: errors during recompilation/revalidation of SYS.KU$_XMLSCHEMA_VIEW
ORA-22973: size of object identifier exceeds maximum size allowed
EXP-00000: Export terminated unsuccessfully
在网上搜索到了一个解决方法(Toms_zhang给出来的)
conn /as sysdba、
select object_name,status from dba_objects
where object_name='KU$_XMLSCHEMA_VIEW';
if invalid then
alter view SYS.KU$_XMLSCHEMA_VIEW compile;
end if;
if ORA-22973 occur then
try :
alter session set nls_length_semantics=byte;
alter view KU$_XMLSCHEMA_VIEW compile;
end if;
good luck
按照Toms_zhang给出的方法实施后,问题果然解决了。而且根据出错提示ORA-22973: size of object identifier exceeds maximum size allowed和Toms_zhang中给出的alter session set nls_length_semantics=bytes这个操作可以看出问题出在nls_length_semantics这个设置上,于是连接到目标数据库通过show parameter nls_length_semantics查看该参数取值为char,而这个参数默认设置为bytes,看来问题确实是由于这个参数设置导致exp导出时发生了错误。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20801486/viewspace-723575/ ,如需转载,请注明出处,否则将追究法律责任。