图书介绍

Oracle 9i性能调整2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Oracle 9i性能调整
  • (美) Richard J. Niemiec著;王海涛,鹿凡译 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302080372
  • 出版时间:2004
  • 标注页数:700页
  • 文件大小:217MB
  • 文件页数:722页
  • 主题词:关系数据库-数据库管理系统,Oracle 9i-技术手册

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Oracle 9i性能调整PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Oracle9i——Oracle9i新特性介绍(针对DBA和开发人员)1

目 录1

1.1 新的Oracle9i管理特性2

1.1.1迁移注意事项2

1.1.2不支持SVRMGRL和Connect Internal3

1.1.3 DBCA和SYS账户安全性的增强3

1.1.4服务器参数文件3

1.1.5 Automatic Undo Management4

1.1.6可恢复的空间分配4

1.1.8 Oracle托管的文件5

1.1.7默认的临时表空间5

1.1.9动态内存管理6

1.1.10支持多种数据库块大小7

1.1.11 游标共享8

1.1.12自调整的PGA8

1.1.13联机重定义表8

1.1.14其他管理特性8

1.2新的Oracle9i体系结构特性9

1.2.1新的分区选项和特性9

1.2.3段空间自动管理10

14.3.2 更新STATSPACK 510

1.2.2对象元数据的提取10

1.2.4新的索引特性11

1.3 新的Oracle9i数据仓库特性12

1.3.1 外部表12

1.3.2视图约束12

1.3.3 多表INSERT语句13

1.4.2 Oracle的CASE语句和表达式14

1.4 新的Oracle9i SQL和PL/SQL特性14

1.4.1 关联数组14

1.4.3 Oracle的MERGE语句15

1.4.4对ANSI/ISOSQL1999规范的支持16

1.4.5其他的SQL和PL/SQL特性16

1.5新的Oracle9i备份和恢复特性18

1.5.1 快速启动故障恢复(基于时间)18

1.5.2闪回查询18

1.5.3 新的RMAN特性19

1.6.1并行数据库20

1.5.4新的Log Miner特性20

1.6 实时应用群集(Real Application Clusters,RAC)20

1.5.5 Oracle9i Data Guard20

1.6.2 Oracle的RAC体系结构21

1.6.3 Oracle RAC系统的内部运行机制23

1.6.4 SCN处理25

1.6.5小结26

1.7技巧回顾26

第2章基本的索引原理(针对DBA和初级开发人员)28

2.1基本的索引概念28

2.2 组合索引30

2.3 Oracle ROWID31

2.4 限制索引32

2.4.1 使用不等于操作符(?、!=)32

2.4.2使用IS NULL或IS NOT NULL32

10.10 使用和修改DBMS SHARED POO L.SIZES34

2.4.3使用函数34

2.4.4 比较不匹配的数据类型34

2.5 选择性35

2.6 群集因子(Clustering Factor)35

2.7二元高度(binary height)36

2.8使用柱状图37

2.9快速全局扫描38

2.10跳跃式扫描39

2.11索引的类型40

2.11.2位图索引41

2.11.1 B-树索引41

2.11.3 HASH索引43

2.11.4索引编排表44

2.11.5反转键索引45

2.11.6基于函数的索引45

2.11.7分区索引47

2.13 技巧回顾49

2.12快速重建索引49

第3章 磁盘I/O和碎片(针对DBA)52

3.1使用磁盘阵列52

3.1.1 可用的RAID级别53

3.1.2简化安装和维护53

3.1.3磁盘阵列是否一直可用54

3.2在可用的磁盘之间分布关键数据文件54

3.1.4考虑代价54

3.2.1分开存储数据和索引文件55

3.2.2避免I/O磁盘争用56

3.2.3通过移动数据文件来均衡文件I/O57

3.3使用本地托管的表空间58

3.3.1创建本地托管的表空间58

3.3.2把字典托管的表空间迁移到本地托管的表空间59

3.3.3使用Enterprise Manager查看文件/表空间的信息60

3.4使用分区来避免磁盘争用61

3.4.1 获得关于分区的更多信息63

3.4.2其他类型的分区64

3.4.3其他分区选项67

3.5使用索引分区69

3.6导出分区70

3.7 消除碎片71

3.7.2创建一个新表空间并把数据移到其中72

3.7.1 使用正确的扩展大小72

3.7.3导出和重新导入表74

3.7.4正确设定比例以避免链化现象75

3.7.5重建数据库75

3.8使用撤消管理77

3.8.1确定重做日志文件的大小是否存在问题78

3.8.2确定日志文件的大小和检查点的时间间隔79

3.8.3增加恢复的可能:在每次批处理后提交81

3.9使用回滚段81

3.9.1避免回滚段之间的争用81

3.9.2监控回滚段的等待和争用81

3.9.3增加回滚段82

3.9.4把大的事务隔离到它们自己的回滚段上82

3.10 更简便的方法:UNDO表空间83

3.11 结束有问题的会话84

3.12通过内存排序来减少磁盘I/O86

3.13在不同磁盘和控制器上存放多个控制文件87

3.14对写操作频繁的数据使用裸设备来提高I/O87

3.14.1使用裸设备的好处87

3.15磁盘I/O的其他注意事项和提示88

3.16设计阶段需要注意的问题88

3.14.2使用裸设备的缺点88

3.17技巧回顾89

4.1重要的init.ora参数91

第4章用初始化参数调整数据库(针对DBA)91

4.2不用重启就修改init.ora文件92

4.3 用Enterprise Manager查看init.ora参数93

4.4 调整DB_CACHE_SIZE来提高性能94

4.4.1 在调整DB_CACHE_SIZE时使用V$DB_CACHE_ADVICE96

4.4.2保证数据缓存命中率超过95%97

4.4.3 监控V$SQLAREA视图以查找较慢的查询97

4.5 设定DB_BLOCK_SIZE来优化数据读取量的大小100

4.5.1调整SHARED_POOL_SIZE以优化性能101

4.5.2使用Oracle的多个缓冲池110

4.5.3 调整PGA_AGGREGATE_TARGET以优化对内存的应用112

4.5.4修改SGA大小以避免分页和交换113

4.5.5 了解OPTIMIZER_MODE:基于代价和基于规则的优化114

4.5.6创建足够的调度程序115

4.5.7 25个重要的初始化参数116

4.5.8未记录入档的init.ora参数117

4.5.9 了解典型的服务器118

4.5.10典型的服务器模式118

4.6技巧回顾119

第5章Enterprise Manager和调整包(针对DBA和开发人员)122

5.1 Enterprise Manager控制台123

5.2 Instance文件夹123

5.2.1实例管理——状态窗口123

5.2.2实例管理——启动选项123

5.2.3实例管理——初始化参数124

5.2.4实例管理——检查单个会话125

5.2.5实例管理——Memory Advisor125

5.3 Schema文件夹126

5.3.1模式管理——检查特定的表126

5.3.2模式管理——检查特定的索引127

5.3.3 模式管理——检查SYS信息128

5.4 Security文件夹129

5.3.4模式管理——检查包、过程和触发器129

5.5 Storage文件夹132

5.6 Oracle SQL Scratchpad和SQL*PLUS表132

5.7 Performance Manager133

5.7.1 Performance Manager——Database Health Overview图表134

5.7.2 Performance Manager——缓冲区缓存命中率135

5.7.3 PerformanceManager——库缓存命中率136

5.7.4 Performance Manager——数据字典缓存命中率137

5.7.5 Performance Manager——SQL区域137

5.7.6 Performance Manager——内存排序命中率138

5.7.7 Performance Manager——系统I/O率138

5.7.8 Performance Manager——数据库实例信息139

5.7.9 Performance Manager——构建自定义的图表140

5.7.10 Performance Manager——Top图表和会话142

5.8 Oracle调整包——SQL Analyze144

5.8.1 SQLAnalyze——EXPLAIN PLAN145

5.8.2 SQLAnalyze——执行统计146

5.8.3 SQLAnalyze——比较不同的计划147

5.8.4 SQLAnalyze——调整向导148

5.9索引调整向导149

5.10 Oracle调整包——Oracle Expert150

5.10.1 Oracle Expert——模式调整150

5.10.2 Oracle Expert——为调整会话设定规则151

5.10.4 Oracle Expert——检查建议152

5.10.3 OracleExpert——进行修改并测试影响152

5.10.5 Oracle Expert——了解建议的细节153

5.10.6 Oracle Expert——所建议的系统范围内的修改154

5.11 Oracle调整包——表空间映射154

5.12 Oracle Expert分析报告155

5.13商务影响报告155

5.13.1服务级别的报告156

5.13.2应用程序运行状况评估156

5.14技巧回顾158

第6章实用工具简介(针对DBA和开发人员)160

6.1 Oracle的TRACE实用程序160

6.1.1 对简单查询使用TRACE的简单步骤161

6.1.2 TRACE输出部分165

6.1.3更复杂的TKPROF输出167

6.1.4深入探讨TKPROF输出168

6.1.5 单独使用EXPLAIN PLAN170

6.1.6 EXPLAIN PLAN——从上至下读取和从下至上读取173

6.1.7阅读EXPLAIN PLAN174

6.1.8 另一种EXPLAIN PLAN输出方法:构建树结构178

6.1.9另一个使用树的例子180

6.1.10在开发产品中利用TRACE/EXPLAIN发现有问题的查询182

6.1.11 PLAN_TABLE表中的重要列182

6.1.12 Oracle支持的一些有用的程序包184

6.1.13适用于未记录入档的TRACE操作的INIT.ORA参数185

6.1.14使用Stored Outline186

6.2技巧回顾193

第7章 基本的提示句法(针对DBA和开发人员)195

7.1 最常用的提示196

7.1.1谨慎使用提示196

7.1.2首先修正设计方案197

7.2可用的提示和分组197

7.2.1 改变执行路径197

7.2.2使用访问方法提示197

7.2.3使用查询转换提示198

7.2.4使用连接操作提示198

7.2.5使用并行执行198

7.2.6其他提示198

7.4指定多个提示199

7.3 指定提示199

7.5使用别名200

7.6使用提示200

7.6.2使用RULE提示201

7.6.1使用CHOOSE提示201

7.6.3使用FIRST_ROWS提示202

7.6.4 使用ALL_ROWS提示203

7.6.5使用FULL提示203

7.6.6使用INDEX提示204

7.6.7使用NO_INDEX提示205

7.6.8使用INDEX_JOIN提示206

7.6.9使用AND_EQUAL提示206

7.6.10使用INDEX_COMBINE提示207

7.6.11使用INDEX_ASC提示207

7.6.12使用INDEX_DESC提示208

7.6.13使用INDEX_FFS提示208

7.6.14使用ORDERED提示209

7.6.15使用LEADING提示210

7.6.16使用ORDERED_PREDICATES提示210

7.6.17使用ROWID提示211

7.6.19使用DRIVING_SITE提示212

7.6.18使用NO_EXPAND提示212

7.6.20使用USE_MERGE提示213

7.6.21 使用USE_NL提示214

7.6.22使用USE_HASH提示215

7.6.23使用PUSH_SUBQ提示215

7.6.24使用PARALLEL提示216

7.6.25使用NOPARALLEL提示217

7.6.26使用APPEND提示217

7.6.27使用NOAPPEND提示218

7.6.28使用CACHE提示218

7.6.29使用NOCACHE提示219

7.6.30 使用CLUSTER提示219

7.6.31 使用HASH提示220

7.6.32 使用CURSOR_SHARING_EXACT提示220

7.8提示一览表221

7.7使用提示可能遇到的问题221

7.9技巧回顾222

第8章 调整查询(针对初级DBA和开发人员)225

8.1.1 在V$SQLAREA视图中选出最占用资源的查询226

8.1.2在V$SQL视图中选出最占用资源的查询226

8.1 查询V$SQLAREA和V$SQL226

8.2确定何时使用索引227

8.3遗忘索引228

8.4创建索引229

8.5查看表上的索引229

8.6正确当地建立索引230

8.7修正差的索引231

8.8 在SELECT和WHERE中使用索引232

8.10使查询魔术般加速234

8.9使用快速全局扫描234

8.11 在内存中缓存表235

8.12使用多个索引(利用最佳选择性)237

8.13使用索引合并238

8.14处理受限制的索引239

8.15使用基于函数的索引241

8.16了解“古怪”的OR241

8.17使用EXISTS函数243

8.18技巧回顾244

第9章表的连接和其他高级调整技术246

9.1 连接方法247

9.1.1嵌套循环连接247

9.1.2排序合并连接248

9.1.3群集连接249

9.1.4哈希连接249

9.1.5索引连接250

9.2表连接的初始化参数253

9.2.1排序合并连接参数253

9.2.2哈希连接参数253

9.3 比较主要的连接方法253

9.4双表连接:等尺寸表(基于代价)254

9.5双表索引连接:等尺寸表(基于代价)257

9.6强制执行特殊的连接方法259

9.7在多表连接中除去连接记录(侯选行)262

9.8在大小不同的表间进行双表连接263

9.9三表连接266

9.10位图连接索引269

9.11 第三方性能调整工具274

9.12调整分布式查询279

9.13一切就绪281

9.14各种调整技术摘要281

9.14.1实时应用群集(Real Application Clusters,RAC)282

9.14.2 RedHat炙手可热:Linux造成的改变283

9.14.3 外部表284

9.14.4数据快照太旧:开发人员的编程难题288

9.14.5设置事件以转储每次等待289

9.14.6数据块转储:最后的建议(仅针对最高级的DBA)290

9.15.1传统的数学分析292

9.15使用简单的数学方法调整性能292

9.15.2方法论的七个步骤293

9.15.3模式分析298

9.15.4数学方法总结303

9.16更多的数学方法:应用控制理论303

9.17技巧回顾311

第10章 使用PL/SQL提高性能(针对DBA和开发人员)313

10.1 使用DBMS APPLICATION INFO进行实时监控314

10.2在数据库的表中记录计时信息316

10.3 减少PL/SQL程序的单元迭代和迭代的时间319

10.4 使用ROWID进行迭代处理322

10.5 将数据类型、IF语句的排列和PLS INTEGER标准化323

10.5.1确保比较运算中的数据类型相同324

10.5.3 使用PLS_INTEGER PL/SQL数据类型进行整数运算326

10.5.2根据条件出现的频率来排序IF条件326

10.6 减少对SYSDATE的调用328

10.7 减少MOD函数的使用329

10.8在共享池中固定对象331

10.8.1 将PL/SQL对象语句固定(缓存)到内存中332

10.8.2固定所有的包333

10.9标识需要固定的PL/SQL对象333

10.11 从DBA OBJECT SIZE中获取详细的对象信息336

10.12发现无效的对象337

10.13 发现已禁用的触发器338

10.14将PL/SQL表用于快速参考表查询340

10.15 查找和调整所使用对象的SQL342

10.16在处理DATE数据类型时使用时间信息346

10.17 调整和测试PL/SQL348

10.18 了解PL/SQL对象定位的含义349

10.19使用回滚段打开大型游标350

10.20使用数据库的临时表来提高性能352

10.21集成用户跟踪机制以定位执行位置352

10.22 限制动态SQL的使用353

10.23 为初学者提供的例子353

10.23.1创建PL/SQL代码354

10.23.2创建过程354

10.23.3执行PL/SQL过程355

10.23.4创建函数355

10.23.5 在SQL中执行GET_CUST_NAME函数355

10.23.6创建数据包355

10.23.7在数据库触发器中使用PL/SQL356

10.24技巧回顾356

第11章使用并行特性提高性能(针对DBA)358

11.1 并行操作的基本概念358

11.2 并行DML和DDL语句和操作360

11.3 Oracle 9i的并行DML语句和操作360

11.4并行处理和分区361

11.5操作内部和操作之间的并行处理361

11.6使用并行操作生成表和索引的示例364

11.7并行DML语句和示例366

11.7.1 并行DML的约束条件366

11.7.2并行DML语句示例367

11.8通过V$视图监控并行操作368

11.8.1 V$PQ_TQSTAT369

11.8.2 V$PQSYSSTAT369

11.8.3 V$PQ_SESSTAT372

11.9 在并行操作时使用EXPLAIN PLAN和AUTOTRACE373

11.10调整并行执行和Oracle 9i初始化参数377

11.11并行加载381

11.12性能比较和监控并行操作382

11.13使用并行处理时的其他注意事项385

11.14技巧回顾385

第12章V$视图(针对DBA和开发人员)387

12.1 V$视图的创建和访问388

12.1.1 获得所有V$视图的数量和列表390

12.1.2查找用于创建V$视图的X$表391

12.1.3查找组成DBA视图的底层对象392

12.1.4使用有帮助的V$脚本394

12.1.5 内存分配摘要(V$SGA)397

12.1.6 内存分配的细节(V$SGASTAT)398

12.1.7在V$PARAMETER中发现init.ora的设置399

12.1.8 测定数据的命中率(V$SYSSTAT)400

12.1.9测定数据字典的命中率(V$ROWCACHE)401

12.1.10测定共享SQL和PL/SQL的命中率(V$LIBRARYCACHE)401

12.1.11 确定需要固定的PL/SQL对象402

12.1.12通过V$SQLAREA查找有问题的查询403

12.1.13检查用户的当前操作及其使用的资源404

12.1.14查找用户正在访问的对象405

12.1.15使用索引406

12.1.16确定锁定问题408

12.1.17关闭有问题的会话409

12.1.18查找使用多会话的用户410

12.1.19查找磁盘I/O问题411

12.1.20查找回滚段的内容413

12.1.21检查空闲列表是否充足414

12.1.22检查角色和权限设置415

12.1.23 V$视图的种类417

12.2技巧回顾421

第13章 X$表(针对高级DBA)423

13.1 X$表介绍423

13.1.1有关X$表的误解424

13.1.2授权查看X$表425

13.2创建V$视图和X$表426

13.3 获得所有X$表的列表428

13.4获得所有的X$索引列表430

13.5对X$表和索引使用提示431

13.6共享池432

13.7监控共享池的查询433

13.7.1 ORA-04031错误433

13.7.2空间分配过大而引起的争用434

13.7.3碎片化434

13.7.4共享池和/或Java池中空闲内存过低435

13.7.5库缓存命中率436

13.7.6大量的硬解析438

13.7.7闩锁等待和/或休眠438

13.7.8其他调整选项439

13.8重做440

13.9初始化参数440

13.10缓存/数据块444

13.10.1 缓存状态445

13.10.2 占用数据块缓存的段446

13.10.3热数据块/闩锁争用和等待事件448

13.11 实例/数据库452

13.12 高效使用X$表及其策略453

13.13相关的Oracle内部机制453

13.13.1 跟踪453

13.13.2事件453

13.13.3转储454

13.13.4 Oradebug455

13.14 X$表的分组456

13.15 X$表及相关的非V$固定视图470

13.16常见的X$表连接472

13.16.1 9i中新增的X$表474

13.17技巧回顾476

13.16.2未记录入档的固定视图476

13.16.3未来版本的影响476

第14章 使用STATSPACK调整等待和闩锁(针对高级DBA)478

14.1 安装STATSPACK478

14.1.1 PERRFSTAT账户的安全管理479

14.1.2安装之后479

14.1.3搜集统计数据480

14.1.4运行统计数据报表483

14.2 解释STATSPACK的输出结果483

14.2.1报表头信息483

14.2.2 负载简档484

14.2.3实例的效率485

14.2.4首要等待事件487

14.2.5首要的SQL语句492

14.2.6实例活动统计数据493

14.2.7表空间和文件I/O的统计数据497

14.2.8其他的内存统计数据498

14.2.9回滚/撤消统计数据499

14.2.10闩锁统计数据500

14.2.11 数据字典和库缓存的统计数据504

14.2.12 SGA内存统计数据506

14.2.13非默认的init.ora参数508

14.3 STATSPACK输出结果中需首先查看的十项内容508

14.3.1 管理STATSPACK数据509

14.3.3 删除STATSPACK510

14.4技巧回顾510

第15章执行快速系统检查(针对DBA)512

15.1 总体性能指数(TPI)512

15.2教育性能指数(EPI)513

15.3 系统性能指数(SPI)515

15.4 内存性能指数(MPI)516

15.4.1缓冲区命中率517

15.4.2数据字典缓存命中率518

15.4.4 内存排序命中率519

15.4.3库缓存命中率519

15.4.5空闲的数据缓冲区的比例520

15.4.6最浪费内存的前十个语句占所有语句的比例521

15.4.7调整前25个最浪费内存的语句522

15.4.8固定/缓存对象523

15.5磁盘性能指数(DPI)524

15.5.1 调整滥用磁盘读操作的25个主要语句525

15.5.2最浪费磁盘读操作的前十个语句占所有语句的比例526

15.5.3 表/索引的分离527

15.5.4关键任务表中的链接527

15.5.5分离关键的Oracle文件528

15.5.6回滚段的平衡528

15.5.7临时段的平衡529

15.6总体性能指数(TPI)530

15.7.1 评级系统531

15.7系统综合检查的示例531

15.7.2系统检查评级分类的示例532

15.7.3 需要立刻解决的问题项533

15.7.4其他需要解决的问题项533

15.8系统信息列表533

15.8.1 与内存有关的值534

15.8.2与磁盘有关的值534

15.8.3与CPU有关的值534

15.8.4与备份和恢复有关的信息535

15.8.5命名约定和/或OFA标准以及安全信息535

15.8.6 DBA知识评级535

15.9技巧回顾536

第16章 使用UNIX工具监控系统(针对DBA)537

16.1 UNIX工具537

16.1.1 使用sar命令监控CPU的使用537

16.1.2使用top命令发现系统中最影响性能的用户539

16.1.3使用uptime命令监控CPU的负载540

16.1.4使用mpstat命令确定CPU瓶颈541

16.1.5将ps命令与已选出的V$视图相结合542

16.1.6使用sar命令监控磁盘I/O问题545

16.1.7使用iostat确定磁盘I/O瓶颈546

16.1.8使用sar命令和vmstat命令监控分页/交换549

16.1.9使用ipcs命令确定共享内存的使用情况551

16.1.10使用vmstat命令监控系统的负载552

16.1.11 监控磁盘空闲空间553

16.1.12监控网络性能554

16.2技巧回顾557

附录A 主要的in.t.ora参数(针对DBA)558

A.1 不再支持的init.ora参数558

A.2 不建议使用的init.ora参数559

A.3 25个最重要的init.ora参数559

A.5 最重要的13个未入档的init.ora参数561

A.4必须记住的最重要的十个init.ora参数561

A.6 已入档的init.ora参数列表(V$PARAMETER)563

A.7 未入档的init.ora参数列表(x$ksppi/x$ksppcv)573

A.8不写书的十个重要原因574

A.9技巧回顾574

附录B V$视图(针对DBA和开发人员)575

B.1 V$视图、GV$视图和X$表的创建575

B.2 Oracle9i(9.2.0.1.0)的GV$视图576

B.3 Oracle9i(9.2.0.1.0)的V$视图579

B.4用于创建V$视图的X$表的Oracle 9i脚本582

附录C X$表(针对DBA)675

C.1 按名称排序的Oracle9i X$表675

C.2 Oracle9i X$索引678

C.3 交叉引用V$视图的Oracle9i X$表686

C.4 交叉引用X$表的Oracle9i GV$视图692

C.5 GV$视图没有引用的Oracle9i X$表699

热门推荐