调整egyle的sga的方法技巧

调整egyle的sga的方法技巧

首先是几个错误信息:

1)

skgpspawn failed:category = 27142, depinfo = 12, op = fork, loc = skgpspawn3
Tue Mar 23 13:42:02 2004
skgpspawn failed:category = 27142, depinfo = 12, op = 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.8321: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大小