第1章 数据库的启动和关闭
1.1 数据库的启动
1.1.1 启动数据库到nomount状态
1.1.2 启动数据库到mount状态
1.1.3 启动数据库open阶段
1.2 进阶内容
1.2.1 scn
1.2.2 检查点
1.2.3 正常关闭数据库的状况
1.2.4 数据库异常关闭的情况:
1.3 深入分析
1.3.1 获得数据库open的跟踪文件
1.3.2 bootstrap$及数据库初始化过程
1.3.3 bootstrap$的重要性
1.3.4 bbed工具的简要介绍
第2章 参数及参数文件
2.1 初始化参数的分类
2.1.1 推导参数(derived parameters)
2.1.2 操作系统依赖参数
2.1.3 可变参数
.2.1.4 初始化参数的获取
2.2 参数文件
2.2.1 pfile和spfile
2.2.2 spfile的创建
2.2.3 spfile的搜索顺序
2.2.4 使用pfile/spfile启动数据库
2.2.5 修改参数
2.2.6 重置spfile中设置的参数
2.2.7 是否使用了spfile
2.2.8 spfile的备份与恢复
2.2.9 如何设置events事件
2.2.10 导出spfile文件
2.3 诊断案例
2.3.1 登录系统检查alert.log文件
2.3.2 尝试重新启动数据库
2.3.3 检查数据文件
2.3.4 mount数据库,检查系统参数
2.3.5 检查参数文件
2.3.6 再次检查alert文件
2.3.7 修正pfile
2.3.8 启动数据库
第3章 数据字典
3.1 数据字典概述
3.2 内部rdbms(x$)表
3.3 数据字典表
3.4 动态性能视图
3.4.1 gv$和v$视图
3.4.2 gv_$、v_$视图和v$、gv$同义词
3.4.3 数据字典视图
3.4.4 进一步的说明
3.5 最后的验证
3.5.1 v$parameter的结构
3.5.2 视图还是同义词
3.5.3 oracle如何通过同义词定位对象
第4章 内存管理
4.1 sga管理
4.1.1 什么是sga
4.1.2 sga与共享内存
4.1.3 sga管理的变迁
4.2 pga管理
4.2.1 什么是pga
4.2.2 pga的调整建议
4.3 oracle的内存分配和使用
4.3.1 诊断案例一:sga与swap
4.3.2 诊断案例二:sga设置过高导致的系统故障
4.3.3 诊断案例三:如何诊断和解决cpu高度消耗(100%)问题
第5章 buffer cache与shared pool原理
5.1 buffer cache原理
5.1.1 lru与dirty list
5.1.2 cache buffers lru chain闩锁竞争与解决
5.1.3 cache buffer chain闩锁竞争与解决
5.2 shared pool的基本原理
5.2.1 shared pool的设置说明
5.2.2了解x$ksmsp视图
5.2.3 诊断和解决ora-04031错误
5.2.4 library cache pin及library cache lock分析
5.2.5诊断案例一:version_count过高造成的latch竞争解决
5.2.6诊断案例二:临时表引发的竞争
5.2.7小结
第6章 重做(redo)
6.1 redo的作用
6.2 redo的内容
6.3 产生多少redo
6.4 redo写的触发条件
6.4.1 每3秒钟超时(timeout)
6.4.2 阈值达到
6.4.3 用户提交
6.4.4 在dbwn写之前
6.5 redo log buffer的大小设置
6.6 commit做了什么
6.7日志的状态
6.8日志的块大小
6.9日志文件的大小
6.10 为什么热备份期间产生的redo要比正常的多
6.11 能否不生成redo
6.11.1 nologging对于数据库的影响
6.11.2 disable_logging对于数据库的影响
6.11.3 force logging-强制日志模式
6.12 redo故障的恢复
6.12.1 丢失非活动日志组的故障恢复
6.12.2 丢失活动或当前日志文件的恢复
6.13 诊断案例一:通过clear日志恢复数据库
6.14 诊断案例二:日志组过度激活的诊断
第7章 回滚与撤销
7.1 什么是回滚和撤消
7.2 回滚段存储的内容
7.3 并发控制和一致性读
7.4 回滚段的前世今生
7.5 回滚机制的深入研究
7.6 oracle 9i闪回查询的新特性
7.7 使用errorstack进行错误跟踪
7.8 oracle 10g闪回查询特性的增强
7.9 ora-01555错误
7.10 aum下如何重建undo表空间
7.11 诊断案例一:使用flashback query恢复误删除数据
7.12 诊断案例二:释放过度扩展的undo空间
7.13 特殊情况的恢复
7.14 数值在oracle的内部存储
第8章 等待事件
8.1 等待事件的源起
8.2 从等待发现瓶颈
8.2.1 v$session和v$session_wait
8.2.2 从v$sqltext中追踪
8.2.3 捕获相关sql
8.3 oracle 10g的增强
8.3.1 新增v$session_wait_history视图
8.3.2 ash新特性
8.3.3 自动负载信息库awr的引入
8.3.4 自动数据库诊断监控addm的引入
8.4 顶级等待事件
8.5 重要等待事件
8.5.1 db file sequential read(数据文件顺序读取)
8.5.2 db file scattered read(数据文件离散读取)
8.5.3 direct path read/write(直接路径读/写)
8.5.4 日志文件相关等待
8.5.5 enqueue(队列等待)
8.5.6 latch free(闩锁释放)
第9章 性能诊断与sql优化
9.1 使用autotrace功能辅助sql优化
9.1.1 autotrace功能的启用
9.1.2 oracle 10g autotrace功能的增强
9.1.3 autotrace功能的内部操作
9.1.4 使用autotrace功能辅助sql优化
9.2 捕获问题sql解决过度cpu消耗问题
9.2.1 使用vmstat检查系统当前情况
9.2.2 使用top工具辅助诊断
9.2.3 检查进程数量
9.2.4 登录数据库
9.2.5 捕获相关sql
9.2.6 创建新的索引以消除全表扫描
9.2.7 观察系统状况
9.2.8 性能何以提高
9.2.9 小结
9.3 使用sql_trace/10046事件进行数据库诊断
9.3.1 sql_trace及10046事件的基础介绍
9.3.2 诊断案例一:隐式转换与索引失效
9.3.3 诊断案例二:跟踪后台错误
9.3.4 10046与等待事件
9.4 使用物化视图进行翻页性能调整
9.4.1 系统环境
9.4.2 问题描述
9.4.3 捕获排序sql语句
9.4.4 确定典型问题sql
9.4.5 选择解决办法
9.4.6 进一步的调整优化
9.4.7 小结
9.5 一次横跨两岸的问题诊断
9.5.1 第一封求助邮件
9.5.2 第一次回复
9.5.3 进一步信息提供
9.5.4 进一步的诊断
9.5.5 最后的问题定位
9.5.6 小结
9.6 总结
· · · · · · (
收起)
0 有用 君三思 2008-09-03 12:18:33
2008年读的
0 有用 Semon 2010-04-09 12:54:50
@感谢eygle提供PDF,Oracle 10g
0 有用 神马蚁 2011-04-08 18:43:09
我得承认看这本书看得很粗糙,一方面只是想了解一下DBA应该看些什么、学到什么,另一方面也是自己挑错了,我是想找本Oracle应用的书,而不是管理它。 以前觉得DBA应该是医生,象豪斯一样,看了之后才觉得不尽然,诊断只是一部分,更重要的是“调和”,没有一个绝对的指标放之四海而皆准,各个配置都是相辅相成、牵一发而动全身,必须找到很好的平衡点,才能让数据库运转在最佳的状态。 另外就是,如果不是认真思考留... 我得承认看这本书看得很粗糙,一方面只是想了解一下DBA应该看些什么、学到什么,另一方面也是自己挑错了,我是想找本Oracle应用的书,而不是管理它。 以前觉得DBA应该是医生,象豪斯一样,看了之后才觉得不尽然,诊断只是一部分,更重要的是“调和”,没有一个绝对的指标放之四海而皆准,各个配置都是相辅相成、牵一发而动全身,必须找到很好的平衡点,才能让数据库运转在最佳的状态。 另外就是,如果不是认真思考留下的笔记,只是为了做笔记而做笔记,那还是不要做了,以后再看的机率非常低。 (展开)
0 有用 南肖墙 2013-02-14 23:33:53
需要慢慢看,也许有些时候还可以当作工具书来读
0 有用 Corn 2013-05-13 12:38:56
想起了“这是一本我怎么读都读不懂(不喜欢)的书”活动,不同的人适合不同的书;把简单的事情描述复杂,对比官方文档;可以作为工作中的参考书,尽管大部分情况可能并不会遇到,不适合初学者,不是每个人都要成为专家;列举早期版本的情况有什么用?