在豆瓣上创建了一个豆列: Oracle 优秀图书.
这些图书中, Practical Oracle 8i 与 Oracle8i Internal Services for Waits, Latches, Locks, and Memory 被国内的大多数出版社认为是过期的东西, 不进行引进. Oracle Insights 似乎没有引起出版社注意.
Oracle Wait Interface 与 Effective Oracle by Design 已经有了中文版. 没有阅读过中文版本,不知道翻译质量如何. Oracle Wait Interface 的电子版满天飞, 因为索引的存在, 搜索更为方便一些. 这本书的中文版如果没有索引是不可想像的.
Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions 这一本应该在翻译之中. Tom 的那本旧书就不加在这个列表中了.
Tag Archives: Oracle
Statspack 的一些资源
“大家帮我看看这个Statspack吧!” — 如果你去一些中文的数据库论坛,你会发现这个请求出现的非常的频繁. 一些朋友可能知道通过 Statspack 来进行数据库优化,可面对报告的各项指标却不知如何下手.
在这里介绍一点关于 Statspack 的技术资源.
Performance Diagnostics using STATSPACK data 作者是:Mary Crystal 与 Tim Gorman . (Tim Gorman 就是 The Search for Intelligent Life in the Cost-Based Optimizer 这篇经典文章的作者.这是 关于 CBO 的两篇最优秀的论文之一.) 该文档覆盖了 Statspack 的大部分内容. 并且介绍了一些如何有效挖取 Statspack 信息的技巧.
Getting fast results from Statspack: How do you apply the YAPP method on a statspack report? 这个文档介绍了如何运用 YAPP(Yet Another Performance Profiling Method) 方法快速分析 Statspack. 在上面的连接中,还可以下载 YAPP 方法的 PDF 文档.
新的Oracle性能神话?
很多 DBA 应该都记得这篇文章吧 ? Myths & Folklore About Oracle8i Performance Tuning. 这篇文章的出现, 粉碎了当时的不少图书中标榜的实际上没有什么作用的优化”技巧”.
来自 OraPub 的 Craig A. Shallahamer 在一篇新的论文 Modern Performance Myths 试图定义新的 Oracle 性能神话.包括如下四条:
- Myth #1. Decreasing wait event time will always decrease Oracle response time.
- Myth #2. Decreasing wait event time will always decrease end-to-end response time.
- Myth #3. Profiling sessions is the best way to diagnose performance problems.
- Myth #4. Focusing on where most of the time is spent is always the best approach.
老实说, Craig 这篇论文写的非常”绕”.完全看明白要费点时间.因为第一条和第二条 Myth, 说的都是”always”, 只需要举出一个反面例子即可. 非常有趣的是第三条, Profiling sessions , 因为这是 Hotsos 的 Cary Millsap 在 Optimizing Oracle Performance 一书中 Method R 方法(参见:Oracle 数据库优化的R方法)所提倡的手段. 要反驳第三条 Myth 倒也不难, Profiling sessions 只能做到针对特定 Session(or User) 进行优化,这个优化能从全局的角度上看是否是成功的? 就不能简单的下判断. Craig 的建议是在系统级和会话级进行响应时间分析(RTA).
那么如何避免这些所谓的 Myth 呢? Craig 的答案是 The Holistic Problem Isolation Method (整体问题隔离方法,HPIM), 识别 Oracle,Application,OS (三环法)每个子系统的瓶颈,并且理解各个子系统之间的关系.
Cary Millsap 在Oracle 性能优化 一书中提出的 Method R 的时候应该是自信满满, 但是 Craig 的这篇文档无疑也说明了 Method R 的一些遗漏之处.方法论是一个不断进化的过程, 没有所谓完美的方法,随着对Oracle优化认识的不断深入,相信也会有号称更为优秀的方法出现.但是能否更有效用在实践中,这是一个主要问题.
—-
BTW:
小道消息:Craig A. Shallahamer 将在 07 年推出一本名为 Forecasting Oracle Performance 的 Oracle 图书.期待.
利用搜索引擎自助解决 Oracle 的技术问题
很多时候,大多数IT类的技术问题完全可以自行去解决它,相对于答案来说,我们更需要一个方法.下面就一个例子来说说一些Oracle问题的解决途径(途径?如果可以这么说的话)。
问:关于x$ktuxe表的疑问??
本人在电子杂志(注:www.itpub.net 的电子杂志)第五期第29页看到这条语句,但我不清楚其具体含义,能否帮忙解释一下?另外,这里的kluxescnw和kluxescnb又是什么意思?
select max(ktuxescnw*power(2,32)+ktuxescnb) scn from x$ktuxe;
答:说点题外话,类似如下的问题,如果是我怎么去找答案。
首先,这样的问题我先看看有没有必要要弄明白,x$ktuxe,第一眼看上去,是Oracle的一个内部视图,既然是这样,可以知其然,不继续深入的了解他……
什么?这样的习惯不太好? %$#@…..
那好,如果不是这样,我偏要了解一下这个视图是做什么的.怎么办? 到 OTN 上寻找文档?不太可能,这样类似的视图一般Oracle不会详加说明的。 对了,Metalink上也许会有,哦,没有Metalink 的帐号…
还好,我们有搜索引擎 Google,输入 x$ktuxe. Search it , OK ,共有 116 项查询结果,稍加审视.第一项结果是:
Rollback Segment Scripts
… the rollback segment header blocks. The rollback segment header block transaction tables can be read via X$KTUXE, however the number of undo blocks in use is not always accurately reflected here until release 9i. Prior to that, it is necessary …
http://www.ixora.com.au/scripts/rbs.htm
第三项结果是:
Speculation of X$ Table Names
… x$ksulop, kernel service, user long operation, x$ksupr, kernel service, user process, x$ksuse, kernel service, user session, x$ktuxe, kernel transaction, undo transaction entry, x$kzsro, kernel security, system role, used in many SQL scripts in ?/rdbms/admin. x$le, lock element, x$le_stat, lock element status, …
http://www.stormloader.com/yonghuang/computer/x$table.html – 16k
有这两个结果,看来已经足够了,阅读一下…… 嗯,基本明白了一些