首页>参考读物>计算机科学与技术>数据库

Oracle9i STATSPACK 高性能调整
作者 : (美)Donald K.Burleson
译者 : 袁勤勇 等
丛书名 : Oracle技术丛书
出版日期 : 2003-01-01
ISBN : 7-111-11274-1
定价 : 55.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 464
开本 : 16开
原书名 : Oracle9i High-Performance Tuning with STATSPACK
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书是Oracle公司官方推荐的使用STATSPACK进行性能调整的专著,作者是具有20多年Oracle数据库调整经验的专家。本书主要介绍了使用STATSPACK(特别是Oracle9i的STATSPACK)这一强大工具来诊断并优化系统性能的方法,该工具可以通过查看数据库的历史趋势和性能模式前瞻性地调整数据库。主要内容包括:STATSPACK方法和工具概述,使用STATSPACK调整Oracle数据库以及利用STATSPACK进行数据库报告。本书安排合理,结构缜密,相信能成为你调整Oracle数据库的好帮手。

图书前言

自从Oracle第一次发布STATSPACK工具以来,大家对于怎样使用SYAISPACK数据来辅助数据库调整就很关注。与其他大多数Oracle产品不同,STAISPACK没有大张旗鼓地推出,所以大多数Oracle专业人士没有注意到这个强大的新工具,或者说没有意识到使用这个工具进行数据库调整是多么重要。
  STATSPACK是一个简单的工具,它可以将Oracle的统计快照存入Oracle的表中。STATSPACK是Oracle UTLBSTAT-UTLESTAT具程序的后继,这个 UTLBSYATUT工具能够获取一个时期的开始快照和结束快照,并且能够为在这两个快照之间进行的所有数据库活动产生一个报告。
  通常需要将获取的Oracle性能统计数据存人表中。我在1996编写过一个扩展UTLESTAT能的工具,它可以将获取的Oracle数据存人表中,并且发表了一篇有关这个主题的文章。从那个时期起,我就利用这个STATSPACK的前身进行Oracle数据库的远程监视,以及报告数据库的性能。随着STNCK的引人,所有的人现在都有了一个将获取的Oracle统计数据放人表中的标准化机制,Oracle统计数据的历史档案为分析任何所需时段的Oracle性能提供了绝好的机会。更为重要的是,性能统计数据的历史档案可以让DBA编制趋势分析报告,它可以对数据库未来的行为做出预测。
  STATSPACK的基本安装和配置相当简单,但是Oracle仅提供了一个简单的报告来显示从STATSPACK表中获取的信息。因为我曾经有多年的分析表中的Oracle统计数据的经验,所以我能够快速地修改已有的脚本,从STATSPACK表中读取数据并且产生相当有用的报告。
  这些脚本的价值会使这本书物有所值,而且我还介绍了解释STATSPACK输出的详细技术。在本书中,我向读者展示了怎样使用STAISPACK报告来确保正确调整数据库的具体步骤。
  我写本书的目的是将我20年来在数据库调整方面的经验写成一篇数据库调整的综合文献。这是我的第三本有关Oracle调整的书,我收集了大量正确调整数据库时需要深入了解的内容。虽然大量的统计数据非常容易让人头脑糊涂,但是我会尽力强调重点,只向读者展示对改善数据库性能有帮助的信息。
  另外很重要的一点是,这本书引人了一种完全不同的Oracle调整方法。已有的Oracle调整书籍都强调处理即时的性能问题,而本书强调了怎样利用Oracle STATSPACK工具,通过查看数据库的历史趋势和性能模式前瞻性地调整数据库。这种前瞻性的调整方式可以确保对数据库的调整能够满足所有Oracle处理需求,而不是只针对DBA实时注意到的处理需求。
  以许多 Oracle DBA的观点来看,对数据库的性能问题可以做的事情很少。虽然能够使用Oracle Enterprise Manager性能工具包,也可以运行为Oracle v$视图定制的脚本,还可以判断性能瓶颈出现的原因,但是却不能够对实时运行的数据库进行任何改变以改正问题。
  而本书着重于讨论使用Orarle STATSPACK工具收集相关的性能统计信息,并且为DBA提供结构化的方法来查看各种Oracle组件以及观察它们之间的相互作用。前瞻性Oracle调整的目标是避免将来出现性能问题。在Oracle调整中,“忘记昨天,就会重复错误”这句话始终是真
理。
  根据我的20年数据库调整经验,我发现这种前瞻性技术是长期调整数据库整体性能的最佳方式。通过使用STATSPACK持续监视数据库性能,并且利用自动脚本提醒异常情况,使我的数据库具有了非常好的性能。我发现可以使用大规模的自动化任务进行Orarle数据库性能调整。
  本书的另一个显著特点是我对书进行了缜密的安排,以使性能之间的依赖关系能够按照正确的顺序组织起来。例如,Oracle数据库内部的Oracle调整不会改善与数据库服务器相关的性能问题。换句话说,服务器性能会直接影响在这个数据库服务器上运行的Oracle数据库的性能。这些依赖性将会涉及数据库服务器、磁盘I/O子系统以及Oracle网络。为了正确地调整Oracle数据库,在开始调整数据库之前,必须处理好这些外部因素。
  另外,辨识Oracle调整的非因果性特性也是很重要的。例如,对单独SQL语句进行调整可以极大地改变这些独立SQL语句的性能,然而,还必须将各个独立SQL语句使用的RAM内存数量与数据库的性能作为一个整体进行权衡。例如,通过使用更多的内部存储可以极大地加速SQL语句的执行,但是这样会牺牲在数据库中执行的其他 SQL语句的性能。
  我还故意推迟了对Oracle数据库设计问题的介绍。这是因为大多数Oracle DBA没有能力重新设计Oracle表,这一点对于已经在产品环境中使用的第三方应用或者内部应用尤其突出。但是,我坚定地认为正确的Oracle设计是Oracle性能至关重要的因素。
  在本书中,我还向读者展示了怎样扩展STATSPACK工具以获得与数据库服务器、磁盘I/O子系统以及Oracle表有关的性能度量。通过向STATSPACK数据库中增加这些因素,Oracle DBA可以得到数据库性能的整体印象。
  这本书与其他Oracle调整书籍的区别在于:
  l)这是第一本讲述使用STATSPACK工具进行Oracle调整的各种方法的书籍。
  2)这本书以前瞻性方式讨论了Oracle调整,与讲述即时反应方法的其他Oracle调整书籍相比,这是一种新方法。通过使用前瞻性方式,Oracle专家能够研究数据库过去的详细性能,井已制定出最适应于他们的Oracle系统处理特性的整体调整策略。
  3)这本书的不同之处还在于它讨论了所有影响Orarle性能的因素。其他的书籍只将它们的讨论限定于Oracle数据库的内部,而本书将会讨论所有相关的环境问题,包括数据库服务器、网络以及磁盘I/O。
  本书将会为Oracle数据库的调整提供完整的方法指导,并且还提供了几十个封装了重要因素的预制STATSPACK脚本,这使得初学者也能够迅速找到性能瓶颈。
  这本书最大的好处在于它简化了Oracle调整,并且扩充了Oracle统计数据的范围。这本书不是对 Oracle标准调整技术的再整理。STATSPACK工具的引入改变了Oracle调整的方法,本书重点强调了使用STATSPACK工具来收集、解释以及改正Oracle性能问题的方法。
  除了日常的Oracle调整之外,读者还能学会怎样使用STATSPACK收集当前的性能信息,以用于警告机制、趋势分析以及长期资源规划。我希望本书能够成为你的Oracle调整工具库中不可缺的帮手。


作者简介

(美)Donald K.Burleson:暂无简介

译者简介

袁勤勇 等:暂无简介

