《Oracle性能调整与优化》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)Edward Whalen,(美)Mitchell Schroeter著;高艳春等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2002
  • ISBN:7115108838
  • 页数:295 页
图书介绍:本书涵盖了Oracle性能调整的各个方面,内容分为实例调整、Oracle硬件话题、应用程序和SQL语句调整以及与Oracle性能调整相关的一些高级话题四部分。

第一部分 实例调整 3

第1章 Oracle系统调整基础 3

1.1 系统调整的基本概念 3

1.1.1 系统调整的含义 3

1.1.2 确定系统是否需要调整 3

1.1.3 确定何时停止调整系统 4

1.2 调整目标 4

1.2.1 为提高系统吞吐量的调整 4

1.2.4 为提高系统容错能力的调整 5

1.2.3 为支持众多用户的调整 5

1.2.2 为缩短系统响应时间的调整 5

1.2.5 为缩短数据加载时间的调整 6

1.3 系统调整方法 6

1.3.1 分析问题 7

1.3.2 确定问题 8

1.3.3 确定解决方案和设定系统调整目标 9

1.3.4 确定系统调整目标 10

1.3.5 测试解决方案 10

1.3.6 分析调整结果 11

1.4 影响Oracle服务器性能的因素 11

1.4.1 系统瓶颈 12

1.4.2 调整硬件资源 13

1.4.3 其他调整因素 13

1.4.4 系统限制 14

1.5 设计系统软硬件规模和规划系统能力 14

1.5.1 设计系统软硬件规模和规划系统能力之比较 14

1.5.2 设计系统软硬件规模的步骤 15

1.5.3 规划系统能力的步骤 15

1.6 总结 16

2.1 启动Oracle实例 17

第2章 使用Oracle的配置参数 17

2.1.1 连接Oracle实例 18

2.1.2 使用STARTUP命令启动实例 18

2.1.3 启动Oracle实例 18

2.1.4 确定实例启动过程中的故障 19

2.1.5 关闭Oracle实例 20

2.2 初始化参数 23

2.2.1 与实例调整有关的参数 24

2.2.2 与限制系统资源有关的参数 24

2.3 总结 25

3.1 本章使用的初始化参数 26

第3章 调整Oracle实例 26

3.1.2 程序全局区和用户内存参数 27

3.1.1 SGA参数 27

3.1.3 Undo参数 28

3.1.4 混合参数 28

3.2 调整SGA 29

3.2.1 调整操作系统 29

3.2.2 调整私有SQL区和PL/SQL区 30

3.2.3 调整共享内存池 31

3.2.4 调整数据库缓冲区 34

3.3.1 在SMU模式下调整Undo 39

3.3 管理回滚段和Undo信息 39

3.3.2 在RBU模式下调整Undo 40

3.4 管理重做日志缓冲区 46

3.4.1 重做日志缓冲区的竞争 46

3.4.2 调整检查点 47

3.4.3 优化系统的排序操作 47

3.4.4 调整排序区域 48

3.4.5 调整排序区域的预留尺寸 48

3.4.6 调整临时表空间 48

3.6 总结 49

3.5 降低空闲数据块列表竞争 49

第4章 与提高性能有关的特性 51

4.1 本章需要使用的参数 51

4.2 索引 52

4.2.1 与索引有关的概念 52

4.2.2 索引类型 53

4.2.3 B树索引 53

4.2.4 Oracle位图索引的工作方式 55

4.2.5 选择创建索引的字段 56

4.2.6 如何创建索引 57

4.3 Oracle的并行执行特性 58

4.3.1 并行查询处理 59

4.3.2 并行创建索引 63

4.3.3 并行加载数据 64

4.3.4 并行恢复 64

4.4 簇 65

4.5 散列簇 68

4.6 同时读取多块数据 69

4.7 分区 70

4.7.1 分区的概念 70

4.7.2 按数据范围进行分区 71

4.7.3 List分区方案 72

4.7.4 散列分区方案 73

4.7.5 复合分区方案 73

4.7.6 分区的好处 74

4.7.7 分区和索引 74

4.8 稳定性计划 74

4.9 多线程服务器 75

4.9.1 专用服务器进程 75

4.9.2 多线程服务器进程 76

4.9.3 调整多线程服务器进程 76

4.10 总结 77

第5章 调整系统负载 79

5.1 本章使用的一些参数 79

5.2 使用资源使用者组 79

5.2.1 资源使用者组概述 80

5.2.2 配置资源使用者组 80

5.2.3 监控资源使用者组 83

5.3 调整用户资源 84

5.4 重新部署不同系统的功能 85

5.4.1 部署历史报表 85

5.4.3 支持分布式系统的应用程序 86

5.4.2 部署在线报表 86

