Oracle优化日记 一个金牌DBA的故事pdf

图书网 2018年5月4日13:56:04
评论
2.2K
摘要

《Oracle优化日记:一个金牌DBA的故事》以作者亲身经历的一个大型优化项目为原型,用日记的形式讲述了项目实施的全过程。生动曲折的项目故事,扣人心弦的尖峰时刻,一一再现了几个经验丰富的老DBA分析数据库性能问题时的真实场景。书中不仅剖析了优化过程,还展现了在优化项目中处理纷繁的关系的技巧和方法。伴随精彩的故事情节。作者还介绍了DBA常用的优化技巧,使读者在大呼过瘾的同时。亦能分享到金牌DBA的宝贵经验。
数据库优化一直是DBA感到十分高深的问题,很多DBA学习了大量优化技术,参加了大量培训。

Oracle优化日记 一个金牌DBA的故事 内容简介

《Oracle优化日记:一个金牌DBA的故事》是一本介绍Oracle数据库优化方法的书,以一个实际的大型优化项目为原型,用日记的形式记录了一个优化小组的DBA 如何从纷繁的头绪中找到突破口,进而完成了一个看似不可能完成的任务的历程。在日记之间,作者还穿插了优化小技巧、每日点评等,总结了数据库优化常用的方法、工具和技巧。另外《Oracle优化日记:一个金牌DBA的故事》一次详尽地披露了Oracle数据库内部存储结构,并公布了部分代码,对于有兴趣研究数据库内部存储结构或者编写dul工具的读者有一定的参考价值。

《Oracle优化日记:一个金牌DBA的故事》适合Oracle数据库管理开发人员阅读。

Oracle优化日记 一个金牌DBA的故事 目录

5月11日 出发

今日点评

优化小技巧 性能 优化项目

优化小技巧  优化常用知识1:诊断事件

5月12日 开始工作和CPU瓶颈

今日点评

优化小技巧 数据库 优化的步骤

优化小技巧 按部就班是成功的关键

优化小技巧  优化常用知识2:常用诊断事件清单

5月13日 联席会议

今日点评

优化小技巧  优化流程

优化小技巧 转储文件内容1:数据文件

5月14日 聚会

优化小技巧 系统级 优化

优化小技巧 转储文件内容2:转储对象的段头

5月15日 业务支撑系统出问题了

今日点评

优化小技巧 索引监控

优化小技巧 性能 优化时常用的工具

优化小技巧 转储文件内容3:转储控制文件

5月18日 Top SQL

优化小技巧 查找Top SQL

优化小技巧 索引设计的一些建议

优化小技巧 什么是索引的集群因子

优化小技巧 转储文件内容4:转储控制文件

5月19日 南京的死锁问题

今日点评

优化小技巧 Oracle的死锁

优化小技巧 几个常用的与锁相关的脚本

5月20日 凌晨的邮件通知短信

今日点评

优化小技巧 /10028事件

优化小技巧 PL/SQL 优化工具profiler

5月22日 ODS系统和RAC

优化小技巧 以开放的心态做服务

优化小技巧 全局热块冲突

优化小技巧 PL/SQL中数据类型的性能

5月23日 实时ODS

今日点评

优化小技巧 ODS系统中Oracle数据库设计管理要点

优化小技巧 ODS系统中的开发要点

优化小技巧 集合类型的效率

5月24日 任务提前

今日点评

优化小技巧 占位操作与开关操作

优化小技巧  优化计划调整

优化小技巧 自动段存储空间管理1

5月25日 倾斜的索引字段

优化小技巧 倾斜字段的处理

优化小技巧 自动段存储空间管理2

5月26日  优化方案

优化小技巧  优化中的排队效应

优化小技巧 DB Cache调整方案如何制订

优化小技巧 自动段存储空间管理3

5月27日 无奈

今日点评

优化小技巧 临时表空间和排序

优化小技巧 undo表空间和回滚段

5月28日 BBED的妙用

今日点评

优化小技巧 如何启用BBED

优化小技巧 模拟ORA-8102及处理过程

