【ASK_ORACLE】LOCK_SGA引數失效的解決辦法
實驗環境
搭建平臺:VMware Workstation
OS:RHEL 6.10
Grid&DB:Oracle 11.2.0.4
問題描述
在Oracle啟動時設定了引數LOCK_SGA為“TRUE”,想把SGA固定到記憶體中,但是引數不生效。
使用命令“ipcs -m”檢查我們可以看到該段未鎖定在記憶體中( status未顯示“locked”):
# ipcs -m
------ Shared Memory Segments --------
###此處省略部分輸出###
key shmid owner perms bytes nattch status
0xf7fff118 458758 oracle 600 42815455232 1353
並且從啟動OS的跟蹤日誌就可以看到SHM_LOCK是由Oracle程式設定的:
10068 shmctl(196610, IPC_64|IPC_RMID, 0) = 0
10068 shmget( 0xf7fff118, 42815455232, IPC_CREAT|IPC_EXCL|SHM_HUGETLB|0600) = 458758
10068 shmctl(458758, IPC_64| SHM_LOCK, 0) = 0
解決辦法
排查發現OS配置了HugePages,在這種情況下,段不能被鎖定或解鎖,並且OS核心永遠不會設定鎖定標誌。因為HugePages已經把SGA固定在記憶體中了。
所以, 只需要刪除HugePages的配置引數並重啟OS就能解決。
注:
如何配置 HugePages可參考文件(刪除裡面的引數並重啟即可): http://blog.itpub.net/69992972/viewspace-2764357/
完成前面的步驟後再次執行“ipcs -m”發現status變成“locked”,說明引數生效:
# ipcs -m
------ Shared Memory Segments --------
###此處省略部分輸出###
key shmid owner perms bytes nattch status
0xf7fff118 458758 oracle 600 42815455232 1353 locked
注:
1. 在Linux和AIX上,把Oracle(需要10gR2及更高版本)的初始化引數PRE_PAGE_SGA 和LOCK_SGA設定為“TRUE”可以將SGA固定到記憶體中且不產生swap。但是HugePages已經使SGA固定到記憶體中且不產生swap,因此不需要這些引數來再次使SGA固定。
2. 本人推薦使用 HugePages來固定SGA
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2782735/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- height:100%失效解決辦法
- Eclipse 快捷鍵失效解決辦法整理Eclipse
- medz/cors 跨域突然失效的解決辦法!CORS跨域
- UICollectionView設定行間距失效,解決辦法UIView
- ubuntu域名解析暫時失效解決辦法Ubuntu
- 織夢dedecms channelartlist下autoindex失效解決辦法Index
- 【ASK_ORACLE】Oracle RAC報錯“ipc send timeout”的原因以及解決辦法Oracle
- 解決requests庫中session.verify引數失效的問題Session
- XML檔案中url路徑中&失效解決辦法XML
- springboot 2.0中 PUT請求 接收不到引數解決辦法Spring Boot
- 織夢繫統引數設定出現Token mismatch!提示的解決辦法
- 公寓噪音的解決辦法
- React Native 解決 Navigator.pop 無法傳引數React Native
- github慢解決辦法Github
- Namespoace Terminating 解決辦法
- SpringBoot框架:兩個方法同時呼叫時父方法使內部方法的DataSource註解失效的解決辦法Spring Boot框架
- 高防上傳HTTPS證書出現“引數格式錯誤”報錯的解決辦法 – HTTPS SSL 教程HTTP
- 檔案無法粉碎解決辦法
- Vue 下 ESLint 的 error 解決辦法VueEsLintError
- git報錯400的解決辦法Git
- celery Discarding revoked task: ... 的解決辦法
- c# excel讀取的日期變成整數的解決辦法C#Excel
- 安裝IE8後引發的兩個問題及解決辦法
- jvm:jmap無法dump檔案的解決辦法JVM
- kali更新源數字簽名錯誤解決辦法
- post傳引數,但是後端無法接收問題解決後端
- mListView.setOnItemClickListener的函式失效的處理辦法。View函式
- 記vscode無法啟動解決辦法VSCode
- puppeteer 安裝失敗的解決辦法
- ORA-01034: ORACLE not available的解決辦法OracleAI
- idea Git Force Checkout後的解決辦法IdeaGit
- ORA-04031的傻瓜解決辦法(轉)
- php json提交亂碼的解決辦法PHPJSON
- web前端陣列塌陷的解決辦法Web前端陣列
- PHP提示Notice: Undefined variable的解決辦法PHPUndefined
- git出現Permission denied的解決辦法Git
- 方差與偏差的解釋和解決辦法
- 關於Android檔案數過大,分包問題的解決辦法Android