1. 程式人生 > >ORACLE 12c 設定完inmemory_size引數後,報ORA-04031錯誤

ORACLE 12c 設定完inmemory_size引數後,報ORA-04031錯誤

環境:

Redhat LINUX 6U5 64位+ORACLE 12.1.2.0 64位

描述:

安裝了臺測試庫12.1.2.0 , 記憶體256GB,設定資料庫memory_max_target、memory_target、sga_max_size 引數是 236GB,在使用inmemory功能時設定 "alter system set inmemory_size=200G scope=spfile"  後,重啟庫 報“ORA-04031: unable to allocate 4984 bytes of shared memory ("shared pool","unknown object","sga heap(2,0)","I/O stat latches")”  

分析:

從報錯資訊來看是沒有記憶體可以分析給資料庫使用,但是已經分配了236G給資料庫使用,為什麼還報沒有記憶體分配呢?很是疑問

1), 通過錯誤資訊在metalink上找到如下相關問題:

連結如下:

https://support.oracle.com/epmos/faces/CommunityDisplay?resultUrl=https%3A%2F%2Fcommunity.oracle.com%2Fthread%2F3601868&_afrLoop=7034941515679&resultTitle=12c+and+inmemory_size+togheter+with+memory_target+gives+ORA-04031&commId=3601868&displayIndex=2&_afrWindowMode=0&_adf.ctrl-state=16pvs6tsxv_329

理解的大致意思是減少inmemroy_size的大小,inmemory_size 引數的大小是 memory_target大小的 的一半左右 ,執行“ alter system set inmemory_size=130G scope=spfile”  啟庫後一切正常。

2),但覺得既然記憶體這麼大就要發揮它的最大效率,經過ITPUB網友指點最終解決了這個問題,原來inmemory_size不屬於AMM管理,啟用AMM管理記憶體導致SGA和inmemory_size的大小超過伺服器的記憶體大小。

詳見:http://www.itpub.net/thread-1931524-1-1.html 

解決方法:

1),啟用ASMM

alter system set memory_max_target=0 scope=spfile;
alter system set memory_target=0 scope=spfile;
alter system set sga_max_size=236G scope=spfile;
alter system set sga_target=236G scope=spfile;
alter system set inmemory_size=226G scope=spfile;


2),配置huge_page

a, 檢視記憶體大小

[[email protected] ~]$ free -t
                    total              used               free            shared    buffers     cached
Mem:     264633004  252983532   11649472          0      55148    1318184
-/+ buffers/cache:     251610200      13022804
Swap:     32767992          0               32767992
Total:      297400996  252983532   44417464

b,將檢視的記憶體總大小增加到limits.conf檔案中

[[email protected] ~]# cat /etc/security/limits.conf 
#在最後端增加兩行
oracle soft memlock  264633004
oracle hard memlock 264633004

c,執行在MOS 401749.1中下載的指令碼hugepages_settings.sh

注意:執行指令碼,注意這個過程中要求Oracle所有例項,包括資料庫和ASM都啟動、AMM關閉,以及SGA大小超過100M。

得出推薦結果

Press Enter to proceed...
 
Recommended setting: vm.nr_hugepages = 120836

d,將結果新增到sysctl.conf 結尾

[[email protected] ~]# tail -n 1  /etc/sysctl.conf

vm.nr_hugepages = 120836

e, 使用sysctl –p生效設定

f, 關閉資料庫,重啟伺服器

g, HugePage啟動檢驗, HugePages_Total 不等於HugePages_Free說明生效了

[[email protected] ~]# grep Huge /proc/meminfo

AnonHugePages:    145408 kB
HugePages_Total:   120836
HugePages_Free:        3
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:          2048 kB

總結:

導致這個問題的原因是使用了AMM,由於SGA和PGA自動分配,有可能自動分配不合理,比如:PGA或其它pool 分配過大,導致在啟庫時不能分配足夠多的記憶體空間給其它的pool,從而導致報4031錯誤,當然這是猜測並沒有論證,事實真相還有待高手揭密。

參考來自: http://blog.itpub.net/17203031/viewspace-774843/

相關推薦

ORACLE 12c 設定inmemory_size引數ORA-04031錯誤

環境: Redhat LINUX 6U5 64位+ORACLE 12.1.2.0 64位 描述: 安裝了臺測試庫12.1.2.0 , 記憶體256GB,設定資料庫memory_max_target、memory_target、sga_max_size 引數是 236GB,在

記憶體引數調整ORA-00845錯誤

作業系統環境:linux 7.2 資料庫版本:Oracle  11.2.0.4 資料庫框架:單例項 資料儲存形式:本地檔案系統 過程描述:虛擬機器增大實體記憶體,資料庫相應的調整 sga , pga 大小。 Oracle 11g 調整PAG,SGA的方式有兩種 第一種: 記

訪問Weblogic中部署的ADF應用時ORA-01005錯誤

今天在將Oracle Summit Demo 部署到獨立的Weblogic中時,一直報ORA-01005異常;在Integrated Weblogic中執行則是一直正常。 主要異常Log如下: ####<Apr 29, 2013 3:16:40 PM CST>

當程序員寫代碼感同身受……

tle strong 不同 uia aaa c99 gpa fib data 如果你是程序員,相信看完後,你會默默點個! 從此循環,估計可能到頭了…… 微信關註“蝸牛新視界”,帶你玩不同. 當程序員寫完代碼後,看完感同身受……

feign的callback設定項目啟動錯誤

doget bject starting servle eba tor exceptio hello IT 錯誤如下: Error starting ApplicationContext. To display the auto-configuration report

oracle 大表刪除數據回收空間的問題

轉載 get 分數 數據 utm wid 除了 cascade 減少 轉載一篇文章,關於Oracle數據庫表刪除數據後,釋放空間的問題,原文地址:https://blog.csdn.net/lenovouser/article/details/53422773,內容如下:

給元素設定了固定座標點選事件失效

<body> <div class="foot"> <div class="price">價格</div> <div class="go-time choosed">出發 <span>早</spa

通過ajax傳送post請求向controller傳遞引數頁面無法跳轉問題

我的專案之前都是用location.href來向後臺傳遞引數,因為最近在學習ajax,所以將傳值方式改成了ajax傳送post請求,於是問題便接踵而來,我發現在controller中通過返回ModelAndView物件竟然不能實現頁面跳轉了,剛開始百思不得其解,現在總算明白這到底是怎麼一回事了,也想

SpringBoot專案攔截器中通過流獲取Request請求物件中的引數控制器中@RequestBody註解引數獲取不到

一、場景     第一次搭建專案開發環境,需要在專案中實現日誌攔截器,用來獲取使用者請求引數日誌,以便在後期維護中出現BUG時能夠快速定位錯誤發生的場景。請求引數一般通過GET和POST方式進行傳遞,GET請求引數獲取通過request.getParameterMap()獲

WPF 設定了陰影效果Y軸位置會有變化的問題

背景 最近遇到一個動畫執行時,文字位置變化的問題。如下圖: 如果你仔細看的話,當星星變小時,文字往下降了幾個畫素。 貌似有點莫名其妙,因為控制元件之間並不在同一個Panel佈局控制元件中,不存在高度限制變化引發此類問題。所以有了如下測試 測試場景 字型型別影響 1. 首先新建了一個空專案,前面

bootstrap table裡th設定data-width="400px"發現url不能適應th突破限制。

問題效果,導致後面操作按鈕排版變形: 然後在css中td後面加上 word-break:break-all;換行成功。 .table-responsive .bootstrap-table .

SpringBoot攔截器或過濾器中使用流讀取引數controller中註解讀取不到引數

今天出現這樣一個問題: 現在開發的專案是基於SpringBoot的maven專案,有個需求就是要加一個攔截器和過濾器,在攔截器中我需要獲取到前端傳過來的json資料,按照常理來說,獲取請求引數使用request.getParameter()方法就可以,但是不知

MyBatis(三) 解決設定資料庫自增導致兩表關聯插入的資料不匹配問題

最近在做關聯資料插入的時候,遇到一個問題,先描述一下我遇到的問題:有三張表:商品表:goods(id,name,price)                訂單表:payment(id,payment_date,count)                關係表:relati

Oracle 12C優化器的巨大變化上生產必讀(下)

在Oracle 12c資料庫中,隨著新的查詢優化自適應方法的引入,還有對可用的統計資訊的強化,優化器實現了一個巨大的飛躍。在《Oracle 12C優化器的巨大變化,上生產必讀(上)》一文中,已經為大家介紹了優化器和其統計資訊的一些新的特性,今天就讓我們繼續這個話題,一起來揭曉Oracle 12C其他

Oracle 12C優化器的巨大變化上生產必讀(上)

2、自適應計劃  自適應計劃使得優化器能夠延遲產生一個語句的最終計劃,直到執行的時候才決定。優化器在它所選擇的計劃(預設計劃)中植入統計收集器,從而在執行的時候,它能夠判斷自己的基數估算與計劃的操作所實際看到的行數是否有很大的偏差。如果有顯著的區別,那麼這個計劃或者計劃的一部分在SQL語句的首次執

關於設定了LayoutAlgorithm.SINGLE_COLUMN某些手機的webview仍然無法適配圖片的解決方案

    為了讓web上的富文字編輯後的html能夠在手機的webview中適配顯示,基本上只要設定了LayoutAlgorithm.SINGLE_COLUMN都能夠解決(需要指定一個targetSdkVersion),但是發現某些手機,比如MX3上卻無法適配,找了很多方法都

oracle update並commit誤操作利用閃回方法 flashback可以還原上個時間點的資料

今天在生產環境更新一個選單的URL時,用update更新資料,但是忘記加上where限定條件,將所有選單的URL都更新為同一個。一時間感覺我惹大事了,慌忙找了個以前的備份表將整個表替換掉。可是備份表與真是表之間存在一些差異,結果就只能一個一個查詢並修改了。 事後才淡定下來,

一次在安裝VMware tools系統無法進入圖形使用者介面

X-Window啟動不了,檢視/var/log/XFree86.0.log中有如下錯誤資訊:“Fatal server error: could not open default font 'fixed'”,如何解決?"[email protected]#?9S3x)m c![tech.techwe

安裝Linux系統重啟時進不了系統仍然讓繼續安裝問題

用的是VMware虛擬機器,裝centOS,在下載完成後點重啟時直接跳回到了安裝介面讓重新安裝,這是因為沒有移除映象檔案。此時點選關閉電源進入配置介面: 雙擊左側“CD/DVD”,在彈出框中選擇“使用物理驅動器”後點

設定TextBlock預設樣式其他控制元件的Text相關屬性設定失效問題

原文: 設定TextBlock預設樣式後,其他控制元件的Text相關屬性設定失效問題 問題: 定義了預設TextBlock樣式後,再次自定義下拉框 or 其他控制元件 ,當內部含有TextBlock時,設定控制元件的字型相關樣式無效,系統始終使用TextBlock設定預設樣式 解決方案: