Oracle STATSPACK高性能调整技术
分類: 图书,计算机/网络,数据库,Oracle,
作者: 美 伯里森 著 袁勤勇 等译
出 版 社: 机械工业出版社
出版时间: 2002-4-1字数:版次: 1版1次页数: 492印刷时间: 2002/04/01开本:印次:纸张: 胶版纸I S B N : 9787111098829包装: 平装内容简介
本书是Oracle公司官方推荐的使用STATSPACK进行高性能调整的专著,作者是具有20多年的Oracle数据库调整经验的专家。本书主要介绍了使用STATSPACK这一强大工具来诊断并优化系统性能的方法,该工具可以通过查看数据库的历史趋势和性能模式前瞻性地调整数据库。主要内容包括:STATSPACK方法和工具概述,使用STATSPACK调整Oracle数据库以及利用STATSPACK进行数据库报告。本书安排合理,结构缜密,附录中还包括大量预制的STATSPACK脚本,方便读者使用。相信本书能成为你调整Oracle数据库的好帮手。
目录
前言
第一部分 方法和工具概述
第1章 Oracle调整概述
1.1 整体调整方法
1.1.1 服务器调整
1.1.2 网络调整
1.1.3 磁盘调整
1.1.4 实例调整
1.1.5 对象调整
1.1.6 SQL调整
1.1.7 用Oracle并行查询进行调整
1.1.8 调整Oarcle并行服务器环境
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用于Oracle8.0到8.1.5
3.2 STATSPAcK脚本概述
3.3 步骤1:创建perfstat表空间
3.4 步骤2:运行创建脚本
3.5 步骤3:测试STATSPACK安装
3.6 步骤4:规划自动STATSPACK数据收集
3.7 STATSPACK的配置和维护
3.8 调整STATSPACK收集门限
3.8.1 快照级别
3.8.2 快照门限
3.9 移走旧有的STATSPACK快照
3.10 便于使用的STATSPACK Shell脚本
3.11 小结
第4章 STATSPACK表中的数据
4.1 STATSPACK遗漏的内容
4.2 STATSPACK附属表结构
4.3 STATSPACK概要表
4.3.1 atats$latch_misses_summary表
4.3.2 stats$sgastat_summary表
4.3.3 stats$sql_summary表
4.3.4 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.1 stats$buffer_pool表
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.1 stats$rowcache_summary表
4.7.2 stats$sgaxs表
9.8 小结
第二部分 使用STATSPACK调整Oracle数据库
第5章 扩展STATSPACK收集服务器统计
5.1 vmstat工具概述
5.1.1 各种vmstat的不同之处
5.1.2 在vmstat中可以得到什么
5.1.3 使用vmstat识别CPU瓶颈
5.1.4 使用vmstat识别频繁使用的CPU
5.1.5 识别RAM内存瓶颈
5.2 在STATSPACK中获取服务器性能数据
5.2.1 获取vmstat信息的脚本
5.2.2 vmstat获取脚本的本质
5.2.3 报告其他Oracle服务器上的vmstat信息
5.3 小结
第6章 调整服务器环境
6.1 数据库管理员和系统管理员之间的关系
6.2 在线服务器监控工具
6.2.1 使用glance
6.2.2 使用top监控服务器
6.2.3 使用sar监控服务器统计
6.3 监控服务器CPU消耗
6.4 升级整个服务器
6.4.1 增加附加的CPU处理器
6.4.2 服务器任务负载平衡
6.4.3 使用nice和priocntl改变执行优先级
6.5 监控服务器内存消耗
6.5.1 服务器内存设置
6.5.2 非常大的内存和Oracle
6.5.3 使Oracle内存不可交换
6.6 报告服务器统计
6.6.1 服务器异常报告
6.6.2 日常vmstat趋势报告
6.6.3 长期服务器分析和趋势
6.7 小结
第7章 调整网络环境
7.1 优化OracleNet8配置
7.1.1 protocol.ora中的tcp.nodelay参数
7.1.2 sqlnet.ora的automatic_ipc参数
7.1.3 tnsnames.ora中的SDU和TDU参数
7.1.4 在listener.ora中的queuesize参数
7.1.5 sqlnet.ora的break_poll_skip参数
7.1.6 sqlnet.ora的disable_oob参数
7.1.7 epc_disabled环境变量
7.2 其他影响网络行为的Oracle特性
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章 使用STATSPACK调整磁盘I/O子系统
8.1 影响磁盘I/O的Oracle调整因素
8.2 Oracle内部结构和磁盘I/O
8.2.1 Oracle文件组织技术
8.2.2 瞬时磁盘热点
8.3 映射Oracle磁盘结构
8.3.1 多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 STATSPACK报告Oracle数据文件
8.4.1 使用STATSPACK报告详细的磁盘和文件I/O
8.4.2 有关特定I/O活动的STATSPACK报告
8.4.3 识别热点数据文件的STATSPACK脚本
8.4.4 定位热点磁盘的方法
8.5 扩充STATSPACK以用于磁盘I/O数据
8.5.1 基本iostat工具
8.5.2 定义STATSPACK表
8.5.3 获取iostat信息
8.5.4 产生iostat报告
8.6 使用STATSPACK查看I/O特性
8.7 小结
第9章 调整Oracle数据库实例
9.10 Oracle数据库实例概述
9.1.1 Oracle SGA
9.1.2 Oracle后台进程
9.1.3 块大小和Oracle磁盘I/O
9.1.4 db file multiblock read count以及Oracle
9.2 调整Oracle数据缓冲
9.2.1 数据块缓存介绍
9.2.2 完全数据缓存
9.2.3 数据缓冲命中率
9.2.4 数据缓冲池内部结构
9.2.5 使用STASPACK监控数据缓冲池的使用
9.2.6 新数据池概述
9.2.7 定位KEEP池的表和索引
9.2.8 调整RECYCLE池
9.2.9 为RECYCLE池识别候选
9.3 使用STATSPACK进行数据缓冲命中率趋势报告
9.4 调整数据库写入器进程
9.5 调整共享池
9.6 调整库缓存
9.6.1 监控库缓存缺失率
9.6.2 使用STATSPACK监控库缓存内的对象
9.7 调整数据辞典缓存
9.8 调整Oracle排序
9.9 调整回滚段
9.10 小结
第10章 调整Oracle数据表和索引
10.1 Oracle基本存储参数及其对性能的影响
10.1.1 pctfree存储参数
10.1.2 pctused存储参数
10.1.3 freelists存储参数
10.1.4 OPS使用的freelistgroup存储参数
10.1.5 存储参数规则概述
10.2 自由表管理和Oracle对象
10.2.1 自由表中的链接与去除链接
10.2.2 减少自由表的重链接
10.3 数据表内部情况和自由表
10.4 根据数据行平均长度设置pctfree和pctused
10.5 缓存忙等待和自由表冲突
10.5.1 利用STATSPACK发现等待冲突
10.5.2 利用STATSPACK发现缓存贮等待
10.6 重组Oracle数据表
10.7 识别存在链接数据行的Oracle表
10.7.1 识别带有长数据行的表
10.7.2 识别稀疏表
10.8 为提高操作性能对Oracle表中的数据行重新排序
10.9 索引重建技术
10.9.1 何时需要重建索引
10.9.2 自动索引重建
10.10 利用STATSPACK监视Oracle表和索引
10.10.1 分配STATSPACK扩展表
10.10.2 收集数据表和索引的STATSPACK快照
10.10.3 生成数据表和索引的报告
10.10.4 通过e-mail发布数据表报告
10.11 小结
第11章 调整OracleSQL
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.1 改变基于规则的驱动表
11.4.2 基于规则的优化器何时无法使用正确的索引
11.5 使用基于成本优化器进行调整
11.5.1 启用基于成本的优化器
11.5.2 为CBO收集统计数据
11.6 确定默认的optimizer_mode设置
11.7 其他的调整技术
11.7.1 带CBOSQL提示的调整
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 小结
第12章 利用Oracle并行特性进行调整
12.1 使用Oracle并行查询
12.1.1 并行查询的init.ora参数
12.1.2 设置优化并行度
12.1.3 使用并行查询提示
12.2 监视Oracle并行查询
12,2.1 利用STATSPACK监视Oracle并行查询
12.2.2 利用V$视图监视Oracle并行查询
12.2.3 并行查询和分布式对象
12.2.4 查找Oracle并行查询候选数据表
12.3 使用并行DML
12.3.1 启用并行DML
12.3.2 Oracle表重组工作的并行化
12.3.3 并行的索引重建
12.4 小结
第13章 Oracle并行服务器环境的调整
13.1 Oracle并行服务器系统结构的介绍
13.2 OPS数据分区
13.3 集成分布式锁管理器
13.4 针对OPS的Oracle数据表设置
13.5 调整OPS环境
13.6 监视OPS的STATSPACK表
13.6.1 stats$rowcache_summary表
13.6.2 stats$sgaxs表
13.6.3 stats$sysstat表
13.7 扩展STATSPACK以获取OPS信息
13.8 查询Oracle并行服务器的v$视图
13.9 小结
第三部分 利用STATSPACK进行数据库报告
第14章 利用STATSPACK监视Oracle
14.1 报警程序概述
14.2 定制为DBA提供的异常警告报告
14.2.1 STSTSPACK警告日报
14.2.2 服务器警告日报
14.2.3 Oracle问题的实时检测
14.2.4 对象增长周报
14.2.5 跟踪报警报告
14.2.6 Web服务器警告报告
14.2.7 缓冲繁忙等待警告
14.3 STATSPACK相互作用报告
14.4 安排和定制Oracle报警报告
14.5 小结
第15章 利用STATSPACK进行趋势分析
15.1 利用MS-Excel绘制STATSPACK数据的图形
15.1.1 利用电子表格图表向导绘制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.1.8 步骤7:启动图表向导
15.1.9 步骤8:选择线条图
15.1.10 步骤9:完成图表向导并查看图表
15.1.11 步骤10:添加趋势线
15.2 用于预测的STATSPACK报告
15.2.1 用于趋势分析的基本STATSPACK度量
15.2.2 用于数据库服务器趋势分析的STATSPACK扩展
15.2.3 检查服务器以小时为单位的趋势
15.2.4 绘制一周中各天服务器统计数据的图表
15.3 STATSPACK数据基于Web的图形绘制
15.3.1 RRDtool
15.3.2 其他基于Web的制图工具
15.4 小结
附录
附录A STATSPACK脚本