123
 123

Tip: 看不到本站引用 Flickr 的图片? 下载 Firefox Access Flickr 插件 | AD: 订阅 DBA notes --

2008-05-10 Sat

19:30 一周遇到两个Oracle Bug (3199 Bytes) » AnySQL.net

作者:AnySQL, 订阅AnySQL, Oracle数据库恢复及服务, Sybase恢复, 磁盘及RAID恢复

    来杭两周多一点, 扣去入职培训一周, 接触系统仅一周多一点的时间, 已经遇到了两个数据库方面的Bug了. 第一个是在10.2.0.2版本上遇到的, 和Oracle CBO优化器有关的, 在某些用了INDEX这个HINT的数据库中, Oracle居然选择了INDEX FULL SCAN的方法, 而不是效率更高的INDEX RANGE SCAN, 由于表及索引较大, 导致了SQL语句执成本过高, 引起了主机负荷超常.

4323868 INDEX hints can lead to INDEX SCAN FULL

    另一个是在9i中遇到的, 和UNDO表空间有关的, 平时的事务都很小, 某一点作了一个比较大的事务, 引起了回滚段的扩展, 虽然UNDO中有大量的可用未分配的空间, 但这个扩展的过程却极慢. Oracle并不从可用未分配的空间中优先分配, 而是先去检查有没有已用的空间可以回收再加以利用, 导致一个操作比测试时间多了20分钟.

4070480 Unexpired extents used when there is free space available in the UNDO tablespace

    做一个Oracle DBA实在不容易, 做事总有不可预见的一面.

相关文章 | Related Artiles

我要留言(当前1)

18:53 体检归来~ (878 Bytes) » Think in 88
        哎呀~年纪轻轻,一身IT老毛病~颈椎不好(医生说在电脑前坐时间太长了!!!)还有那个外科的医生,是位看上去60岁左右的长者,去年也是他外科的我,他说,小伙子啊,你是一年不如一年了啊,去年来了还挺精神的,现在啊,小肚子都有了,好汗啊~他还说,以后每天上午下午各都要仰头15分钟!nod!不得不顶!以后,还要少喝酒!TMD谁再叫我喝酒,就K了他!
      
18:01 获取导致导入失败的数据(三) (686 Bytes) » yangtingkun
前不久从一个数据库执行导出操作时报错,通过直接路径方式跳过后,导入时候再次报错。推测是由于源数据库出现的异常导致表中数据超过表定义的精度。由于源数据库中错误记录已经被删除,因此只能想办法从导出的dmp文件中获取错误的记录。导出、导入过程的描述可以参考:EXP在9R2上导出时报错ORA-3113和ORA-24324:http://yangtingkun.itpub.net/post/468/460647EXP在9R2上导出时报错ORA-3113和ORA-24324(二):http://yangtingkun.itpub.net/post/468/460831继续寻找解决问题的方法,并最终获取了导致错误的记录。获取导致导入失败的数据:...
06:57 激动人心的欧洲杯马上要开始了!! (751 Bytes) » Alibaba DBA Team

2008年6月8日欧洲杯的帷幕将徐徐拉开!!

期待德国、法国、意大利、西班牙、荷兰的群雄逐鹿!

激动啊~~··血管里的血液都沸腾了!!!

可惜很多英格兰的铁丝,要失望了,今年没有英格兰。看不到特里,杰拉德,欧文,兰帕德等人的表演了。不过过几天的欧冠的决赛是曼联对切尔西,今年的欧冠肯定是英超球队的了。

再说说联盟杯,拜仁输的一塌糊涂,没闯入决赛。佛罗伦萨居然倒在了点球上。可惜!本以为决赛是拜仁VS佛罗伦萨。

回归正题,大家记得欧洲杯!!

我都期盼了好久了,足球饕餮大餐马上要上演了!!!

06:00 雅黑字体 for Windows XP (3241 Bytes) » Fenng's shared items in Google Reader

本来 雅黑 字体是随 Vista 发表的,其他系统上缺省尚不可用,不过因为是 Microsoft 为数不多的 TrueType 汉字字形,因此很受大家关注和喜欢,自然就想把它弄到其他地方用用,比方 Windows XP,以及,现在好多 Windows Mobile 手机上大家也开始用了(小的包 3M,大的要 13M 了都)。

现在有 Microsoft 官方提供的 雅黑 for Windows XP 了,可以直接下载安装,还扭扭捏捏地称之为 “Simplified Chinese ClearType fonts for Windows XP - 简体中文”,或者这里也行

我觉得这个字体显示标题等稍大字号的内容特别适合,因为是 TrueType 字形,放大后也很平整圆滑,倒是用来显示 9,10,11 号等稍小字号正文的时候还是觉得有点怪怪的,倒不是发虚,而是觉得笔画的颜色深浅不一,反而不习惯了。以前在 CSS 里 font family 指定“微软雅黑”估计也就 Vista 用户能欣赏,如果更多 XP 用户也安装好了,那效果就可以被更多人看到了。

Wikipedia 上的介绍是这么说的:
微软雅黑是微软委托北大方正电子有限公司设计的一款全面支持ClearType技术的字体,Monotype公司负责了字体的Hinting工作。它属于OpenType类型,文件名是MSYH.TTF,在字体设计上属于无衬线字体和黑体。该字体家族还包括“微软雅黑Bold”(粗体),这个粗体不是单纯的将普通字符加粗,而是在具体笔画上分别进行处理,因此是独立的一个字体。微软雅黑是随着简体中文版Vista一起发布的字体,也是 Vista默认的字体。在使用ClearType功能的液晶显示器中,微软雅黑比以前Windows XP默认的中易宋体更加的清晰易读。另外,Microsoft Office 2007简体中文版也附带这个字体。在涵盖的字库上,微软雅黑支持GBK字符集,包含了Unicode的所有 20902个中文字符以及中国国家标准化组织添加的大约 80个中文字符,还包含了Big5的繁体中文字符和GB2312中的简体中文字符。

ShareThis

05:38 那些日子(十一) (11727 Bytes) » Fenng's shared items in Google Reader

《大话西游》一边运营着,大家改着 bug ;另一边,2.0 版开始筹备了。

还记得深秋的那个夜里,已经很晚了。丁磊一通电话问我睡了没有,没睡的话去淘金路上一间小茶馆喝茶。聊天不去酒吧,不符合老丁的风格嘛。我依着短信上的提示,找到了那家别致的小店。包间里就两个人,丁磊和 dingdang 。dingdang 从不泡酒吧,他不喜欢喝酒,这我是知道的。

后来聊了什么完全不记得,我只是知道,以后的工作由 dingdang 来主持了。这次长谈,颇有些战事不利、临阵易帅的味道。

之后,渐渐的,micro 没有什么事情可以做了。几年前,他就在办移民加拿大的事情,需要定期坐移民监。没多久,micro 回了加拿大。dingdang 坐进了那间办公室。不过他的笔记本通常放在外面的老地方,我们还是很晚一起回家。

dingdang 工作很勤奋,也依旧在工作间隙褒着电话粥。桌子上放着 Nokia 5110 的手机,很古老的型号,上大学时我用过。打久了电池很热,但想必没有心里头热。第二年的某一天,有人提醒我看看对面 dingdang 敲键盘的手,赫然多了一枚戒指。

没有见他请婚假,没有通知同事,没有办酒席,没有度蜜月。只是接下来一个周末,我在家附近的世贸楼下吃面条。丁磊的女朋友瞅见了我,给我打了个电话,说他们正在楼上日本料理呢。我打包了面条上楼。只见四人两对,相谈正欢。那天我认识了 dingdang 的妻子。从谈吐中就能识得,真是天造地设的一对。

dingdang 上任后,寻了三个人来。一个是他的堂弟詹东,据说时下在北京网易工作,也是写程序的。另两个从 36 楼挑选的两名程序员,都是网易技术部最优秀的程序员之一。kyo 和 ruiheng 。

kyo 和我同届,暨南大学学物理的,未毕业便在网易兼职,做公司最早的产品:邮件系统;ruiheng 高我一届,华南理工计算机科班毕业,稍晚一些入职网易,他早期的产品对网易也颇为重要:网易社区论坛。此二人,完成大话二之后,kyo 转去做天下的主程;ruiheng 则任技术部经理。

我们四人开始重新制作大话西游的新版 client ,谓之曰:2.0 ,项目代号 xy2 。


