讀egyle的sga調整總結(轉)

season0891發表於2008-09-19

本文轉自:http://blog.csdn.net/tesge/archive/2004/06/30/30278.aspx 

首先是幾個錯誤資訊:

1)

skgpspawn failed:category = 27142, depinfo = 12, p = fork, loc = skgpspawn3
Tue Mar 23 13:42:02 2004
skgpspawn failed:category = 27142, depinfo = 12, p = fork, loc = skgpspawn3
:q

該提示說明資料庫無法spawn a new session. (建立新的session)

2)

ERROR:
ORA-12540: TNS: 超出內部限制


內部限制超過,通常說明某些系統資源不足.

3)日誌中記錄如下錯誤資訊,說明磁碟非同步IO出現問題:

WARNING: aiowait timed out 2 times
Tue Aug 26 15:33:32 2003
WARNING: aiowait timed out 2 times
Tue Aug 26 15:33:34 2003

4)alert檔案中還記錄了以下錯誤資訊:

Tue Aug 26 21:37:40 2003
WARNING: EINVAL creating segment of size 0x0000000190400000
fix shm parameters in /etc/system or equivalent


該資訊說明核心引數設定過小或者和SGA不匹配

除錯中用到的一些命令:

1)使用lsnrctl services檢查監聽器的狀態,檢視是否用連線被拒絕,如下:

例程 "hswapdb", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:21 已拒絕:6 狀態:ready
LOCAL SERVER
服務 "hswapdbXDB.eygle.com" 包含 1 個例程。
例程 "hswapdb", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:

2)unix下檢查系統日誌

wapplatform.:/>dmesg

3)檢查系統記憶體及交換區使用(這個非常重要)

# /usr/local/bin/top



last pid: 16899;  load averages:  0.82,  0.81,  0.83                                             21:49:05

1230 processes
:1228 sleeping, 1 running, 1 on cpu

CPU states
: 50.1% idle,  7.4% user,  8.6% kernel, 33.9% iowait,  0.0% swap

Memory: 8192M real, 118M free, 12G swap in use, 11G swap free

我們發現系統僅有8G RAM,實體記憶體僅有118M可用
現在SWAP區使用了12G

5)增加swap區

增加swap區

wapplatform.:/>df -k
檔案系統 千位元組 用了 可用 容量 掛接在
/dev/dsk/c0t1d0s0 3099093 105421 2931691 4% /
/dev/dsk/c0t2d0s0 10325760 8359637 1862866 82% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c0t1d0s3 1018382 285914 671366 30% /var
swap 3904 24 3880 1% /var/run
swap 3936 56 3880 2% /tmp
/dev/dsk/c0t1d0s5 1671823 459202 1162467 29% /opt
/dev/dsk/c0t2d0s7 7087473 6068462 948137 87% /export/home
/dev/dsk/c2t1d0s7 17413250 15900222 1338896 93% /export/home2
/dev/dsk/c0t3d0s7 17413250 13749782 3489336 80% /export/home1
/dev/dsk/c0t1d0s1 771110 382410 334723 54% /usr/openwin
/export/home/wapgw/luke
7087473 6068462 948137 87% /home/wap

wapplatform.:/var/swap>cd /export/home1
wapplatform.:/export/home1>ls
TT_DB lost+found oracle oracli9
wapplatform.:/export/home1>mkdir swap
wapplatform.:/export/home1>cd swap
wapplatform.:/export/home1/swap>mkfile -v 1g swapfile1
swapfile1 1073741824 bytes
wapplatform.:/export/home1/swap>id
uid=0(root) gid=1(other)
wapplatform.:/export/home1/swap>swap -a /export/home1/swap/swapfile1
wapplatform.:/export/home1/swap>swap -s
總數:分配了 623160k 位元組 + 保留 162704k = 已使用 785864k,1010936k 可用

6)檢查system配置檔案


$ cat /etc/system
.......................
set shmsys:shminfo_shmmax=4096000000
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=200
set shmsys:shminfo_shmseg=200
set semsys:seminfo_semmap=1024
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmnu=2048
set semsys:seminfo_semume=200
set semsys:seminfo_semmsl=2048


 

個人總結:

    sga/swap設定不當會引起如下現象:

    使用者請求得不到及時響應,新的程式不斷嘗試建立連線,直到連線數被耗盡。因此當有類似情況發生時,處理步驟為:

1)當然是檢視alert檔案,看具體報的錯誤

2)檢視sga設定情況

3)用top工具檢查系統執行狀況
4)定位錯誤,調整sga大小


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-450361/,如需轉載,請註明出處,否則將追究法律責任。

相關文章