DBA 日记
(第一部)
作者:白鳝
(整理:win912)
目录
序 3
前言之 DBA 的性格 7
前言之我的成长之路 11
第一部(1) 5 月 11 日 20
第一部 (2) 5 月 12 日 22
第一部 (3) 5 月 13 日 24
第一部 (4) 5 月 14 日 26
第一部 (5) 5 月 15 日 28
第一部 (6) 5 月 18 日 31
第一部 (7) 5 月 19 日 南京 33
第一部(8) 5 月 20 日 临晨的邮件通知短信 37
第一部(9) 5 月 22 日 ODS 系统和 RAC 39
第一部(10) 5 月 23 日 实时 ODS 41
第一部 (11) 5 月 24 日 重返沈阳 44
第一部(12) 5 月 25 日 46
第一部(13) 5 月 26 优化方案 48
第一部(14) 5 月 27 日 无奈 50
第一部(15) 5 月 29 突破困局 52
第一部(16) 5 月 31 日 实施优化 54
第一部(17) 6 月 6 日 实施优化 56
第一部(18) 6 月 7 日 突发事件 58
第一部(19) 6 月 10 日 性能问题 60
第一部(20) 6 月 11 日 例会 62
第一部(21) 6 月 12 日 64
第一部(22) 6 月 13 日 演戏 66
第一部(23) 6 月 14 日 转机 68
第一部(24) 6 月 14 日之二 cache buffer chains 72
第一部(25) 6 月 15 日 青岛 74
第一部(26)之二 6 月 15 日 青岛 78
第一部(27) 6 月 16 日 青岛机场 80
第一部 (28) 6 月 17 日 完美的效果 85
第一部 (29) 6 月 18 日 准备收工 88
第一部(30) 6 月 19 日 突然事件 90
第一部(31) 7 月 20 日 重回沈阳 92
第一部(32) 7 月 21 日 课堂风波 95
第一部(33) 7 月 23 世博园一日游和心想事成 98
第一部 7 月 23 日夜 漫长的一夜 (第一部完) 101
后记 1 结束语 108
后记 2 优化项目的流程之方案 109
序
算起 1993 年第一次帮客户安装 Oracle 开始,我和 Oracle 亲密接触也有 16
年了。说实在的,第一次和 Oracle 的接触,我对 Oracle 的印象十分差。在这之
前,我只接触过一个大型数据库,DEC 公司的 RDB,随着 IT 届的沉沉浮浮,现
在 RDB 也归在 Oracle 名下了。当时国内使用最广泛的小型机平台是 DEC 公司
的 VAX,操作系统是 20 年前大名鼎鼎的 OPENVMS,80 年以后出生的人耳熟能
详的是 UNIX 和 LINUX。但是如果倒退十多年,在 90 年代初或者更早的计算机
操作系统课程中,很多算法都来自 OpenVMS 。90 年代初,Oracle 在国内使用
最广泛的版本是 5.1,而且那时候大家的版权意识都比较薄弱。就是很有钱的政
府部门,也不太愿意花上几十万去买一个正版的数据库。所以有一种职业就很吃
香,就是能够帮客户做破解和安装系统的工程师就十分吃香。
我那时候是一个搞 OpenVMS 上的应用开发的软件工程师,由于工作关系,
接触了较多的 VAX 系统。因为那时候懂 VMS 和 Oracle 的人十分稀缺,因此经
常有人让我利用周末帮助安装系统。我的第一次和 Oracle 的接触就是从一次帮
助客户安装数据库开始的。软件已经破解好了,当时清华大学有个老师水平很高,
居然写出了一个生成 Oracle 许可证文件的程序,花上 2000 块钱就可以买到一个
和机器码绑定的的许可证。安装介质是那种 20 年前十分著名的正方形的磁带。
拷贝安装介质,编译链接,然后创建数据库,以前的 Oracle 安装十分繁琐,连
数据文件都要手工创建后添加到表空间里。当我手忙脚乱的忙活了一天,终于替
客户成功的安装了一套 Oracle 5.1 并拿到 2000 块钱的时候,是十分愉快的,因
为那时候我的一个月工资不过 1000 块钱。但是 Oracle 给我的恶劣印象使我很长
时间不愿意接触 Oracle。和 RDB 比起来,Oracle 简直太繁琐了,而其性能和功
能也无法和 RDB 相比。基于这个认识,在 94 年我帮助泉州电信开发计费系统
的时候,我还是全力推荐客户使用 RDB,那是一个十分成功的项目,获得了一
个省级的科技进步 3 等奖。
在这段时间里,我在每个项目里都会碰到大型数据库,不是选择 Oracle 就是
选择 RDB,不过如果可以让我选择,我更愿意选择 RDB。在这段时间里,Oracle
也在进步,而 RDB 随着 OpenVMS 在商业上的失败也日薄西山了,几年以后,
RDB 终于被 Oracle 收购。1995 年我为一个政府部门设计一套电子单据处理系统
的时候,客户坚持要使用开放的 UNIX,而拒绝使用 VMS。在 UNIX 平台上,
Oracle 成为我的唯一选择,那时候正是 Oracle 7.1 大行其道的时候,Oracle 7 已
经有了太大的进步,其方便的安装配置以及优异的性能让我感到十分意外。所以
在 1996 年我为泉州电信设计联机实时计费系统的时候,Oracle 成为我的首选,
正是这个项目使我对 Oracle 真正的入迷了。服务器是一台 2 个 21164 CPU,256M
内存的 DEC ALPHA 2100 服务器,在今天看来,这台服务器还不如现在的一台
普通的 PC 机,但是就是这台很寒酸的服务器,完成了一个具有上百万市话用户,
50 万长话有权用户的大型本地网的联机实时计费系统。这个项目是我第一次对
Oracle 进行优化,通过调优的系统发挥了强大的性能,一个电话在挂机后 5 秒-
10 秒钟,通话话单就结算完成。后来在这个系统的基础上,福富软件开发了一
个话费回送系统,在挂机后几秒钟,把通话费回送到客户的来电显示电话上。
从那以后我和 Oracle 结下了不解之缘,1997 年我第一次参加了 Oracle OPEN
WORLD,那次北京的盛会,除了让我了解了 VLM 和 VLDB,也让我结识了一
批 Oracle 第三方服务的先行者北京巨龙的朋友,他们在 Oracle 这个产业上获得
的成功让我羡慕不已。
真正让我成为 DBA 是 1999 年以后的事情了,在这之前,虽然我和 Oracle 形影
不离,不过我的主要身份还是一个系统架构师和一个十分优秀的程序员,数据库
安装、维护和优化只是我的副业。从 1999 年开始,由于要为一些客户提供专业
的第三方技术支持,我开始认真研究 Oracle 的架构以及内部原理。我花了差不
多 2 年的时间,在 METALINK 上阅读了超过 2000 份技术文档,一个专题一个
专题的研究 Oracle 的内部原理,从寥寥可数的文字中去解密一些 Oracle 秘不可
宣的秘密。后来我接触了不少 Oracle 内部文档,发现如果我能够早点获得这些
文档,那么这个学习过程至少可以缩短一半。我觉得 Oracle 应该把这些文档开
放出来,让愿意深入研究的人员学习。
在这个时间里,我经常上一个技术性讨论的网站,ITPUB,刚刚开始的时候
大家的 Oracle 水平都很有限,论坛的学习气氛也十分不错。而随着网站的人气
越来越旺,论坛里不再是大家一起学习和讨论问题了,而是不停的扯皮和争吵,
后来 ITPUB 上有一批人转到了 www.oracle.com.cn,我也在上面混迹了一段时间,
DBA 这个圈子保守的气氛使这些网站都很难成为真正的高手的园地。在这些 IT
网站上,有价值的内容越来越少,所以我把所有的兴趣都放到了 METALINK 上
了。METALINK 应该是 Oracle 学习者最大的知识库,Oracle 也愿意把这个知识
库和所有的用户共享。从那时候开始,METALINK 基本上成为我每天必上的网
站,每天不到 METALINK 上看几篇技术文档,就觉得缺了点什么似的。我很少
看别人写的 Oracle 书籍,除了 Oracle 官方的文档,我的 Oracle 的知识绝大多数
都是从 METALINK 上获得的。
有很多网友问我为什么不写本书,其实我也一直想写一本关于 Oracle 的书,
2002 年开始,我想把我在 METALINK 上学习的成果写出来,写一本书,书名都
起好了,叫《ORACLE 深度历险》,书写了 1 年多,WORD 文档算下来也有一千
多页了。2004 年开始,在我对这本书进行校对的时候,我发现这本书的大多数
内容都是目前市面上的书籍里有的,出版这本书的价值并不大。虽然第一次写书
很失败,不过写一本书的想法一直没有熄灭。不过由于工作关系,很少有较长的
空闲时间可以写作。很难写出一本连贯性很强的书来。当年看王强的《圈子圈套》
的时候一下子被迷住了,推荐给很多朋友,看过的人都说在里面能够看到自己的
影子。说实在,我当时看《圈子圈套》的感觉也是如此。说起来和王强还有过一
面之缘,根本就没把他和作家联系起来,但是他的作品在 IT 圈子里的人看来,
比作家还作家。因为这是他在 it 圈子里摸爬滚打的经验的总结,看过圈子圈套后
我开始写 IT AND I,王强是从一个系统集成行业的高层人物的角度去看问题,
而 IT AND I 里的莫明是一个这个圈子里处于底端的工程师。现在 IT AND I 在我
的另外一个博客里连载,不过最近也已经很长时间没有更新了。我也不想给自己
有多大的压力,只是想把我这些年里做 DBA 的一些经验写出来,给大家共享,
所以我决定写这本 DBA 日记,开始写的时候,我的初衷还是自娱自乐,并没有
出书的打算。
直到有一天,我和我的一个同学在北京相聚。他以前是 BEA 公司的,由于
这次 ORACLE 和 BEA 的并购,成为 ORACLE 的一个售前部门的总监。他问我
一些 DBA 圈子里的事情,也介绍了 JAVA 圈子里的一些事情。Oracle 圈子和 JAVA
圈子全然不同,JAVA 圈子是一个十分开放的圈子,由于 JAVA 的开源性质,整
评论4
最新资源