优化小技巧 如何计算数据块中某个字段的位置

优化小技巧 如何计算索引块中某个字段的位置

优化小技巧 自己动手写一个dul

优化小技巧 bootstrap$的访问

优化小技巧 unloadBlock函数

优化小技巧 unloadRow函数

5月29日 突破困局

优化小技巧 查找“热的”缓冲区的常用脚本

优化小技巧 什么时候需要使用多缓冲

优化小技巧 AIX操作系统 优化要点

5月30日 账务处理

今日点评

优化小技巧 表访问的方式

5月31日 电脑坏了

今日点评

优化小技巧 通过OEM录像采集数据

优化小技巧 调整游标相关参数

6月1日 ORA-4030和内存泄漏

今日点评

优化小技巧 如何分析ORA-4030

6月2日  优化方案

今日点评

优化小技巧 一个提供参考的 优化方案

优化小技巧 游标的共享

6月3日 拆分大型SQL

优化小技巧 拆分复杂SQL

6月4日 TNS-12535

今日点评

优化小技巧 防火墙和SQL*Net

优化小技巧 跟踪SQL*Net

6月5日 休息时总是最忙的

今日点评

优化小技巧 使用hanganalyze

优化小技巧 重做日志文件 优化的要点

6月6日 实施 优化

今日点评

优化小技巧 升级维护窗口的确定

优化小技巧 回退预案的作用

6月7日 突发事件

今日点评

优化小技巧 使用HINT 优化SQL

6月10日 使用自动采样比例引发的故障

今日点评

优化小技巧 关于表分析比例的判定

优化小技巧 AIX下使用vmstat分析I/O问题的小技巧

6月11日 阶段总结

今日点评

优化小技巧 STATSPACK报告在 优化项目中的作用

优化小技巧 STATSPACK报告头的解读

6月12日 阴谋

今日点评

优化小技巧 分析STATSPACK的负载数据

优化小技巧 重要的命中率指标

6月13日 演戏

今日点评

优化小技巧 Top 事件

优化小技巧 常见事件清单

6月14日 转机

今日点评

优化小技巧 STATSPACK报告分析之DB Cache1

优化小技巧 STATSPACK报告分析之PGA

6月15日 青岛

今日点评

优化小技巧 如何 优化闩锁

6月16日 SQL 优化效果

今日点评

优化小技巧 如何转储数据块

优化小技巧 通过树转储来分析索引碎片

6月17日 完美的效果

今日点评

优化小技巧 I/O系统 优化的经验与体会

优化小技巧 STATSPACK报告之I/O 问题分析

6月18日 准备收工

优化小技巧 STATSPACK报告分析之DB Cache2

6月19日 ORA-1591

今日点评

6月20日 好奇心惹的祸

优化小技巧 STATSPACK报告分析之共享池分析

7月20日 重回沈阳

优化小技巧 如何评估 优化效果

优化小技巧 STATSPACK报告分析之undo分析

优化小技巧 STATSPACK报告分析之锁分析

7月21日 课堂风波

优化小技巧 平均事务响应时间的计算

优化小技巧 STATSPACK报告分析之闩锁分析

7月22日 世博园一日游和心想事成

优化小技巧 STATSPACK报告分析之Top对象

优化小技巧 STATSPACK报告分析之Top SQL

7月23日 漫长的一夜

优化小技巧 本案例的启示

后记,也算结束语

Oracle优化日记 一个金牌DBA的故事 精彩文摘

