书籍详情
深入浅出Oracle
作者:盖国强
出版社:人民邮电出版社
出版时间:2006-07-01
ISBN:9787115149893
定价:¥65.00
购买这本书可以去
内容简介
针对数据库的启动和关闭、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手,深入研究相关技术,并结合性能调整及丰富的诊断案例,力图将Oracle知识全面、系统、深入地展现给读者。本书给出了大量取自实际工作现场的实例。在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,满足面向实际应用的读者需求。...
作者简介
盖国强,曾任职于某大型国的企业,开发过基于Oracle数据库的大型ERP系统,属国家信息产业部重点工程。同时负责Oracle数据库管理及优化,并为多家烟草企业提供Oracle数据库管理、优化及技术等。目前任职于北京某电信增值服务系统提供商企业,技术支持部总监兼首席DBA。管理全国30多个数据库系统,项目经验丰富,曾设计规划及支持中国联通增值业务等大型数据库系统。实践经验丰富,长于数据库诊断、性能调整与SQL优化等。对于Oracle内部技术具有深入研究。高级培训师,培训经验丰富,曾主讲ITPUB DBA培训ITPUB高级性能调整等主要课程。《Oracle数据库DBA专题技术精粹》、《Oracle数据库性能优化》二书的主编及主要作者。
目录
第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.4 最后的问题定位
9.5.5 小结
9.6 总结
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.4 最后的问题定位
9.5.5 小结
9.6 总结
猜您喜欢