在对Windows平台的Oracle10g(10.2.0.1)做逻辑导出时,遇到下列错误:
EXP-00056: 遇到 ORACLE 错误 4021
ORA-04021: 等待锁定对象 时发生超时
EXP-00000: 导出终止失败
查看:alert_SID.log :
Memory Notification: Library Cache Object loaded into SGA
Heap size 2071K exceeds notification threshold (2048K)
KGL object name :grant select on ku$_constraint1_view to select_catalog_role
Wed Sep 14 12:55:18 2011
Memory Notification: Library Cache Object loaded into SGA
Heap size 2070K exceeds notification threshold (2048K)
Details in trace file d:\oracle\product\10.2.0\admin\bdcmp\udump\bdcmp_ora_6860.trc
KGL object name :grant select on ku$_constraint1_view to select_catalog_role
Wed Sep 14 12:55:19 2011
Memory Notification: Library Cache Object loaded into SGA
Heap size 2219K exceeds notification threshold (2048K)
Details in trace file d:\oracle\product\10.2.0\admin\bdcmp\udump\bdcmp_ora_6860.trc
Wed Sep 14 12:55:19 2011
Memory Notification: Library Cache Object loaded into SGA
Heap size 2312K exceeds notification threshold (2048K)
Details in trace file d:\oracle\product\10.2.0\admin\bdcmp\udump\bdcmp_ora_6860.trc
KGL object name :grant select on ku$_constraint_view to public
Wed Sep 14 12:55:19 2011
Memory Notification: Library Cache Object loaded into SGA
Heap size 2310K exceeds notification threshold (2048K)
Details in trace file d:\oracle\product\10.2.0\admin\bdcmp\udump\bdcmp_ora_6860.trc
KGL object name :grant select on ku$_constraint_view to public
继而,查看:bdcmp_ora_6860.trc :
Memory Notification: Library Cache Object loaded into SGA
Heap size 2071K exceeds notification threshold (2048K)
LIBRARY OBJECT HANDLE: handle=1581e750 mutex=000000011581E880(0)
name=grant select on ku$_constraint1_view to select_catalog_role
hash=0affe824ce4b60daa509711d0d27a23a timestamp=09-14-2011 12:55:18
namespace=CRSR flags=RON/KGHP/TIM/KEP/PN0/MED/DBN/[50010044]
按照上述信息,查找别人的经验:
http://space.itpub.net/?uid-9082820-action-viewspace-itemid-177296
Solution:
In 10g we have a new undocumented parameter that sets the KGL heap size warning threshold. This parameter was not present in 10gR1. Warnings are written if heap size exceeds this threshold.
Set _kgl_large_heap_warning_threshold to a reasonable high value or zero to prevent these warning messages. Value needs to be set in bytes.
If you want to set this to 8192 (8192 * 1024) and are using an spfile:
(logged in as "/ as sysdba")
SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ;
SQL> shutdown immediate
SQL> startup
之后,再做exp导出,正常.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29512902/viewspace-1180823/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29512902/viewspace-1180823/