5.5 总结 87

第6章 Oracle性能视图 88

6.1 V$视图和G$视图的比较 88

6.2 动态性能视图概述 89

6.3 使用动态性能视图 92

6.3.1 使用查询语句访问动态性能视图 92

6.3.2 使用UTLBSTAT/UTLESTAT工具和Statpack工具 93

6.3.3 使用性能监控工具 94

6.4 总结 95

7.1.1 运行UTLBSTAT和UTLESTAT 96

第7章 使用UTLBSTAT和UTLESTAT 96

7.1 UTLBSTAT和UTLESTAT 96

7.1.2 UTLBSTAT和UTLESTAT的输出文件 97

7.1.3 理解BSTAT和ESTAT的统计数据 97

7.2 Statspack 109

7.2.1 安装Statspack 109

7.2.2 运行Statspack 110

7.2.3 管理Statspack 111

7.2.4 Statspack的输出结果 111

7.3 总结 123

第二部分 Oracle硬件话题 127

第8章 Oracle和系统硬件 127

8.1 本章使用的参数 127

8.2 Oracle实例概述 127

8.2.1 Oracle内存结构 128

8.2.2 Oracle实例中的进程概述 130

8.3 计算机系统结构概述 131

8.3.1 CPU和高速缓冲区 132

8.3.2 CPU的设计 133

8.3.3 系统内存结构 135

8.3.4 设计数据总线 136

8.3.5 I/O总线 137

8.3.6 网络 137

8.3.7 是否使用群集 137

8.4 总结 137

第9章 I/O基本概念 138

9.1 磁盘驱动器 138

9.1.1 I/O子系统概述 138

9.1.2 磁盘驱动器的性能 141

9.1.3 顺序I/O操作的性能 142

9.1.4 随机I/O操作的性能 143

9.2 RAID磁盘子系统 144

9.1.5 关于驱动器I/O的更多考虑 144

9.2.1 硬件RAID和软件RAID的比较 145

9.2.2 磁盘分片 145

9.2.3 RAID0 146

9.2.4 RAID1 146

9.2.5 RAID10 147

9.2.6 RAID2 147

9.2.7 RAID3 148

9.2.9 RAID5 149

9.2.8 RAID4 149

9.2.10 奇偶校验概述 150

9.2.11 RAID性能概述 152

9.2.12 不同RAID级别之间性能的比较 153

9.3 RAID控制器性能特征 153

9.3.1 电梯排序法 154

9.3.2 磁盘控制器缓冲区 154

9.3.3 内外部RAID系统之间的比较 155

9.4 SAN系统 156

9.6 总结 159

9.5 NAS系统 159

第10章 Oracle和I/O 160

10.1 本章使用到的参数 160

10.2 Oracle对I/O的依赖性 161

10.2.1 读操作延迟的重要性 161

10.2.2 写操作延迟 162

10.2.3 容错 163

10.3 为Oracle配置I/O子系统 163

10.3.1 性能、容错能力和经济性 163

10.3.2 保护读者的投资 164

10.4 调整I/O 165

10.4.1 理解磁盘竞争 166

10.4.2 识别磁盘竞争问题 167

10.4.3 解决磁盘竞争问题 168

10.5 降低不必要的I/O开销 172

10.5.1 迁移和链接数据行 172

10.5.2 动态扩展 173

10.5.3 PCTFREE和PCTUSED命令选项 174

10.5.4 关于降低I/O操作技术的回顾 177

10.5.5 块尺寸 177

10.5.6 使用多种块尺寸 178

10.6 磁盘碎片 179

10.7 总结 181

第三部分 应用程序和SQL语句调整 185

第11章 使用EXPLAIN PLAN和SQL Trace 185

11.1 SQL Trace 185

11.1.1 初始化SQL Trace 185

11.1.2 控制SQL Trace 186

11.1.3 SQL Trace的功能 187

11.1.4 TKPROF的功能 187

11.1.5 分析SQL Trace的输出结果 189

11.2 EXPLAIN PLAN命令 193

11.2.1 初始化EXPLAIN PLAN 193

11.2.2 启动EXPLAIN PLAN 194

11.2.3 从EXPLAIN PLAN命令的输出结果中提取信息 195

11.2.4 跟踪应用程序 196

11.3 总结 197

第12章 调整索引 198

12.1 本章使用的参数 199

12.2 索引的类型 199

12.3 使用B树索引 200

12.3.1 创建索引的对象 201

12.3.2 维护索引 202

12.4 IOT 203

12.5 位图索引 203

12.6 基于函数的索引 204

12.7 使用线索 205

12.8 监控和分析索引 205

12.9 总结 205

13.1 理解Oracle优化器 207

13.1.1 Oracle优化器的工作方式 207

