ORA-04030: out of process memory ...(initSubHeap:qk...)的錯誤解決

Jet_Zhang發表於2018-07-10
現象:
執行
SELECT s.index_name, s.table_name, s.uniqueness, s.index_type, s.table_owner FROM all_indexes s WHERE owner = 'BJJH'  AND (funcidx_status IS NULL OR funcidx_status != 'DISABLED') AND table_name not in (SELECT object_name table_name FROM all_objects WHERE owner = 'BJJH'  AND object_type = 'TABLE' AND table_name in  (SELECT table_name from all_snapshots where owner = 'BJJH' )) AND index_name not in (select constraint_name from all_constraints where table_name=s.table_name AND owner= 'BJJH'  AND constraint_type iN ('P','U'))時出錯,報
ORA-04030: out of process memory when trying to allocate 82464 bytes錯誤。

在資料後臺日誌中也出現:
Errors in file /u01/app/oracle/base/database/diag/rdbms/lisdbuat/lisdbuat/trace/lisdbuat_ora_15597602.trc  (incident=192444):
ORA-04030: out of process memory when trying to allocate 82464 bytes (initSubHeap:qk,travElemP:qkspmTravCreate)
Incident details in: /u01/app/oracle/base/database/diag/rdbms/lisdbuat/lisdbuat/incident/incdir_192444/lisdbuat_ora_15597602_i192444.trc
的錯誤資訊。

解決:
查詢Oracle Support, 確認是由於觸發了BUG引起的。透過修改:
alter system set "_optimizer_reuse_cost_annotations" = FALSE;
alter system set "_push_join_predicate" = FALSE;
alter system set "_fix_control"='5302124:off';
alter system set "_optimizer_fast_pred_transitivity"   = false ;
幾個隱含引數後,問題得以解決。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13885898/viewspace-2157611/,如需轉載,請註明出處,否則將追究法律責任。

相關文章