以下查询在10g中生成以下错误:
select DBMS_METADATA.GET_DDL('TABLE','TEST_TABLE','TEST') from dual;
得到了:
ORA-04031: unable to allocate 128 bytes of shared memory ("shared pool","SELECT /*+rule*/ SYS_XMLGEN(...","sql area","qeeOpt: qeesCreateOpt")
ORA-06512: at "SYS.DBMS_METADATA", line 1546
ORA-06512: at "SYS.DBMS_METADATA", line 1583
ORA-06512: at "SYS.DBMS_METADATA", line 1901
ORA-06512: at "SYS.DBMS_METADATA", line 2792
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1
从某些方面来看,这个问题似乎可以通过调整Oracle的一些共享内存参数来解决。
但是,是否有人可以提供一些关于错误可能原因的额外信息?这只是一个没有大约10列的表,所以如果查询本身是问题的根源,我会感到惊讶。另外,蟾蜍可以显示我所有的DDL。
我应该找什么东西?或者我应该将此错误发送给我的DBA并说“请修复?”