Author Archive

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 .    

网站终于恢复了

Thursday, May 22nd, 2008

网站总算重新可以访问了,感谢江枫同学提供的空间。不过因为备份不够及时,还是丢失了一些数据,请各位dx重新发帖。看来要加强对回帖内容的检查,避免一些不必要的麻烦。

利用子查询更新字段

Friday, February 29th, 2008

今天在做数据更新时,打算将某个帖子下面的所有回复排定楼层,测试发现结果不对。 update sq_forum_reply s set floor = (                                    select row_number() over(partition by thread_id order by gmt_create)                                    from sq_forum_reply t                                    where s.id = t.id                                    and t.thread_id =20013990                                    and floor is null                           ) where thread_id=20013990 and floor is null; 查看执行计划发现,原因是子查询根据要更新的当前行的id去查询匹配记录,这样子查询每次只能查到一条记录,所以排序始终等于1。  修改语句后: update sq_forum_reply s set floor = (   select rn from (   select id,row_number() over(partition by thread_id ...

下雪引发的一系列事件联想到

Sunday, January 27th, 2008

        周末下雪了,早没有了小时候孩童的那种兴奋,或许是看到太多的下雪,已经习惯了。可是对于那些出门在外的人来说,心情应该非常的不同。因为大雪,很多出行方式都被管制了,那些等待回家或有急事需出门的人,必定非常焦急。     气象部门很多天前就已经预测了最近的天气变化,然而估计大多数人都习惯了按照既定计划来安排最近要处理的事情,不会太在意这种变化带来的潜在问题,真的到那时遇到出行问题,估计只能叹气了。         联想到我们日常的工作,因为我们岗位的特殊性,必须尽可能避免这种类似事情的发生,这就要求我们要尽可能保持对周遭变化的敏感度,捕捉日常工作的看似平常的事情,关注某些变化可能带来的影响,做好预防工作。