« 2007年02月 | (回到Blog入口) | 2007年04月 »

2007年03月 归档

2007年03月31日

应用决定性能

最近接触了几个调优的case, 很有感触。

自己没有开发人员的客户,上线的业务系统,或者由于选择的开发商不是很有经验,或者没有很好的前期检查、测试, 都是上线后发现问题很多,系统负载大,影响业务运行。

有开发人员的,对于选择产品,上线前测试都多多少少做了一些工作。
在系统架构,数据库开发方面都不会很差,可能在业务运行一段时间后,因为数据量问题引起性能下降,需要调优。
自己没有开发人员的,在引进系统方面不是很了解,或许别的原因(比如上级指定产品),导致使用的产品开发不完善,架构不合理,系统上线就面临问题。

这些都说明压力测试是多么重要,无论用什么方式获得的软件产品, 在上线前,只要充分进行压力测试,问题都可以发现。

想想以前开发的软件,都是简单的c/s,哪儿有考虑并发,压力?
现在一般都是三层架构,并发压力大,如果不充分考虑各种因素,开发完成后,可能发现距离上线还有很大差距。

也许这些也是数据库顾问可以做的工作。

2007年03月27日

要认真开始做功课了

早上去乘公交车的路上, 突然发念: 要认真做功课了.

每月初一,初八,十四,十五,十八, 二十四,二十五, 二十八,二十九,三十.
持素, 念地藏菩萨本愿经一部.

虽然前面也要求自己念,但是还是没有发心, 没有认真去做.

今天看上人对地藏经的讲解,很有收获.

2007年03月25日

买新手机

昨晚想到,最坏的情况就是对方不打过来,1000也拿不到,重买一个. 上次备份以来的资料丢失.

果然,就是这个结果.
早上送走妹妹后,打了几次过去, 估计是关机了, 因为都是移动的短信提示.

决定重新买一个二手的.

网上查了一下,还是去虬江路.

发现这里大量ibm笔记本. 最后在上次买的地方买了个二手的,1600, 加上一个带usb口的存储卡200. 共1800, 成色还算可以.

回来把2月份的备份恢复.基本上联系人,软件都有.

2007年03月24日

手机被偷

下午去买菜时,手机被新疆人偷了.

两个手里提着菜, 手机在上衣侧口袋里,被偷走了.
到家发现不见了, 回去到各个买东西的地方询问, 当然是都没有.
回到家,老婆说打我手机打通了, 是新疆的 ,像个小孩, 要2000, 她说太贵了,只要上面的资料.
后来小偷说要1000. 我老婆仍然说太贵了. 后来口出秽语, 要给他找妓女,就不要钱了,老婆生气就挂了.
我回家了解后,再打过去,仍然是要给他找妓女. (听口音,就是一个小孩,很容易听成女的.)找到了给他打电话. ^*%!@...

想到报警,马上被否定了,有用吗? 想起对面楼上楼下因为噪音叫来110, 警察要证据.
况且对新疆人,警察好像也没有办法的.

因为还有别的事情,就没有去理他. 如果他还想要1000块,自然会打过来.

2007年03月23日

继续调优

今天在压力大时做statspack,分析下 library cache 等待位于top 1. 每秒 hard parse 17, parse 90
使用三层架构,但没有使用连接池(真是少见).
判断是soft parse, hard parse 过多引起library cache严重等待.

1)减少hard parse.
修改程序。
2)减少soft parse.
修改应用。尽量使用sp. 客户端调用sp.
3)启用连接缓冲池。可以减少soft parse.

2007年03月21日

性能调优的一天

早上赶到客户那里. 服务器cpu 0% idle. 满负荷运行. 连接数达到800.
2cpu, 8G ram. hp-ux , oracle 9202.
三层架构应用. 没有使用weblogic的连接池.

通过v$system_event,发现大量 cache buffers chains等待. 应该是有热块.

col owner for a20
col segment_name for a20
col segment_type for a5
select distinct a.owner,a.segment_name,a.segment_type from
dba_extents a,
(select dbarfil,dbablk
from (select dbarfil,dbablk
from x$bh order by tch desc) where rownum < 11) b
where a.RELATIVE_FNO = b.dbarfil
and a.BLOCK_ID <= b.dbablk and a.block_id + a.blocks > b.dbablk;


查到几个表.
数据量不大的放到buffer里面.重启数据库.

把weblogic启用连接池,启动100,最多300. 明天看效果.

注意:
1. 开始就使用statspack报告.便于前后比较.
2.调优过程中,始终运行osw.记录os情况,比如cpu,io.便于后面分析.


