ORA 04031錯誤的解決思路

2021-06-08 02:55:06 字數 724 閱讀 1216

使用asmm的情況下04031問題很少,但有些應用不合理也會導致記憶體耗盡.

1.沒有使用繫結變數,導致解析資源占用太多

2.開啟過多的cursor不釋放

3.bug

第一種.

使用繫結變數

使用cursor_sharing引數

第二種.

查詢哪個會話開啟的游標比較多

sql> select sid,count(*) from v$open_cursor group by sid order by 2 desc;

sid   count(*)

----------- ----------

148     39

157     25

149     22

147     19

161     16

154     15

162      7

156      7

152      2

150      2

151      1

11 rows selected.

elapsed: 00:00:00.01

sql> select sid,user_name,sql_text from v$open_cursor where sid in (148,157);

找出開啟游標多的sid執行的什麼sql,再根據業務判斷**位置.去修改**

第三種打補丁

ORA 04031 無法分配 共享記憶體

今天現場專案oracle系統定時器插入資料報錯 ora 04031 無法分配 3936 位元組的共享記憶體 shared pool truncate table jxd7 pub rtdb.sga heap 1,0 kglsim object batch 第一種 治標不治本 alter system...

ORA 00119錯誤的解決。

今天在啟動伺服器上的oracle時遇到如下錯誤 sql startup ora 00119 invalid specification for system parameter local listener ora 00132 syntax error or unresolved network n...

解決ORA 00020錯誤

專案上使用的oracle伺服器經常出現無法登陸的情況,嘗試檢視資料庫dump檔案,沒有發現在無法登陸時的報錯資訊,使用securecrt連線伺服器登入sqlplus時出現錯誤 ora 00020 maximum number of processes 150 exceeded 解決方法如下 開始時懷...