在 ruiheng 的推动下,我们从 vss 移到 cvs 下工作,不久之后又转到 svn 。这次,我们每人每天都要求 update 到最新的 client 代码,保持和主干同步。

服务器那边听说也在重构,我不清楚是否犹如 client 这样彻底。但新的版本是由 dingdang 和 ten 一起主持的,并加入了新的人员,比如 陈 。大话的服务器开发历程我不了解,不便多说,暂且搁在这里好了。

继续谈新版的 Client 。

UI 模块的问题,我已经在最后那两个月完全解决了。UI 的底层是个非常繁杂的东西,要求设计人有足够多的经验才能把接口设计的好。做了这么些年软件,我觉得最复杂的东西莫过于此了。稍有不甚,就会把接口弄的污秽不堪。就连 Windows 的最为出色的界面系统,不也是发展了 20 多年才成现在这个样子,依旧被开发人员所诟病。虽然那个时候,我的想法也不成熟,可也经过一年多的思考沉淀,比大话一立项初期有把握的多了。

这次是由詹东取代古越的位置做逻辑那块东西,我依然写底层。只是这次范围更广一些,不仅要实现图象和声音这些的基本驱动(其实在大话一里已经很稳定了,延续下来用即可),还要负责 UI ,以及游戏中的逻辑对象的管理,消息分发等。

大家不约而同的想法是,新版的 client 一定要嵌入一个脚本语言,以应付连绵不绝的后期需求变化,以及用于描述多变的界面。

我首先想到的是自己实现一个解释型 C 语言,这个在北京时就着手做过。但是考虑到时间不允许,也就放弃了。当时也想过使用 CH 一个解释型的 C ,大家觉得不够好,作罢。

甚至我考虑过 java ,但网上尚没有成熟开源的 java VM ,我甚至想自己实现一个。这个想法来至于前几年一个叫做《吸血鬼》的 3d 游戏,如果你解开它的数据包,就会发现大量的 java class 文件。

还有 javascript ,因为被 IE 的事情弄出些恐惧症来,大家也不支持。

kyo 给我推荐了 python ,说是跟 java 齐名的语言。还有 ruby 等等。那时我们对这些日后名声大振的动态语言,都没有什么特别的感觉。一视同仁的去评估。因为嵌入式脚本,在国内同行中没有什么先例可供参考(早期大多数开发团队都是自己开发脚本语言),只能是靠自己的感觉来办。

最后大家一起看中了最为小巧易于嵌入的 lua 。网上比较多 lua 的相关工具,不过是针对 lua 3.2 的,当时 lua 4.0 发布不久,我们最终决定选用最新的版本,不去理会配套的第三方工具。

詹东开始研究 lua 的 C API ,以及怎样嵌入,这个工作很顺利,得益于 lua 的简洁。kyo 琢磨如何把 lua 和我写的底层桥接起来。当他最终用纯粹的 lua 代码驱动起第一个游戏内的界面对话框,我们都很高兴。ruiheng 则作力于 lua 的控制台调试器,他是 unix 背景的程序员,做出来的那个东西更像 gdb ,挺好用。哦,我做了个控制台的模块,支持彩色的信息输出。前一版的惨痛经历告诉我,一定要有一个好用的调试控制台。

说起 bug ,《大话西游一》的教训是非常惨痛的。最让我心痛的是,明明知道 bug 在那里,就是不知道该怎么改。往往改动一处,会引发新的问题。我想找到一种方法可以杜绝这种现象。所以在新版本里,引入了一种新的机制来解决。那就是给引擎加入录象功能。

所谓录象,就是让引擎记录下所有输入的消息以及发生的时刻。由于游戏 client 可以严格按帧来区分时序,时刻即帧序。所谓输入,无外乎网络包输入和键盘鼠标输入。这些只需要按次序写入记录文件即可。当有了这些数据,就可以无限制的回放给引擎。每次操作 client 玩上一段时间的游戏,只产生极少量的输入消息,而回放即可再现第一次游戏时的种种(甚至可以加快速度播放,只需要关闭和逻辑无关的显示模块即可)。这个功能是纯粹实在在引擎底层的,更上层建筑无关,顾而能为开发人员方便的使用。

如果不懂技术的读者看到这里还不明白,请联想暴雪游戏中的对战录象,星际和魔兽都支持的。

ps. 这一点是我以后做项目必须要求的基础设施。不支持录象功能的引擎是不合格的。我曾几次三番的要求服务器也加入录象功能(这比 client 更简单)但都没能如愿,直到我自己开发服务器。也有 3d 项目抱怨 3d engine 的复杂度而不能加入录象,其实没有什么道理。录象仅仅是记录操作,能不能加进去只跟 engine 处理外部输入的设计有关,跟图象呈现方式没有联系。

简单表述录象对调试的重要性,可以这样来解说。

即使我们拥有交互式单步跟踪的调试手段,当错误发生时,我们也只能向后运行程序,观察计算机内部的状态变化。而对之前发生的事情,仅仅只得一个内存快照而已。这是静态的信息,而变化的过程已经丢失。当然,内存快照已然非常有价值。比如在 unix 系统上,一个进程挂掉,可以生成一个内存快照文件,被称之为 core dump 。gdb 这种调试工具则可以分析 core dump ,还原当时的现场,程序员可以根据现场情况进行分析。

录象的威力则更进一步,不仅可以轻易拿到错误现场的快照(只需要重新回放一次),还可以让时光倒流,让你看到之前发生了什么。因为只要设计合理,每次回放,内存里任何一个对象的地址空间都不会有变化。如果我们拿不准出错时的问题是由什么前导因素造成,只需要重新回放一次在更早的时机中断下来观察即可。

有了这么一样利器,我们遇到的每个 bug 几乎都可以在当天找到根源,并修正。当 bug 是单个的出现,并迅速一个个的解决时。比同时面临多个 bug 要轻松的多。每次解决问题也都是从根源入手,而不是简单的使用 walk around 的方案。每解决一个 bug 当然不会引发新的问题了。

大话西游 2.0 的 client 非常稳定,以知的 bug 都已排除。那些日子,每天下班时我都可以这样骄傲的宣布。


那几个月,工作有条不紊,大家意气风发。我们甚至每天可以乘坐公交车回家。kyo 没结婚前住的很远,和我有一小段同路,当他转车赶上末班地铁,基本上我已到家。而他的归途一半都没走完呢。我们不再需要加班到太晚。

詹东常住北京,只是需要交流的时候才来广州住几天。大家分工明确,甚至不需要每天在一起写程序。(我想,异地合作也是我们抛弃 vss 的一大原因)所以,初期的设计比后期的实现更为重要。设计的好了,甚至缺少沟通都能把项目做好,反之,再多人再好的沟通也没有用。

甚至我都在想,这不三个月就把活干完了吗?赶快把大话换下来吧。但是 dingdang 说,不急,还不到时候。


渐渐的,开始有旧人陆续离开,先是古越接着 micro 而去,然后是果子。

古越的离开有些无奈,我没有问,因为新的项目已经没有让他参于,我想离开是必然的吧。(后来回头看,他有网易不少股票,公司股价涨到那么高,我想即使从收益上权衡,在网易干的一年也值了。可能让他遗憾的是,没有一起参与大话的起死回生吧)

果子辞职,还是有些舍不得的。他是个挺有想法的人,动手能力也很强。当时说想回家休息一下。等到再来看望我们的时候,手上居然拿着车工教材。我是学机械的,很好奇他怎么干这个起来了。他说他买了个小车床,放在家里做些东西玩。果子是个军事迷,喜欢仿真枪械。当时下载了一张德国二战时期的手枪图纸,在家自己摆弄。那天,他还给我欣赏了他自己车的枪管,很精细,比我的手艺强多了 :D 。

时不时的总能收到一些他的消息,先是说他买了部 polo ,整天大街小巷的乱窜,一天能在市区开 400 公里,堪比出租车司机;而后说是开车时用笔记本不方便,自己设计制作了一个笔记本支架,固定在坐驾里。听起来过的挺开心。

几年后,我介绍大学室友去他和古越一起开的经营短信业务的公司里写程序,果子请我吃过一顿饭,之后就联系不多了。


谢绝转载

那些日子(目录)

03:32 CPU usage (1 Bytes) » Oracle Scratchpad

2008-05-09 Fri