2007年03月19日

翻译校对的一天

合作伙伴有本很好的oracle调优的书,已经翻译了(韩文), 需要校对一下.
校对真是一件累活,主谓宾状定顺序,用词等等都要看. 自己基本要理解意思,尤其是关键地方.
从这本书内容看,目前市面上没有类似的. 如果翻译得好,可能会成为经典.
听说这个月可以交付印刷.
期待这本书.

2007年03月18日

一个性能调优case

环境:hpux 11.11,oracle 9204 rac.
应用:2层架构. 150-200个session. 7x24小时.
性能问题: 突然客户端速度慢.不能忍受.

1.检查cpu, io
top, iostat
cpu使用率70%左右, 不是瓶颈.
iostat,有一个硬盘Io特别严重,其他压力不大. 对比以前正常情况的数据,基本正常.
2.沟通,了解到, 有新增应用.但是已经2个月了,都比较正常.
3.针对是2层架构情况,在测试机器上启动客户端,用dbms_system.set_ev跟踪10046事件,在客户端做简单操作,看等待情况.

发现排在前面的都是一个查询语句,走得是全表扫描.
查此表数据量,二十多万,查此表索引,发现没有索引.
初步判断与此相关.

跟踪一个正常的客户端,跟踪15分钟,再按照fchelc排序,耗时最长的大部分也是这个语句.
最长达6秒. 基本确定是全表扫描引起.
沟通发现,这个表数据量在3个月内增加到二十多万. 和实际情况相符. 随着数据量增大,全表扫描已经成为瓶颈.

建议: 在此字段上创建索引.
效果:创建后,客户端响应时间明显检查.

把blogbus上的文章移植到mt了

花了一点时间.先从blogbus导出到wordpress格式,再用wp-export-mt.php转换为mt格式的文本,通过mt的导入/导出完成.

看看以前的帖子,往事如烟,又好像历历在目.

2007年03月15日

3.14日记

本来安排调休下午半天,客户数据库有问题赶去,到下午3点离开,直接去沪太路汽车站,接母亲和妹妹。
在车站等了十几分钟。看着一辆辆客车驶入,临近的,长途的,车上下来形形色色的人,操着各样的方言,打着招呼,取行李。 上海如果是一个盒子,那么这里也是一个入口了,不过这里来的大部分是社会底层的,和机场的不一样,好多是周边省份来这里打工的农民。

四点二十长途车到达。
没想到他们带了2个大袋子,就是装化肥的袋子,一个大行李箱,母亲手里还提着个纸盒子,说里面都是鸡蛋(上次路上打破了好多鸡蛋,这次为了保护鸡蛋母亲竟然手提着)。
旁边停着一排出租车,但是司机好像都不在。等了一会,过来一个司机问去哪儿,他和另外一个叽咕了半天,好像是路线怎么走之类,然后让我们上车。
妹妹没有精神,母亲说在路上着凉了。

车子在高架上走走停停,发现出租车在慢速时,也是计时的(原以为停下来才计时)。

到家,收拾了一下行礼,母亲竟然带了好多土豆,菠菜。还有新杀的三只鸡。收拾鸡的时候,不小心把手指剁了一下。

---------------------------

每次煮半只鸡,所以要把鸡分开。
结果不小心砍到小指了。当即看到鲜血流出来,浓浓的。
让老婆包了一下,感觉还在流,想到可能比较深,就赶紧到附近北蔡地段医院去。
到了医院,医生问了一下情况,说要缝几针,交款,取药,医生准备缝了。
先打了麻药,然后轻轻揉揉,让药过去,马上就开始缝了。我拿出pda,准备读金刚经。
非常疼。我努力专心读经,分散注意力。同时想,受苦即消苦。忍着吧。

缝了三针。

然后医生嘱咐,24小时内打一阵破伤风。3-5天换一次药,2周后拆线。

想到明天要上班,所以决定马上去仁济医院打针。
挂号取药,到注射室,很久没有肌注了,有些紧张呢。护士让我放松,我倒是想放松,可是就是放不下来,护士说,你叫什么名字? 我刚把名字说完,感觉屁股一阵疼,护士已经扎针了。
呵呵,真是有办法,叫我名字分散我注意力。

到家时已经8点多了。

手指受伤,包扎50多, 破伤风一阵70多。加上挂号,共花了130左右。还好,有医保卡,自己只掏了十几块。

2007年03月14日

温铁军和他的新乡村试验

昨晚看《面对面》,王志采访温铁军。

很少能看到这样抓住我的节目。

