記一次ora-04030錯誤的處理過程
今天客戶說從資料庫後臺發現報錯,具體如下:
Errors in file /oracle/mytest/saptrace/diag/rdbms/mytest/mytest/incident/incdir_183218/mytest_j003_8103_i183218.trc:
ORA-04030: out of process memory when trying to allocate 1052696 bytes (pga heap,log read buffer)
ORA-07445: exception encountered: core dump [kgdsdst()+16] [SIGSEGV] [ADDR:0xFFFFFFFF7FFB4634] [PC:0x1081A1C90] [Address not mapped to object] []
在檢視的時候,並沒有發現有什麼語句問題的,檢查系統限制如下:
# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 10
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 29995
virtual memory (kbytes, -v) unlimited
同時,報錯中指出Address not mapped to object,可能存在沒有足夠的交換分割槽
緊接著,又有如下報錯
Errors in file /oracle/mytest/saptrace/diag/rdbms/mytest/mytest/trace/mytest_psp0_27454.trc:
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
根據官網的介紹如下:
Cause
This issue is mainly caused by lack of memory / swap. Checking the memory configuration on the server, we have found the following
綜合分析,報了04030的錯誤,而下面又分別報了27302及27301的錯誤。根據報錯的意思,一方面,建立會話失敗,另一方面,無法找到對映地址,所以懷疑與交換分割槽有關
該資料庫是安裝在solaris11上面的,檢查如下:
# swap -h -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 285,2 8K 4.0G 4.0G
交換分割槽只有4g,而實體記憶體有40g,顯然過小,應該是由於這個問題引起的
解決辦法就是擴充套件交換分割槽,solaris11的調整方法發生了變化,不同以前的版本
:~# zfs set volsize=30g rpool/swap
檢查調整結果:
# swap -h -l
swapfile dev swaplo blocks free
/dev/zvol/dsk/rpool/swap 285,2 8K 4.0G 4.0G
/dev/zvol/dsk/rpool/swap 285,2 4.0G 26G 26G
調整完成後,叫繼續跟蹤,結果幾個星期過去後,再也沒有報錯!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29371470/viewspace-1193559/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次ORA-00257錯誤的處理過程
- OGG 配置過程中的錯誤處理
- 記一次PMML檔案的處理過程
- 一次scheduler錯誤的處理
- 記一次ceph pg unfound處理過程
- 一次線上問題處理過程記錄
- 【故障處理】一次RAC故障處理過程
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- 記一次線上服務CPU 100%的處理過程
- IMP過程中報ORA-00907錯誤的處理
- 一次壞塊的處理過程(一)
- 一次壞塊的處理過程(二)
- 一次壞塊的處理過程 [轉]
- 記一次linux主機中病毒處理過程Linux
- Go 的錯誤處理策略 筆記Go筆記
- 記一次資料庫高CPU佔用率處理過程資料庫
- 一次ORA-01548錯誤的處理
- 錯誤處理
- PGA引發的ORA-04030報錯的處理思路
- 記一次安卓webview查錯過程安卓WebView
- 一次資料庫異常的處理過程資料庫
- ORACLE資料庫壞塊的處理 (一次壞快處理過程)Oracle資料庫
- go的錯誤處理Go
- STS(SQL Tuning Set)匯入匯出過程及錯誤處理SQL
- 【WebLogic故障處理】一次嚴重的WebLogic記憶體洩漏問題處理過程Web記憶體
- 一次併發處理過程, 基於 RedisRedis
- 一次Row Cache Lock問題處理過程
- Oracle一次縮小表空間的處理過程Oracle
- 記一次12c pdb打補丁失敗處理過程
- 記一次網路異常緩慢問題核查處理過程
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- backup archivelog like 報rman-20242錯誤處理過程Hive
- 記一次VMware的崩潰除錯分析過程除錯