第13章 Oracle优化器 207

13.1.2 优化器初始化参数 208

13.1.3 优化方法 209

13.2 使用DBMS_STATS包 211

13.2.1 创建存放统计数据的表 211

13.2.2 收集统计数据 211

13.2.3 删除统计数据 212

13.2.4 恢复统计数据 212

13.2.5 DBMS_STATS包中的其他函数 213

13.2.6 使用统计数据 213

13.3.1 如何运行ANALYZE命令 214

13.3 使用ANALYZE命令 214

13.3.2 数据字典统计数据 216

13.4 事务处理 218

13.5 SQL语句的执行 219

13.5.1 创建游标 219

13.5.2 解析SQL语句 220

13.5.3 执行查询 221

13.5.4 绑定变量 221

13.5.5 执行SQL语句 221

13.5.6 并行化SQL语句的执行 221

13.5.7 向用户返回查询返回的数据记录 222

13.6 分析SQL语句 223

13.7 设计新的SQL语句 224

13.8 使用线索 224

13.9 总结 225

第14章 调整SQL语句 226

14.1 优化SQL语句 226

14.2 如何识别调整不良的SQL语句 226

14.3 连接类型 227

14.3.1 嵌套循环连接 227

14.3.3 散列连接 228

14.3.2 合并连接 228

14.4 调整SQL语句 229

14.4.1 调整已有应用程序 229

14.4.2 设计新应用程序 233

14.5 总结 236

第15章 使用线索 238

15.1 实现线索 238

15.1.1 线索的语法 239

15.1.2 线索错误 239

15.2.1 优化方法 240

15.2 线索 240

15.1.3 使用多条线索 240

15.2.2 关于访问方法的线索 242

15.2.3 与表的连接顺序有关的线索 245

15.2.4 与连接操作有关的线索 245

15.2.5 与并行查询选项有关的线索 246

15.2.6 有关查询转换方式的线索 248

15.2.7 其他线索 249

15.3 总结 251

16.1 RAC概述 255

第16章 Oracle9i实时应用程序群集 255

第四部分 高级话题 255

16.1.1 计算机系统 256

16.1.2 共享磁盘子系统 256

16.1.3 服务器连接 257

16.1.4 锁定数据 257

16.1.5 配置群集 258

16.2 RAC的适用条件 262

16.3 调整RAC 262

16.3.3 应用程序调整 263

16.4 总结 263

16.3.2 实例和锁调整 263

16.3.1 配置和规模 263

第17章 备份和恢复调整 264

17.1 本章使用的参数 265

17.2 Oracle运行方式回顾 265

17.2.1 备份过程 266

17.2.2 恢复过程 266

17.3 Oracle备份过程的特征 266

17.3.2 使用用户管理备份方法对系统进行热(在线)备份 267

17.3.3 使用RMAN工具对系统进行热(在线)备份 267

17.3.1 使用用户管理备份方法对系统进行冷(离线)备份 267

17.3.4 使用SAN提供的功能对系统进行热(在线)备份 268

17.3.5 使用用户管理备份方式时的数据访问模式 268

17.3.6 使用RMAN备份时的数据访问模式 268

17.3.7 备份时的系统负载 269

17.3.8 备份目标 269

17.4 系统设计的考虑 269

17.4.1 数据库冷备份 270

17.4.2 数据库热备份 270

17.4.3 使用用户管理备份方法时的调整考虑 273

17.4.4 使用RMAN备份工具的调整考虑 274

17.5 为提高备份操作的性能而提高系统性能 275

17.5.1 提高CPU的性能 275

17.5.2 提高系统的I/O性能 276

17.5.3 提高网络性能 276

17.5.4 将备份划分成不同的部分 277

17.6 验证备份操作的性能 278

17.6.1 应当测试RDBMS哪些方面的性能 278

17.6.2 应当测试操作系统哪些方面的性能 278

17.7 总结 280

18.2 为什么要制定灾难恢复计划 281

第18章 创建高性能的灾难恢复系统 281

18.1 本章使用的初始化参数 281

18.3 与灾难恢复有关的概念 282

18.3.1 远程镜像 282

18.3.2 Oracle9i数据卫士 283

18.4 制定灾难恢复计划 285

18.4.1 制定灾难恢复计划的步骤 285

18.4.2 将灾难恢复计划形成文档 286

18.4.3 实施灾难恢复计划的方法 286

18.6 调整备份系统 287

18.5 从灾难事件中恢复系统 287

18.7 总结 288

第19章 Oracle的网络性能 289

19.1 网络体系结构 289

19.1.1 硬件层 289

19.1.2 网络协议 291

19.2 调整网络部件 292

19.2.1 软件调整 293

19.2.2 网络设计 293

19.3 总结 295