我很关心农村的改革,农民的前途。以前看过《岳村政治》,也是蛮不错的。

温铁军,大名鼎鼎,以研究三农而著名。
这次他不但研究了,还实践了,他说,没有做过试验的人对他的评价,他不作评论,因为没有对话的基础。如果有做试验,那么可以谈谈。

关键字:
生态农业,前三年减产,地球屋,有哪个人口超过一个亿的大型发展中国家,是靠农业让农民致富?

强烈推荐。

网络故障导致standby 数据库没有获得归档日志解决一例

primary 数据库+standby数据库。
因网络原因arch日志没有发送到standby服务器,数据不同步。
primary上每天rman备份,归档日志在备份后删除。
action:
1.从rman备份restore arch log
在standby上:
SQL>select name, sequence#,applied from v$archived_log;
查到最后一个应用的arch log,检查最后获得arch的时间。确定需要restore的arch的时间范围。
比如是4天前故障。
到primary上。
rman执行
RUN
{
allocate channel c1 type disk;
SET ARCHIVELOG DESTINATION TO '/arch/tmp';
RESTORE ARCHIVELOG time between 'sysdate - 4' and 'sysdate';
release channel c1;
}
把归档日志解到一个临时目录/arch/tmp
2.把arch log 传到standby 服务器
ftp上传到arch目录
3.在standby上register 日志
从第一个applied为NO的arch开始,逐个执行
SQL>alter database register physical logfile '/path/to/arch/archfile.dbf'
...

在register后,每个arch日志将依次被应用。

2007年03月13日

今天岳父母走了

下午给客户做数据库健康检查,比较顺利。4点8分出来,准备乘公交车,5点差不多到家。
上车后发现凡是路口都是绿灯刚变红灯,这样下去5点赶不到家,岳父母想早点走,如果回去太晚让他们担心,而且想到我们小区附近不容易打到车,所以干脆下车搭车。
出租车到家刚好是5点,让司机在下面等,回家叫上岳父母,提起箱子,往地铁站赶。

路上,看到岳母在试眼泪。岳父母来上海呆了刚好2个月。

乘二号线,在人民广场转一号线,现在还不是下班高峰,但还是眼看着挤不进去,只能排队等下一班。想想买的火车票是Z8软卧,估计比地铁舒服多了。

到地铁站还不到6点,帮他们带到候车厅,岳父催我赶紧走,家里宝宝需要照顾。再乘地铁往回赶。到家,发现妻也泪眼朦胧,心里很是不舒服了一阵子。

生小孩,抚养成人,真的不是给他吃饱睡好一件事。其他事情对人心理的冲击更大。

2007年03月12日

岳父母要走了

虽然是因为妻弟宝宝需要照顾的原因,想起要一年后才能再来,象岳父说的,下次看到的时候已经可以走了, 心中不仅一阵沧桑。

就像儿童医学中心的标语写的:“一切为了孩子”。

为了孩子,帮孩子看孩子的孩子;
为了孩子,从一个城市到另一个陌生;
为了孩子,离开熟悉的朋友;
为了孩子,到夏热冬冷的地方;

岳父母走后,母亲就紧接着过来。上午接到母亲的电话,要带这个带那个,每个都是那么重,我的心好沉。

2007年03月09日

转一个让我感动落泪的帖子-- 万物皆有灵

万物皆有灵

”实在是太感人了,看完之后,我禁不住泪流满面。


20世纪末的一个晚上,当我从湖南卫视看到这感天动地的一幕时,我忍不住恸哭流涕!青海省有一个沙漠地区特别缺水。据介绍,每人每天只有靠驻军从很远的地方运来3斤定额的水量。3斤水,不光饮用、淘米、洗菜……最后还要喂牲口。牲口缺水不行,渴啊!

终于有一天,一头一向被人们认为憨厚、忠诚的老牛渴极了,挣脱缰绳,强行闯入沙漠中一条运水车必经的公路。老牛以惊世骇俗的识别力,等了半天,等来了运水的军车。老牛迅速顶上去,运水的战士以前也碰到过牲口拦路索水这样的情形,但那些动物不像老牛这样倔强。

部队有规定,运水车在中途不能出现“跑冒滴漏”,更不能随便给水。这些规定,看似无情,实则不得已,这每一滴水都是一个人的“口粮”啊。沙漠中,人和牛就这样耗着,持续了好半天,最后甚至造成了堵车。后面的司机开始骂骂咧咧,有些性急的司机用汽油点火试图驱走老牛。可老牛没有动,泰山一样,不放松。直到牛的主人寻来。  

