Archive for June, 2008

swap导致的数据库不能访问

Monday, June 30th, 2008

      事情总是一块来的。今天因为是月底最后一天,刚好还有2个数据订正要做,正在编写脚本、同开发人员确认处理逻辑,且催得很急。不巧的是,测试db这时也出问题,load很高。没办法订正先放下来,解决测试的问题,否则影响下午的测试。
  新建ssh连接没有反应,好在此前已经有一个ssh terminal连在服务器上,top命令打下去就没有响应了,等了几分钟终于出来结果。发现top的进程列表排在最前面的是两个进程kscand和kswapd,注意到swap分配的内存为0,被使用的swap内存也为0. 因为cpu太忙,输入的命令都不可能,通知测试人员先把测试服务器的应用停了下来。为什么swap内存没有分配了,fdisk -l 发现 /dev/sdg2  是swap对应的分区,检查/etc/fstab 发现swap对应的设备是/dev/sda2,奇怪磁盘设备的编号怎么不一样了?
    通过powermt查看存储的磁盘路径,有2个lun分配给系统,lun 3有2个通道设备/dev/sda,/dev/sdc,lun 8有2个通道设备/dev/sdb,/dev/sdd,记得机器安装配置时lun分配的设备应该只有lun 3。lun 8是后加的,印象中记得以前本地硬盘的设备编号是/dev/sda。应该就是这个导致了系统的load飙高,因为没有swap,导致系统的内存有4G被用作swap,导致页换进换出,系统消耗的cpu很高。swapon /dev/sdg2,编辑/etc/fstab的swap设备,重新mount -a.
    通知测试启动环境应用,故障消失。检查db日志和v$pgastat都没有发现异常,因为应用被强制停止的,所以当时在运行的sql和等待事件都没法知道。但从现在来看应该是swap导致了这次的问题,什么原因导致swap的设别名被更改了,还真不太确定,不知道跟上次动态从存储分配一个lun过来有没有关系。
   ps:
os: redhat as3 u4   机器内存8G,4cpu,sga 1.6 gb + pga  200m .
   

Oracle version explain

Wednesday, June 4th, 2008

See figure:
 

关于PGA的大小

Monday, June 2nd, 2008

前几天MSN上有个朋友的数据库PGA设置了4G,忽然整个os里,PGA占了10多个G。这个问题我一直耿耿于怀,记得Donny曾经说过,今天终于在聊天记录找到了。
“In the latest release 10.2 Oracle changed these default values. The memory allocated to a single SQL operator  (_smm_max_size) is limited to:

for P_A_T <= 500MB   the parameter _smm_max_size = 20% of P_A_T
 

for P_A_T between 500MB and 1000MB the  parameter _smm_max_size = 100M
 

for P_A_T betweeen 1001MB and 2560MB (2.5GB) the parameter _smm_max_size =  10% of P_A_T
 

for [...]

530,难忘的夜晚 :)

Sunday, June 1st, 2008

在杭州几年,dba 团队的人在一起除了可乐就是茶,几乎没有大面积喝酒过.这次技术部300多人出游到桐庐,晚上我们team 11人,从巴比松度假村赶到县城,找了家饭馆,要点菜,要了点酒,大家就放开了.
donny因为拉肚子不能喝酒,勇斌 喝酒过敏的,勉强喝了3杯啤酒. 其他人轮番开搞,场面热闹起来. jacky 带头划拳将气氛带入高潮. 今天终于证明王九瓶是唬人的!看情形在喝酒的9个人中,排名第九! 不得不 bs   
用奶妈的话说,这才是男人的生活.靠,那一群大老爷们在杭州几年不是白过了

阿里巴巴DBA出品