22:36 国家干部和烦人 (1375 Bytes) » 玉面飞龙的BLOG
昨天看完国家干部的大结局。最后一集市长夏中民住进了医院,来医院看望他的父老乡亲很多,场面描绘很感动。代表劳苦大众利益的官员最终战胜了贪污腐败谋取私利的官员。 这种”与人斗其乐无穷”的电视剧比同名小说好看多了。 根据同名小说改编的电视连续剧《国家干部》,深刻描写了党的执政者以人民利益为最高利益,立党为公、执政为民,坚持与地方势力、宗法势力和大小既得利益者进行斗争的感人故事。讴歌了党在执政能力建设中,众多可歌可泣的、用生命维护人民利益的…… 整部电视剧我就看到以王志文演的夏中民所带领的一小搓官员,一点点关乎民生的小事也要亲自过问亲自抓,表现出其它职位低的干部则阳奉阴违全不在心民生。也难怪中国政府的政令不通,完全是由于政府官员选拔的体制问题。 ===========分割线================= 出去旅游发现挺烦人的:要带手机,就要带手机充电器;要带相机,就要带相机电池和相机充电器。如果手机型号不同,多人旅游就要带多种充电器。 抽屉里又有充电的,又有用来连接电脑的数据线,错中复杂,纠缠在一起,不能够统一。这种”高科技”太让人烦了。
22:08 婚礼 (603 Bytes) » Uploads from dbanotes

dbanotes posted a photo:

婚礼

有点喜剧效果的一张。

老婆披的橙色纱巾,是公司的主 Logo 颜色。“阿里橙”。
后面的墙,是阿里巴巴“五年陈”员工的签名墙。临时做道具。

自己没有带相机,各对新人的摄影师不知道照片什么时候能给过来。

11:40 Friday round-up » Red Hat Magazine
10:57 邀请您与YUPOO合作 » Fenng's shared items in Google Reader
09:37 Log Buffer #96: a Carnival of the Vanities for DBAs » Pythian Group Blog » Log Buffer
06:13 Manual Optimisation - 2 » Oracle Scratchpad
05:15 大表驱动hash导致额外物理读 » Alibaba DBA Team
05:03 随笔 » Think in 88
04:18 Speak to Me » eagle's home
01:19 MSTR 的deshboard特色 » 淘宝数据仓库团队
00:45 RAC的高可用也不是那么好用 » OracleBlog.cn

2008-05-08 Thu

17:59 广州招聘初级DBA,欢迎大家投递简历 » OracleDBA Blog---请享受无法回避的痛苦!
17:31 BEFORE触发器修正数据错误 » yangtingkun
08:15 Convert Images to Base64 TextMate bundle » Fenng's shared items in Google Reader
06:44 Oracle Database 10.2.0.4 Released » Ricky's Test Blog
06:00 iPhone 251 » Uploads from dbanotes
06:00 D4: 门口的广告牌 » Uploads from dbanotes
06:00 D4: 有些坐不下 » Uploads from dbanotes
06:00 iPhone 267 » Uploads from dbanotes
06:00 D4: 边吃边听 » Uploads from dbanotes
06:00 iPhone 270 » Uploads from dbanotes
06:00 iPhone 276 » Uploads from dbanotes
06:00 D4: 评估公式 » Uploads from dbanotes
06:00 iPhone 272 » Uploads from dbanotes
06:00 明天结婚 » DBA notes
06:00 iPhone 252 » Uploads from dbanotes
06:00 D4: 站着也有不少同学 » Uploads from dbanotes
06:00 iPhone 253 » Uploads from dbanotes
06:00 iPhone 257 » Uploads from dbanotes
06:00 iPhone 236 » Uploads from dbanotes
05:59 iPhone 260 » Uploads from dbanotes
05:59 iPhone 242 » Uploads from dbanotes
05:59 iPhone 266 » Uploads from dbanotes
05:59 iPhone 237 » Uploads from dbanotes
05:59 iPhone 254 » Uploads from dbanotes
04:30 了解 EFS » developerWorks : AIX 专区的文章,教程
03:09 关于用户体验 » Fenng's shared items in Google Reader
02:42 武夷山旅游记 » 玉面飞龙的BLOG
01:38 Facebook 将改进个人资料页面的细节 » Fenng's shared items in Google Reader