牛主人愧疚极了,操起长鞭狠狠打在瘦弱的老牛身上,老牛被打得浑身青筋直冒,可还是没有动,最后顺着鞭痕沥出的血迹染红了鞭子,染红了牛身,染红了黄沙,染红了夕阳。老牛的凄惨哞叫,和着沙漠中阴冷的酷风,显得那么悲壮。

一旁的运水战士哭了,被堵车的司机也哭了。最后,运水的战士说:“就让我违反一次队规吧,我愿接受处分。”他拿出自己随身的水盆,从水车上放了3斤左右的水,放在老牛面前。  

老牛没有喝面前以死抗争得到的水,面对夕阳,仰天长啸,似乎在呼唤。晚霞中,不远的沙堆背后跑来一头小牛,受伤的老牛看着小牛贪婪地喝完水,伸出舌头,舔舔爱子的眼睛,孩子也舔了舔母亲的眼睛,沉寂中的人们看到了母子眼中的泪水。天边燃起最后一丝余辉,母子俩没等主人吆喝,在人们的一片静寂无语中,踏上了回家的路。二十世纪的一个晚上,当我从电视里看到这让人揪心的一幕时,我想起了劳作的苦难的母亲,我和电视机前的许多观众一样,流下了滚滚热泪。

2007年03月08日

大堆文档要写

虱子多了不怕咬。果然如此。
有大堆文档要写,发票要整理报销,今天楞是一个也没完成。
主要还是昨晚休息不好。
宝宝出生以来,生活习惯还是没有调整好。

2007年03月07日

回忆初六放生

年前就报名了。
初六这天,匆匆和家里人打个招呼,就出门了,搭车到地铁,二号线到人民广场。
差不多7点刚好到,打电话给组织者,发现只有她一个人在。看来我来得不算晚(没想到后面要等到8点多才走)。

然后到车上等,发现车上已经人满为患了。组织者说报名的人数只有四十多,没想到来了这么多。
然后大家就挤一挤,还是不够,期间司机满腹牢骚,担心人多被警察抓住要劳教,上有老下有小...
最后终于在8点一刻左右出发了。

bus一路高速走来,很快,半个小时多,就到目的地了。
在东方绿洲旁边。这是放生的河,河边有个寺庙,可惜名字不记得了。

Photo_022307_001.jpg


发现已经有一辆卡车停在那里,原来要放生的泥鳅已经很早就从市场买来了。放在很大的水箱里。

Photo_022307_002.jpg


然后组织者召集大家一起做放生仪轨。念经的时候,好多师兄念的很有韵律,有些象庙里师父的声音。

仪轨结束后,有人组织把泥鳅用桶分批搬下来。

Photo_022307_005.jpg


为了担心有人在岸边把放生的生命捕获,有人专门租了船,把生命载到河中心去放,部分师兄随船去了,其他人就等,等的时候好多师兄还在念经。

Photo_022307_009.jpg

放生结束,满心欢喜。
回来的车上,有师兄随喜送楞严咒,就请了一部。

误人子弟一天

继续给客户培训ocp dba1。
看到客户的开发人员,想起以前开发的日子。
一叹。

2007年03月06日

给客户培训oracle这件事

真是如一个同事说的,培训别人,受益最大的是自己。
通过准备培训,培训时讲解,解答,对一些概念性的东西可以更深入的理解。
不过今天这次培训准备还是不足。循序渐进,争取尽快整理出自己的培训材料。

2007年03月05日

为宝宝的blog建了个子域名 baby.fengshanjian.net

http://baby.fengshanjian.net
指向 fengshanjian.net/baby

2007年03月02日

把blog从wordpress转到movabletype了

费了好大功夫,主要时间花在数据迁移上了。

最终解决方案:

参考文档:
http://www.codemonkeyramblings.com/2006/08/moving_from_wordpress_to_movab.php
http://www.yangkang.org/archives/2005/10/movable_type32_1.html

Download file

php file:
Download file

导出数据时,注意不要复制到文本文件,而是直接按照htm保存,上传到linux. 去掉html标志。
检查方式: 用浏览器firefox打开,用utf8查看,应该显示正常的中文。否则导出有问题。

用mt导入时,导入提示信息也是正常显示中文。
如果把导出数据保存到txt文件,导入时显示提示信息为乱码。 导入后的entry,需要用gb才能显示中文,utf8显示乱码。

关于 2007年03月

此页面包含了在2007年03月发表于山上有风的所有日记,它们从老到新列出。

前一个存档 2007年02月

后一个存档 2007年04月

更多信息可在 主索引 页和 归档 页看到。

Powered by
Movable Type 3.34