ORA-04031:oracle无法分配共享内存
百度知,是由于oracle的shared_pool空間不夠的原因,解決方式有兩種
第一種:治標(biāo)不治本
?
alter system flush shared_pool;?
?
?
這種方法可以立即有效果,但是不是根本的解決辦法,一小時(shí)左右又開始報(bào)上面的錯(cuò)誤了,再次執(zhí)行就可以了。
?
第二種:治標(biāo)又治本
?
查看:
?
?
SHOW PARAMETERS SHARED_POOL_SIZE?
更改:
alter system set SHARED_POOL_SIZE='50M' SCOPE=both;上面這句話必須在sys用戶下或是用dba的身份登錄的用戶下執(zhí)行。
貼士:shared_pool 是什么東東?
share_pool_size(共享池)的作用:
1、sql共享緩沖池 2、該參數(shù)是庫高速緩存和數(shù)據(jù)字典的高速緩存。?
?
設(shè)置共享池后,可能出現(xiàn)ORA-32001: 已請求寫入 SPFILE, 但是在啟動(dòng)時(shí)未指定 SPFILE
?
alter system set SHARED_POOL_SIZE='50M' SCOPE=both;ORA-32001: 已請求寫入 SPFILE, 但是在啟動(dòng)時(shí)未指定 SPFILE
?
?
?
顯示spfile是未啟動(dòng)狀態(tài)
?
首先確定數(shù)據(jù)庫是以spfile啟動(dòng)的還是pfile啟動(dòng)
?
用show parameter spfile查看如果values對應(yīng)有值,表示是spfile啟動(dòng)的。否則就是pfile啟動(dòng)的。
?
SQL> show parameter spfileNAME????????????????????????????????TYPE???????VALUE
------------------------------------ -----------------------------------------
spfile??????????????????????????????string?????
值為空,表示數(shù)據(jù)庫以pfile啟動(dòng)
要?jiǎng)討B(tài)修改一定要用spfile啟動(dòng)。如果現(xiàn)在是用pfile啟動(dòng),可以這樣切換成spfile啟動(dòng):
?
轉(zhuǎn)載于:https://www.cnblogs.com/leis/p/7365218.html
總結(jié)
以上是生活随笔為你收集整理的ORA-04031:oracle无法分配共享内存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: virtualbox vboxmanag
- 下一篇: 另一鲜为人知的单例写法-ThreadLo