图书目录

第一部分 方法和工具概述
第1章 Oracle调整概述
1.l 整体调整方法
1.1.l 服务器调整
1.1.2 网络调整
1.l.3 磁盘调整
1.1.4 实例调整
1.l. 5 对象调整
1.l. 6 SQL调整
l.l. 7 用Oracle并行查询进行调整
1.l. 8 调整实际应用簇
1.2 Oracle和STATSPACK
1.3 小结
第2章 STATSPACK概述
2.1 STATSPACK体系结构
2.2 STATSPACK怎样收集数据
2.3 STATSPACK的表结构
2.3.1 STATSPACK控制表
2.3.2 STATSPACK参数表
2.4 STATSPACK信息使用
2.4.l 使用STATSPACK进行数据库调整
2.4.2 资源规划
2.4.3 预测模型
2.5 小结
第3章 安装和配置STATSPACK
3.1 STATSPACK脚本概述
3.l.1 Oracle8和Orace8i的STATSPACK脚本
3.1.2 Oracle 8.l.6后STATSPACK的STATSPACK脚本
3.2 步骤1:创建perfstat表空间
3.3 步骤2:运行创建脚本
3.3.1 运行Oracle 8.1. 7前版本安装脚本
3.3.2 安装先决条件
3.4 步骤3:测试STATSPACK安装
3.5 步骤4:规划自动STATSPACK数据收集
3.6 STATSPACK的配置和维护
3.7 调整STATSPACK收集阈值
3.7. 1 快照级别
3.7. 2 快照阈值
3.8 将STATSPACK用于Oracle 8.0到8.1.5
3.9 删除旧有的STATSPACK快照
3.9. l 使用STATSPACK清除工具
3.9.2 人工删除STATSPACK快照
3.9.3 快照的删除范围
3.9.4 清除快照的智能UNIX脚本
3.10 便于使用的STATSPACK Shell脚本
3.10.l 一个快捷的经过时间的STATSPACK脚本
3.10.2 监视STATSPACK表范围
3.11 小结
第4章 STATSPACK表中的数据
4.1 STATSPACK遗漏的内容
4.2 STATSPACK附属表结构
4.3 STATSPACK总计表
4.3.1 Oracle9i STATSPACK表的改变
4.3.2 stats$latch_misses_summary表
4.3.3 stats$sgastat_summary表(只适于Oracle8i)
4.3.4 stats$sql_summary表
4.3.5 stats$parameter表
4.4 STATSPACK系统表
4.4.1 Stats$rollstat表
4.4.2 stats$latch表
4.4.3 stats$latch_children表
4. 4.4 stats$librarycache表
4.4.5 stats$waitstat表
4.4.6 stats$enqueuestat表
4.4.7 stats$sysstat表
4. 4.8 stats$sesstat表
4.4. 9 stats$sgastat表
4.5 STATSPACK事务表
4.5.l stats$buffer_pool表(只适用于Oracle9i以前版本)
4.5.2 stats$buffer_pool_statistics表
4.5. 3 stats$filestatxs表
4.6 STATSPACK事件表
4. 6.1 Stats$system event表
4.6.2 Stats$session_event表
4.6.3 stats$bg_event_summary表
4.6.4 stats$idle_event表
4.7 Oracle并行服务器表(实际应用簇)
4.7.l stats$rowcache_summary表
4. 7.2 stats$sgaxs表
4.8 小结
第二部分 使用STATPACK调整Oracle数据库
第5章 扩展STATSPACK收集服务器统计
5.1 工具概述
5.1.l 各种vmsta的不同之处
5.1.2 在中可以得到什么
5.1.3 使用vmstat识别CPU瓶颈
5.1.4 使用--识别频繁使用的CPU
5.1.5 识别RAM内存瓶颈
5.1.6 理解UNIX RAM内存分页
5.2 在STATSPACK中获取服务器性能数据
5.2.1 获取信息的脚本
5.2.2 vmstat获取脚本的内部结构
5.2.3 报告其他Oracle服务器上的vmstat信息
5.3 小结
第6章 调整服务器环境
6.l 数据库管理员和系统管理员之间的关系
6.2 在线服务器监视工具
6.2.1 使用glance
6.2.2 使用top监视服务器
6.2.3 使用sar监视服务器统计
6.3 监视服务器CPU消耗
6. 4 升级整个服务器
6.4.l 增加附加的CPU处理器
6.4.2 服务器任务负载平衡
6.4.3 使用nice和priocntl改变执行优先级
6.5 监视服务器内存消耗
6.5.l 服务器内存设置
6.5.2 非常大的内存和Oracle
6.5.3 使Oracle内存不可交换
6. 6 报告服务器统计
6.6.l 服务器异常报告
6.6.2 日常vmstat趋势报告
6.6.3 长期服务器分析和趋势
6.7 小结
第7章 调整网络环境
7.1 优化Oracle NET配置
7.1.l proocol.ora中的tcp.noddny参数
7.1.2 sqlnet.ora的automatic_ipc参数
7.l. 3 tnsnam.ora中的SDU和TDU参数
7. l. 4 listener.cia中的queuesize参数
7. l. 5 sqlnet.ora的break_poll_skip参数
7.1.6 sqlnet.ora的disabe_oob参数
7. 1.7 epc_disabled环境变量
7.2 其他影响网络行为的Orale特性
7.2.1 使用阵列获取来提高网络吞吐量
7.2.2 使用多线程服务器
7.2. 3 连接共享和网络性能
7. 2.4 ODBC和网络性能
7.2.5 调整Oracle复制
7.3 从Oracle STATSPACK中监视网络性能
7.4 调整分布式网络
7.5 小结
第8章 使用STWIPACK调整磁盘I/O子系统
8.l 影响磁盘I/O的Oracle调整因素
8.2 Oracle内部结构和磁盘I/O
8. 2.1 Oracle文件组织技术
8.2.2 瞬时磁盘热点
8.3 映射Oracle磁盘结构
8.3.l 多RAM缓冲区问题
8.3.2 对Oracle进行文件条带化
8. 3.3 对Oracle使用RAID
8.3.4 使用具有原始设备的Oracle
8.3.5 Oracle数据库的磁盘负载平衡
8.3.6 配置Oracle表空间和数据文件
8.3.7 建立Oracle文件到磁盘的体系结构
8.3.8 报告Oracle磁盘体系结构
8.4 SYATSPACK报告Orale数据文件
8.4.l 使用STATSPACK报告详细的磁盘和文件I/O
8.4.2 有关特定I/O活动的STATSPACK报告
8.4.3 识别热点数据文件的STATSPACK脚本
8.4.4 定位热点磁盘的方法
8.5 扩充STATSPACK以用于磁盘I/O数据
8.5.l 基本iosta工具
8.5.2 定义STATSPACK表
8.5.3 获取iostat信息
8.5.4 产生iostat报告
8.6 使用STATSPACK查看I/O特性
8.7 小结
第三部分 用STATPACK调整Oracle数据库
第9章 调整Oracle数据库实例
9.1 Oracle数据库实例概述
9.1.1 OracleSGA
9.1.2 Oracle后台进程
9.l.3 块大小和Oracle磁盘I/O
9.1.4 db_file_multiblork_read_coot和Oracle
9.2 调整Oracle7到Oracle 8i数据缓冲区
9.2.l 数据块高速缓存介绍
9.2.2 完全数据缓存
9.2.3 数据缓冲区命中率
9.2.4 数据缓冲池内部结构
9.2.5 使用STATSPACK监视数据缓冲池的使用
9.2.6 Oracle 8i数据池概述
9.2.7 定位KEEP池的表和索引
9.2.8 调整RECYCLE池
9.2.9 为RECYCLE池识别候选
9.3 使用STATSP进行数据缓冲区命中率趋势报告
9.4 调整Oracle 9i数据缓冲池
9.5 调整Oracle 8.0数据库写入器进程
9.6 监视Orale 8i和Oracle 9i中的数据库写入器争用
9.7 调整共享池
9.8 调整库高速缓存
9.8.l 监视库高速缓存缺失率
9.8.2 使用STATSPACK监视库高速缓存内的对象
9.9 调整数据字典高速缓存
9.10 调整Oracle排序
9.11 调整撤销记录(回滚段)
9.12 监视到Oracle的专用连接
9.13 UNIX与多线程服务器交互
9.14 Oracle 9i动态RAM与UNIX
9.14.1 Oracl 9i和UNIX区组
9.14.2 改变动态SGA和PGA组件
9.15 Oracle 9i的专用连接PGA存储器分配
9.15.1 Oracle 9i中的自动RAM内存管理
9.15.2 自调整Oracle 9i数据库
9.16 小结
第10章 调整Oracle表和索引
10.1 Oracle 9i中的自动空间管理
10. l. 1 Oracle中的位图演化
10.1.2 Oracle 9i自由表算法
10.1.3 位图段管理特征
10. l. 4 Oracle 9i自由表内部结构
10.l.5 自动空间管理的Oracle 9i工具
10.2 传统Oracle存储参数及性能
10.2.l pctfree存储参数
10.2.2 pctused存储参数
10.2.3 freelists存储参数
10.2.4 OPS使用的freelist group存储参数
10.2.5 存储参数规则小结
10.3 传统自由表管理和Oracle对象
10.3.l 自由表中的链接与去除链接
10.3.2 减少自由表的重链接
10.4 表内部结构和自由表
10.5 根据数据行平均长度设置pctfree和pctused
10. 6 缓冲区忙等待和自由表争用
10.6.l 利用STATSPACK发现等待争用
10. 6.2 利用STATSPACK发现缓冲区忙等待
10.7 重组Oracle表
10.8 识别带有链接行的Oracle表
10.8.l 识别带有长行的表
10.8.2 识别稀疏表
10.9 为提高操作性能对Oracle表中的数据行重新排序
10.10 索引重建技术
10.10.l 何时需要重建索引
10.10.2 自动索引重建
10.11 识别Oracle 9i中的未用索引
10.11.1 监视会话的例子索引
10.11.2 用隐含参数调整索引争用
10.12 利用STATSPACK监视Oracle表和索引
10.12.l 分配STATSPACK扩展表
10.12.2 收集表和索引的STATSPACK快照
10.12.3 生成表和索引的报告
10.12.4 通过E-mail发布表报告
10.13 小结
第11章 调整Oracle SQL
11.1 SQL调整的目标
11.2 说明性SQL语法的问题
11. 3 OracleSQL优化器
11.3.1 optimizer_mode=RULE
11.3.2 optimizer_mode=FIRST_ROWS
11.3.3 optimizer_mode=ALL_ROWS
11.3.4 optimizer_mode=CHOOSE
11.4 利用基于规则的优化进行调整
11.4.l 改变基于规则的驱动表
11.4.2 基于规则的优化器何时无法使用正确的索引
11.5 使用基于成本的优化进行调整
11.5.l 启用基于成本的优化器
11.5.2 为CBO收集统计数据
11.6 确定默认的optimizer_mode设置
11.7 其他的调整技术
11.7.l 带CBO SQL提示的调整
11. 7. 2 调整SQL子查询
11.7.3 文字性SQL语句的问题
11.7.4 在Oracle8i中使用cursor_sharing参数
11.7.5 带临时表的SQL调整
11.7.6 通过添加索引调整SQL
11.7.7 编写高效率SQL的一般原则
11.8 SQL调整过程
11.8.1 步骤1:识别库缓存中影响大的SQL
11.8.2 步骤2:提取并解释SQL语句
11.8.3 步骤3:调整SQL语句
11.9 SQL调整中实际案例分析
11.10 高级SQL运行方案分析
11.11 保存SQL调整的永久性改变
11.12 使用V$sql_plan和v$sql_workarea视图
11.13 小结
第12章 利用Oracle并行特性进行调整
12.l 使用Oracle并行查询
12.1.l 并行查询参数
12.1.2 设置优化并行度
12.1.3 使用并行查询提示
12.2 监视Oracle并行查询
12.2.l 利用STATSPACK监视Oracle并行查询
12.2.2 利用v$视图监视Oracle查询
12.2.3 并行查询和分布式对象
12.2.4 查找Oracle并行查询的候选表
12.3 使用并行DML
12.3.l 启用并行DML
12.3.2 Oracle表重组的并行化
12.3.3 并行索引的重建
12.4 小结
第13章 Oracle并行服务器环境的调整
13.1 Oracle簇服务器系统结构介绍
13.2 RAC数据分区
13.3 Oracle7到Oracle 8i的集成分布式锁管理器
13.4 对OPS环境的Oracle表设置
13.5 调整OPS环境
13.6 监视OPS的STATSPACK表
13.6.1 stats$rowache_summary表
13.6.2 stats$sgaxs表
13.6.3 stats$sysstat表
13.7 扩展STATSPACK以获取OPS信息
13.8 查询Oracle并行服务器的v$视图
13.9 比较实际应用簇和Oracle并行服务器
13.10 小结
第四部分利用STATSPACK
进行数据库报告
第14章 利用STATSPACK监视Oracle
14.l 标准STATSPACK报告
14.1.l 前言段
14.l.2 等待事件段
14. 1.3 SQL段
14.1.4 表空间活动段
14.2 报警脚本程序概述
14.3 为DBA定制的异常警告报告
14.3.l STATSPACK警告日报
14.3.2 服务器警告报告
14.3.3 Oracle问题的实时检测
14.3. 4 对象增长周报
14.3.5 跟踪报警报告
14.3.6 Web服务器警告报告
14.3.7 缓冲区忙等待警告
14.4 STATSPACK反应报告
14.5 安排和定制Oracle报警报告
14.6 小结
第15章 利用WPACK进行趋势分析
15.l 利用Microsoft Excel绘制STATSPACK数据的图形
15.1.l 利用电子表格图表向导绘制STATSPACK数据图形
15.1.2 步骤1:定制STATSPACK报告
15.1.3 步骤2:在SQL*Plus中运行报告
15.1.4 步骤3:高亮显示并复制结果
15.1.5 步骤4:打开MS-Excel并粘贴数据
15.1.6 步骤5:将数据划分成数据列
15.1.7 步骤6: 数据分栏
15.l.8 步骤7:启动图表向导
15.1.9 步骤8:选择线条图
15.1.10 步骤9:完成图表向导并查看图表
15.1.11 步骤10:添加趋势线
15.2 用于预测的STATSPACK报告
15.2.l 用于趋势分析的基本STATSPACK度量
15.2.2 用于数据库服务器趋势分析的STATSPACK扩展
15.2.3 检查服务器以小时为单位的趋势
15.2.4 绘制一周中各天服务器统计数据的图表
15.3 基于Web的STKISPACK数据图形绘制
15.3.1 RRDtool工具
15.3.2 基于Web的其他绘图工具
15.4 STATSPACK浏览器产品
15.5 小结


教学资源推荐
作者: [美] 查鲁·C. 阿加沃尔(Charu C. Aggarwal) 著
作者: Thomas M. Connolly, Carolyn E. Begg
作者: (美)AnHai Doan,Alon Halevy,Zachary Ives 著
作者: Thomas M.Connolly, Carolyn E.Begg
参考读物推荐
作者: Marlene Theriault, Rachel Carmichael, James Viscusi
作者: Kevin Loney等著
作者: (美)Ben Forta 著