在Metalink文档285270.1里对死锁检测做了一个简要的介绍,看过这份文档,再参考John的提示,仔细想想,在做死锁检测的时候,确实是必须持有parent enqueue hash chains闩锁的,因为死锁检测(DLD,DeadLock Detection)需要通过对每个资源做一个检查,才可能发现哪些资源出现了死锁。而如果对每个资源都进行一次死锁检查,那么开销就太大了,因为在一个大型系统中同时有几十万甚至上百万个资源都是很正常的。每个资源上面都有三条链:一条是持有者链,链接了所有持有这个资源的锁的情况;一条是等待转换状态链,链接了所有等待转换锁状态的请求;还有一条是等待锁定链,链接了所有等待锁的请求。如果不出现死锁,那么这三条链和资源的状态在很短的时间内肯定会发生变化,而死锁出现时,相关的资源肯定在很长时间里都不会发生变化。,因此在检测死锁时,只需要对那些从上回检查后状态一直没有发生过变化的资源进行检查就可以发现死锁了。为了获取这些数据的一致性视图,在做死锁检测时就必须持有这个门锁。死锁检测本身很快,所以一般情况下不会引起问题。不过,如果出现了死锁,要做死锁情况转储时就可能会出问题。系统状态转储或者进程状态转储被挂住的可能性也是存在的,这很可能是由于另外一个bug引起的,无论哪个bug,关闭转储应该可以解决问题。由于在进程状态转储时,死锁检测会话会持有parent enqueue hash chains父闩锁,所以在这个时候,任何需要申请锁资源(包括内部锁)的操作都需要等待。由于游标分析需要申请library cache lock,所以在这种情况下,游标分析无法进行。部分会话会报ORA-600 kksscl-inf-inl-loop故障。

看看手机,已经是早上6点多钟,澳大利亚已经是早上8点多了,Ben可能已经起床。Ben有早上上网阅读早新闻的习惯,希望能碰到他,和他聊聊这个问题。打开Yahoo Pager,发现:Ben已经在线了。Ben听了问题的叙述后,也立即说这是Oracle的一个顽疾,虽然出了很多补丁,但是还有一些问题没有解决。.Ben在Oracle工作快10年了,作为澳洲Oracle的救火队员,他处理过10多个类似的案例,因此他十分肯定地说我的猜测是对的。同时,我从Ben那里拿到了一分关于bug2235386的资料,这份资料比我在Metalink上看到的要详细得多。从中,我有了十分惊人的发现。

bug 2235386里面详细介绍了ORA.60导致系统挂住的情况,里面的内容与我和John的想法基本一致,但是patch 2235386并没有解决这个问题。要解决这个问题,需要在做进程状态转储之前最好释放闩锁,而这是不可能的,因为这样会导致进程状态转储或者系统状态转储的信息不准确。因此在这个补丁里引入了10027和10028两个事件,通过设置这两个事件来开启或关闭进程状态转储或者系统状态转储。原来如此,patch 2235386并不能解决问题,而仅仅提供了解决问题的方法,因此Oracle的工程师仅仅是打了补丁,而没有解决问题,必须打完补丁后,通过设置10028事件关闭系统状态转储,才能解决这个问题。在死锁出现时,进程状态转储对于客户来说是没有多大用途的,因此关闭后对客户分析问题影响不大。

忙完这些已经快9点了,虽然昨晚一夜没怎么睡,不过现在一点都没有觉得困。上午一上班,我就和李工通了电话,在电话里,把我的发现和他进行了沟通。李工也基本认同了我的分析,决定先找一个本地网来做做实验,如果能够解决问题,再全面推广。原本定于今天下午的关于RAC的交流,由于他们有事,押到明天进行。看样子今天可以休息一下了。

图书网:Oracle优化日记 一个金牌DBA的故事pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

数据库

Kali Linux & BackTrack渗透测试实战pdf

本书基于编写团队的实际经验,围绕渗透测试进行了全面介绍,并选择“Kali Linux(包含BackTrack)” Live CD作为讲解工具。下载BackTrack Live CD和Kali Linu...
数据库

SQL进阶教程pdf

数据库工程师进阶中级实用指南 挖掘SQL常见技术的新用法 基于标准SQL编写 示例程序均可下载 本书适合具有一定SQL编程经验的工程师阅读 本书特色 1.转变面向过程语言的思维定式,学习SQL常见技术...
数据库

锋利的SQLpdf

锋利的SQL 作者:张洪举 锋利的SQL 出版社:人民邮电出版社 锋利的SQL 内容简介 《锋利的SQL》从基础、开发、性能调整和实战4个方面介绍了SQL技术及其应用,包括数据库管理、表管理、索引管理...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: