《Oracle 11g数据库管理与优化宝典》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:汪照东编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121074097
  • 页数:798 页
图书介绍:本书详细讲解了Oracle 11g结构和功能方面的相关内容,并针对数据库高可用性的要求,细致讲解了Oracle 11g性能调优的知识。全书共27章,分为4篇。第1篇对数据库管理员的职责、验证、安全和管理进行了概述。第2篇详细讲解了管理控制文件、管理重做日志、管理已归档的重做日志、管理表空间、管理数据文件和临时文件、管理撤销数据以及使用Oracle管理文件的内容。第3篇详细讲解了模式对象空间的管理,表的管理,索引的管理,索引簇和散列簇的管理,视图、序列与同义词的管理以及分区表的管理。第4篇讲解了数据库配置与I/O的调整、内存的调整、应用程序的调整、SQL语句的调整等多方面内容。本书内容全面、结构明晰、案例实用且丰富,具有很强的可操作性。书中实例的选取兼顾深度与广度,对实际问题的现象、产生原因和相关原理进行了深入浅出的讲解。本书是数据库管理员、数据库安全管理员以及Oracle 11g数据库应用开发人员的参考指南,既可以作为学校、培训机构及企业的Oracle 11g数据库管理教程,也适合作为Oracle 11g DBA的案头参考书,还可以作为自学Oracle或者备考OCP的参考用书。

第1部分 基本数据库管理 1

第1章 Oracle数据库管理员 2

1.1 Oracle的用户类型 2

数据库管理员 2

安全专员 3

网络管理员 3

应用程序开发人员 3

应用程序管理员 3

数据库用户 4

1.2数据库管理员的任务 4

评估数据库服务器的硬件设备 4

安装Oracle软件 4

规划数据库 5

创建和打开数据库 5

备份数据库 5

注册系统用户 5

具体实施数据库的设计 5

备份完整的数据库 6

协调数据库的性能 6

下载和安装补丁程序 6

1.3向数据库提交SQL语句和命令 6

SQL*Plus简介 6

使用SQL*Plus连接到数据库前的准备 7

使用SQL*Plus连接到数据库 7

1.4识别Oracle数据库软件的版本 11

版本号码的格式 11

检查当前的版本号 12

1.5数据库管理员的安全和权限 12

数据库管理员的操作系统账号 12

具有管理权限的用户账号 13

1.6数据库管理员验证 13

管理权限 14

为数据库管理员选择一种验证方式 15

使用操作系统验证方式 17

使用密码文件验证方式 21

1.7密码文件的管理 22

ORAPWD的使用 23

设置REMOTE_LOGIN_ PASSWORDFILE 24

向密码文件中添加用户 25

密码文件的维护 26

1.8数据库管理员实用程序 26

SQL*Loader实用程序 26

Export和Import实用程序 27

1.9 小结 27

第2章 创建和配置Oracle数据库 28

2.1创建Oracle数据库 28

2.2使用数据库配置助手创建数据库 29

启动DBCA 30

使用DBCA创建数据库 30

使用DBCA修改数据库配置 40

使用DBCA删除数据库 40

使用DBCA管理模板 41

使用DBCA配置自动存储管理 41

2.3使用CREATE DATABASE语句创建数据库 41

指定实例标识符(SID) 42

设置所需的环境变量 42

选择数据库验证模式 42

创建初始化参数文件 43

创建实例(仅Windows) 44

连接到实例中 44

创建服务器参数文件 45

启动实例 45

执行CREATE DATABASE语句 46

创建额外的表空间 49

运行创建数据字典视图的脚本 49

运行安装额外选项的脚本(可选) 50

备份数据库 50

设置实例的自动启动功能(可选) 50

2.4理解CREATE DATABASE语句 51

指定SYS和SYSTEM的密码 51

创建一个本地管理的SYSTEM表空间 52

有关 SYSAUX表空间 52

使用自动撤销管理 52

创建一个默认的永久表空间 53

创建一个默认的临时表空间 53

在数据库创建时指定Oracle Managed Files 54

在数据库创建中支持大文件的表空间 55

指定数据库的时区和时区文件 56

指定FORCE LOGGING模式 56

2.5理解初始化参数 57

确定全局数据库名称 59

指定Flash Recovery区 59

指定控制文件 60

指定数据库块尺寸 60

指定进程的最大数目 61

指定DDL锁超时时间 61

指定撤销空间管理的方法 61

有关COMATIBLE初始化参数 62

2.6创建数据库的问题 62

2.7删除数据库 62

2.8使用服务器参数文件管理初始化参数 63

什么是服务器参数文件 63

移植到服务器参数文件 64

创建服务器参数文件 64

在HARD激活的存储器上存储服务器参数文件 65

SPFILE初始化参数 66

改变初始化参数的值 66

导出服务器参数文件 68

备份服务器参数文件 68

查看参数设置 69

2.9定义数据库服务 69

扩展服务 70

配置服务 70

使用服务 71

2.10创建数据库之后考虑的问题 71

一些安全上的考虑 71

启用透明数据密码策略 72

创建安全的外部密码存储 72

安装Oracle数据库的简单计划 72

2.11数据库数据字典视图 72

2.12小结 73

第3章 启动和关闭数据库 74

3.1启动数据库 74

启动数据库的方法 74

理解初始化参数文件 78

启动实例前的准备工作 80

启动实例 81

3.2改变数据库的可用性 86

加载但不打开数据库 86

打开一个关闭的数据库 86

使用只读方式打开数据库 87

限制访问一个打开的数据库 88

3.3关闭数据库 88

用NORMAL选项关闭数据库 89

用IMMEDIATE选项关闭数据库 89

用TRANSACTIONAL选项关闭数据库 89

用ABORT选项关闭数据库 90

关闭超时和终止 90

3.4数据库的停顿 91

将数据库置于静止状态 91

恢复数据库到正常操作状态 92

查看实例的静止状态 92

3.5暂停和恢复数据库 92

3.6小结 94

第4章 管理Oracle进程 95

4.1进程的种类 95

用户进程概述 95

服务进程 96

后台进程 96

4.2专用服务器进程与共享服务器进程 96

专用服务器进程 96

共享服务器进程 98

4.3数据库驻留连接池 98

何时使用数据库驻留连接池 98

数据库驻留连接池的优点 99

专用服务器、共享服务器和数据库驻留连接池之间的区别 99

驻留连接池的内存使用 99

数据库驻留连接池的限制 100

4.4将Oracle配置为共享服务器 100

共享服务器的初始化参数 100

启动共享服务器 101

配置调度程序 103

4.5配置数据库驻留连接池 108

启动数据库驻留连接池 108

为数据库驻留连接池配置连接池 110

数据库驻留连接池的相关数据字典视图 114

4.6 Oracle后台进程 114

数据写入进程 114

日志写入进程 115

检查点进程 116

系统监控进程 116

进程监控进程 116

恢复进程 117

作业队列进程 117

归档进程 118

其他后台进程 118

4.7为并行SQL的执行管理进程 118

有关并行执行的服务器 118

为某个会话更改并行执行 119

4.8为外部过程管理进程 119

4.9终止会话 120

识别要终止的会话 120

终止处于激活状态的会话 121

终止处于非激活状态的会话 121

4.10进程和会话的数据字典视图 122

4.11小结 122

第5章 管理内存 123

5.1有关内存的管理 123

自动内存管理 123

手动内存管理 123

5.2内存体系回顾 125

系统全局区 125

程序全局区 129

5.3使用自动内存管理 131

启动自动内存管理 131

监控和调整自动内存管理 134

5.4手工配置内存 135

使用自动共享内存管理 135

使用手动共享内存管理 143

使用自动PGA内存管理 148

使用手动PGA内存管理 149

5.5内存管理参考 149

支持自动内存管理的操作平台 150

内存管理的数据字典视图 150

5.6小结 150

第6章 管理数据库用户和安全 151

6.1为数据库创建安全策略的重要性 151

系统安全策略 151

数据安全策略 151

用户安全策略 152

6.2管理用户和资源 157

创建用户账户 157

修改用户账户 162

配置用户的资源限制 163

删除用户账户 167

查找有关数据库用户和概要文件的信息 167

6.3配置验证方式 170

配置口令保护 170

使用数据库验证用户 178

使用操作系统验证用户 178

使用网络验证用户 179

配置全局用户鉴别和授权 179

配置一个外部服务来鉴别用户和口令 180

6.4配置权限和角色授权 182

权限和角色 183

应当被授予权限的用户 183

管理系统权限 184

管理用户的角色 187

管理对象权限 199

授予用户权限和角色 205

6.5数据库审计 214

审计介绍 214

创建审计活动的记录 215

管理数据库审计线索 216

为安全相关的SQL语句和权限使用默认的审计 218

使用标准审计监控普通活动 220

审计具有管理权限的用户 231

使用细粒度审计监控指定的活动 232

归档标准和细粒度审计线索 238

查询有关审计操作的信息 239

删除审计跟踪视图 240

6.6预定义用户账户 240

6.7小结 241

第7章 监控数据库的操作 242

7.1监控数据库的错误和警告 242

使用跟踪文件和警告日志监控数据库的错误 242

使用服务器生成的报警进行监控 245

7.2监控性能 249

监控锁 249

监控等待事件 250

7.3小结 250

第2部分 Oracle数据库结构和存储 251

第8章 管理控制文件 252

8.1控制文件简介 252

8.2管理控制文件的原则 252

为控制文件提供文件名 253

在不同磁盘上存放多个控制文件副本 253

备份控制文件 253

管理控制文件的大小 254

8.3创建控制文件 254

创建初始的控制文件 254

创建额外的副本、重命名和重定位控制文件 254

创建新的控制文件 255

8.4创建控制文件之后遇到的问题及解决办法 260

检查丢失或多余的文件 260

在CREATE CONTROLFILE过程中处理错误 260

8.5备份控制文件 260

使用SQL命令备份控制文件 260

使用企业管理器备份控制文件 262

8.6使用当前副本恢复控制文件 263

使用控制文件的副本对受到损坏的控制文件进行恢复 263

使用控制文件的副本对永久性介质失败进行恢复 264

8.7删除控制文件 264

8.8使用Oracle管理文件(OMF)管理控制文件 264

8.9控制文件的数据字典视图 267

8.10小结 267

第9章 管理重做日志 268

9.1认识重做日志 268

重做线程 268

重做日志的内容 268

Oracle如何将内容写到联机重做日志 269

9.2规划重做日志 270

多路复用重做日志文件 271

将重做日志成员放置在不同的磁盘上 273

设置联机重做日志成员的大小 273

选择联机重做日志文件的数量 274

控制归档延迟 274

9.3创建重做日志组及其成员 276

创建联机重做日志组 276

创建重做日志成员 276

9.4重新定位和重新命名重做日志成员 277

9.5删除重做日志组及其成员 278

删除日志组 278

删除联机重做日志成员 279

9.6强制实施日志切换 280

9.7校验重做日志文件中的块 280

9.8清除重做日志文件 281

9.9使用Oracle管理文件(OMF)管理重做日志文件 282

9.10重做日志的性能优化 283

9.11查看联机重做日志信息 284

9.12小结 284

第10章 管理已归档的重做日志 285

10.1什么是已归档的重做日志 285

10.2 NOARCHIVELOG和ARCHIVELOG模式 285

在NOARCHIVELOG模式下运行数据库 286

在ARCHIVELOG模式下运行数据库 286

10.3控制归档模式 287

设置初始的数据库归档模式 287

改变数据库的归档模式 287

执行手动归档 288

调整存储进程的数量 288

10.4指定归档的目的地 289

指定归档目标位置 289

理解归档目标位置的状态 291

10.5指定日志传送模式 292

正常传送模式 292

备用传送模式 292

10.6管理归档目标失败 293

指定成功的最小目标数目 293

重新归档到一个失败过的目标位置 295

10.7控制归档日志进程生成的跟踪输出 295

10.8查看已归档的重做日志信息 296

归档重做日志视图 296

ARVHICE LOG LIST命令 297

10.9将NOARCHIVELOG修改为ARCHIVELOGS 298

10.10小结 299

第11章 管理表空间 300

11.1管理表空间的原则 300

使用多重表空间 300

表空间的配额 301

11.2创建表空间 301

本地管理表空间 302

大文件表空间 305

加密的表空间 308

临时表空间 312

使用临时表空间组 316

11.3为表空间指定非标准块的尺寸 321

11.4控制重做记录的写入 323

11.5修改表空间的可用性 324

使表空间脱机 324

使表空间联机 326

11.6使用只读表空间 327

将表空间置为只读状态 328

使只读表空间可写 330

在WORM设备上创建只读表空间 330

延迟打开只读表空间中的数据文件 330

11.7修改和管理表空间 331

修改本地管理的表空间 331

修改大文件的表空间 331

修改本地管理的临时表空间 332

收缩本地管理的临时表空间 335

11.8表空间重命名 336

11.9删除表空间 337

11.10管理SYSAUX表空间 339

创建SYSAUX表空间 340

监控SYSAUX表空间的使用者 341

将SYSAUX表空间的使用者移出或移入 342

控制SYSAUX表空间的大小 342

11.11诊断和修复本地管理的表空间 343

当分配的块标注为空闲(没有重叠)时修改位图 343

删除一个损坏的段 344

在报告的重叠处修改位图 344

纠正位图块的介质损坏 344

从字典管理的表空间移植为本地管理的表空间 344

11.12将SYSTEM表空间移植为本地管理的表空间 345

11.13数据库间传输表空间 345

可传输表空间介绍 346

有关跨平台传输表空间 346

传输表空间使用的限制 347

传输表空间的兼容性考虑 348

数据库之间传输表空间 349

11.14表空间的空间管理 353

11.15表空间相关数据字典视图 354

11.16小结 355

第12章 管理数据文件和临时文件 356

12.1管理数据文件的准则 356

确定数据文件的数量 357

确定数据文件的大小 358

适当地放置数据文件 358

将数据文件与重做日志文件分开存储 358

12.2创建数据文件和向表空间添加数据文件 358

12.3改变数据文件的大小 359

启用和禁用数据文件的自动扩展 359

手动调整数据文件大小 361

12.4修改数据文件可用性 362

在ARCHIVELOG模式中使数据文件联机或脱机 363

在NOARCHIVELOG模式中使数据文件脱机 364

修改表空间中所有数据文件或临时文件的可用性 364

12.5重命名和重定位数据文件 365

单个表空间数据文件的重命名和重定位 365

多个表空间数据文件的重命名和重定位 367

12.6删除数据文件 367

12.7验证数据文件中的数据块 368

12.8使用数据库服务器复制文件 368

在本地文件系统中复制文件 369

第三方文件传输 370

文件传输和DBMS_ SCHEDULER包 370

高级文件传输机制 370

12.9数据文件相关数据字典视图 371

12.10小结 371

第13章 管理撤销 372

13.1什么是撤销 372

13.2自动撤销管理 373

回顾自动撤销管理 373

有关撤销保留期 374

13.3设置最小的撤销保留期 377

13.4撤销表空间的容量调整 378

13.5管理撤销表空间 379

创建撤销表空间 380

修改撤销表空间 380

删除撤销表空间 383

撤销表空间的切换 385

为用户分配撤销空间的限额 386

管理撤销表空间的空间警告极限 387

13.6迁移到自动撤销管理模式 387

13.7将自动撤销管理模式迁移到手动管理模式 392

13.8撤销空间相关的数据字典视图 396

13.9小结 399

第14章 使用Oracle管理文件 400

14.1什么是Oracle管理文件 400

可以使用Oracle管理文件的范围 401

使用Oracle管理文件的好处 401

Oracle管理的文件和现有的功能 402

14.2允许创建和使用Oracle管理的文件 402

设置初始化参数DB_CREATE_FILE_DEST 403

设置初始化参数DB_RECOVERY_FILE_DEST 403

设置初始化参数DB_CREATE_ONLINE_LOG_DEST_n 403

14.3创建Oracle管理的文件 404

如何命名Oracle管理文件 404

在数据库创建期间创建Oracle管理文件 406

使用Oracle管理文件为表空间创建数据文件 410

使用Oracle管理文件为临时表空间创建临时文件 412

使用Oracle管理文件创建控制文件 412

使用Oracle管理文件创建重做日志文件 414

使用Oracle管理文件创建归档日志 415

14.4 Oracle管理文件的行为 415

删除数据文件和临时文件 415

删除重做日志文件 415

重新命名文件 416

管理备用的数据库 416

14.5 Oracle管理文件应用案例 416

使用多路复用的联机重做日志创建和管理数据库 416

创建和管理带有数据库和回闪恢复区的数据库 420

向现有数据库添加Oracle管理的文件 421

14.6小结 421

第3部分 模式对象 423

第15章 管理模式对象 424

15.1有关模式对象 424

模式对象的命名 424

有关模式对象管理的权限 424

在单一操作中创建多个表和视图 425

15.2分析表、索引和簇 426

使用DBMS STATS搜集表和索引的统计信息 426

检验模式对象存储格式的有效性 430

列出表和簇的链接行 430

15.3截断表和簇 432

使用DELETE语句 432

使用DROP和CREATE语句 433

使用TRUNCATE语句 433

TRUNCATE和DELETE 434

TRUNCATE和DROP 434

15.4启用和禁用触发器 434

启用触发器 435

禁用触发器 435

15.5管理完整性约束 436

完整性约束状态 437

在定义完整性约束时设置完整性约束 439

修改、重命名或删除现有的完整性约束 440

推迟约束检查 442

报告约束异常 445

查看约束信息 448

15.6重命名模式对象 448

15.7管理对象依赖 449

模式对象依赖 449

有关对象依赖和对象无效 451

对象重新生效 455

使用DDL手工编译无效对象 456

使用PL/SQL包过程手工编译无效对象 456

15.8管理对象名称解析 456

15.9切换到不同的模式 458

15.10显示有关模式对象的信息 458

使用PL/SQL包显示有关模式对象的信息 458

模式对象数据字典视图 459

15.11小结 459

第16章 管理模式对象的空间 460

16.1管理表空间告警 460

设置警告极限 461

查看警报 464

局限性 464

16.2管理数据块空间 464

16.3管理存储参数 465

确定存储参数 465

在对象创建期间指定存储参数 466

为簇设置存储参数 466

为分区表设置存储参数 466

为索引段设置存储参数 467

为LOB、数组和嵌套表设置存储参数 468

改变存储参数值 468

存储参数的先后次序 468

16.4管理可恢复的空间分配 469

可恢复空间分配概述 469

启用和关闭可恢复空间分配 471

使用LOGON触发器设置默认的可恢复模式 472

检测暂停的语句 473

操作暂停警报 474

16.5收回多余的空间 476

可回收的未使用空间 476

使用段指导 476

收缩数据库中的联机段 486

回收未使用的空间 487

16.6理解数据类型使用的空间 488

16.7显示有关模式对象空间使用的信息 489

使用PL/SQL包显示有关模式对象空间使用的信息 489

有关模式对象空间使用信息的数据字典视图 491

16.8计划数据库对象的容量 492

评估表的使用空间 493

评估索引的使用空间 493

获取对象增长的趋势 494

16.9小结 495

第17章 管理表 496

17.1有关表的基础 496

17.2管理表的原则 497

创建表之前进行设计 497

创建表时考虑所操作的表类型 497

指定表的位置 497

考虑并行创建表 498

考虑创建表时使用NOLOGGING 498

考虑使用表压缩 499

对包含敏感数据的列加密 501

估计表的大小并进行规划 503

考虑创建表的限制 503

17.3创建表 504

创建一个表 504

创建一个临时表 504

并行创建表 506

17.4加载表 507

插入数据时记录DML错误 507

使用直接路径插入方式将数据插入表中 511

为直接路径插入指定记录日志的模式 513

直接路径插入的其他考虑 513

17.5自动收集表上的统计数据 514

17.6更改表 515

使用ALTER TABLE语句的原因 515

更改表的物理属性 515

将表迁移到新段或表空间中 516

手工为表分配存储 516

修改现有列的定义 517

添加表的列 517

重命名表列 519

删除表的列 519

将表置于只读模式 521

17.7联机重定义表 523

联机表重定义的功能 523

使用DBMS_REDEFINITION执行联机重定义 524

重定义处理的结果 527

执行中间同步 528

出错后的中止和清除联机表重定义 528

表的联机重定义限制 528

联机表重定义实例 528

DBMS_REDEFINITION包所需的权限 538

17.8调查和回滚错误表的改变 539

17.9使用Flashback技术 539

Flashback技术回顾 540

为Flashback技术配置数据库 541

使用Flashback Query(SELECT AS OF) 544

使用Flashback Verison Query 545

使用Flashback Transaction Query 547

使用Flashback Transaction Query 548

使用ORA_ROWSCN 549

使用DBMS_FLASHBACK包 551

使用Flashback Transaction 555

使用Flashback Data Archive 556

17.10使用Oracle Flashback Table恢复表 560

Flashback Table必备条件 561

执行FLASHBACK TABLE操作 562

在闪回表期间保持触发器处于激活状态 564

17.11删除表 564

17.12使用Flashback Drop和回收站管理 565

什么是回收站 565

打开和关闭回收站 566

查看和查询回收站中的对象 566

清除回收站中的对象 566

从回收站中恢复表 568

17.13管理索引组织表 570

创建索引组织表 571

维护索引组织表 575

创建索引组织表的二级索引 576

分析索引组织表 578

使用带有ORDER BY子句的索引组织表 578

将索引组织表转换成普通表 579

17.14管理外部表 579

创建外部表 579

更改外部表 581

删除外部表 581

用于外部表的系统权限和对象权限 582

17.15查看相关表的信息 583

17.16小结 584

第18章 管理索引 585

18.1索引介绍 585

索引和性能 585

索引属性 586

18.2管理索引的准则 588

在表中插入数据后创建索引 588

在正确的表和列上创建索引 588

为了性能对索引列进行排序 590

限制每个表的索引数量 590

删除不再需要的索引 590

估计索引大小和设置存储参数 590

为每个索引指定表空间 590

考虑并行创建索引 591

考虑用NOLOGGING创建索引 591

考虑合并或重建索引时的损益 592

在停用或删除约束之前考虑开销 592

18.3创建索引 592

明确创建索引 593

明确地创建唯一索引 593

创建与约束相关的索引 594

收集创建索引时伴随的统计数据 594

创建大索引 595

联机创建索引 595

创建基于函数的索引 596

创建键压缩索引 597

创建不可见索引 598

18.4更改索引 598

更改索引的存储特征 598

重建现有的索引 599

标记索引为不可见 599

监视索引使用 600

监视索引的空间使用 600

18.5删除索引 601

18.6有关索引的数据字典视图 601

18.7小结 602

第19章 管理簇 603

19.1认识簇 603

19.2管理簇的准则 603

为簇选择合适的表 603

为簇键选择合适的列 604

通过平均簇键及相关行指定所需空间 604

指定每个簇和簇索引行的位置 604

估计簇大小和设置存储参数 604

19.3创建簇 605

创建簇表 605

创建簇索引 606

19.4更改簇 606

更改簇表 607

更改簇索引 607

19.5删除簇 607

删除簇表 608

删除簇索引 608

19.6簇数据字典视图 608

19.7小结 609

第20章 管理散列簇 610

20.1散列簇介绍 610

20.2何时使用散列簇 610

使用散列方法有用的情形 611

使用散列方法无益的情况 611

20.3创建散列簇 611

创建排序的散列簇 612

创建单个表散列簇 612

控制散列簇的空间使用 613

估计散列簇所需的空间 615

20.4更改散列簇 616

20.5删除散列簇 616

20.6查看有关散列簇的信息 616

20.7小结 616

第21章 管理视图、序列和同义词 617

21.1管理视图 617

视图的介绍 617

创建索引 619

替换视图 622

查询中使用视图 622

更新连接视图 623

更改视图 629

删除视图 630

21.2管理序列 630

创建序列 630

更改序列 631

使用序列 631

删除序列 635

21.3管理同义词 635

创建同义词 635

在DML语句中使用同义词 636

删除同义词 636

21.4查看有关视图、同义词和序列的信息 637

21.5小结 637

第22章 管理分区表 638

22.1分区基础 638

22.2范围分区 639

22.3散列分区 640

22.4列表分区 641

22.5间隔分区 643

22.6系统分区 645

22.7基于虚拟列的分区 647

22.8引用分区 648

22.9组合分区 649

复合范围分区 649

复合列表分区 651

复合间隔分区 653

22.10分区表的管理 654

添加分区 654

拆分分区 656

合并分区 657

删除分区 659

移出分区 660

重命名分区 661

截断分区 661

22.11小结 662

第4部分 Oracle性能调优 663

第23章 查询优化 664

23.1最优化操作 664

23.2选择优化器目标 664

OPTIMIZER_MODE初始化参数 665

改变查询优化器目标的优化器SQL提示 666

数据字典中的查询优化器统计数据 666

23.3启动和控制查询优化功能 666

启动查询优化器 666

控制查询优化器的操作行为 667

23.4理解查询优化器 668

查询优化器的组件 669

阅读和理解执行计划 674

23.5理解查询优化器的访问路径 675

全表扫描 675

ROWID扫描 677

索引扫描 677

簇访问 685

哈希访问 685

抽样表扫描 686

查询优化器如何选择访问路径 686

23.6理解连接 687

查询优化器如何执行连接语句 687

查询优化器如何选择执行计划 687

嵌套循环连接 688

哈希连接 691

排序合并连接 693

笛卡儿乘积 694

外连接 694

23.7小结 697

第24章 使用EXPLAIN PLAN 698

24.1理解EXPLAIN PLAN 698

怎样改变执行计划 699

避免不适合的操作 699

查看更深层次的执行计划 700

EXPLAIN PLAN限制 700

24.2 PLAN_TABLE输出表 701

24.3运行EXPLAIN PLAN 701

为EXPLAIN PLAN识别语句 701

将EXPLAIN PLAN输出结果指定到不同的表中 701

24.4显示PLAN_ TABLE输出 702

24.5读取EXPLAIN PLAN输出 703

24.6用EXPLAIN PLAN查看并行执行 704

24.7用EXPLAIN PLAN查看位图索引 705

24.8用EXPLAIN PLAN查看结果缓存 706

24.9用EXPLAIN PLAN查看分区对象 706

使用EXPLAIN PLAN显示范围和散列分区示例 707

带有复合分区对象修剪信息示例 708

部分分区智能连接示例 710

全分区智能连接示例 712

带有INLIST INTERATOR的执行计划示例 712

24.10 PLAN_TABLE列 715

24.11小结 718

第25章 使用索引和簇 719

25.1理解索引性能 719

调整逻辑结构 719

使用SQL访问顾问调整索引 720

选择列和表达式去做索引 720

选择复合索引 721

使用索引编写SQL语句 721

编写语句时避免使用索引 722

重建索引 722

压缩索引 722

使用非唯一索引执行数据唯一性的功能 722

使用激活的非校验约束 723

25.2使用基于函数的索引 724

25.3使用分区索引 724

25.4使用索引组织表 724

25.5使用位图索引 725

25.6使用位图连接索引 725

25.7使用域索引 725

25.8使用簇 725

25.9 使用散列簇 726

25.10小结 727

第26章 使用优化器提示 728

26.1理解优化器提示 728

提示的类型 728

提示的分类 728

26.2指定提示 746

指定一整套提示 746

在提示中指定一个查询块 747

26.3在视图中使用提示 747

提示和复杂视图 747

提示和可合并视图 748

提示和非合并视图 748

26.4小结 749

第27章 SQL调整 750

27.1 SQL调整简介 750

27.2调整的目标 750

减少工作量 750

平衡工作量 751

并行化工作量 751

27.3确定高负载的SQL 751

确定资源消耗较高的SQL 751

在SQL被确定的过程中收集数据 752

27.4自动工作负荷库 753

快照 753

基线 753

空间消耗 754

管理自动工作负荷库 755

27.5自动SQL调整功能 766

ADDM 766

SQL调整顾问 771

SQL优化集 775

SQL访问顾问 783

27.6开发有效的SQL语句 783

检验优化器的统计数据 784

评估执行计划 784

重组SQL语句 785

使用提示控制访问路径和连接顺序 789

重组索引 792

修改或禁用触发器和约束 792

重组数据 792

管理过去的执行计划 792

尽量减少访问数据的次数 792

27.7查询结果缓存 794

设置查询结果缓存 794

使用RESULT_CACHE提示 794

管理查询结果缓存 795

使用DBMS_RESULT_CACHE包 796

Oracle调用接口客户端查询缓存 796

27.8小结 798