• 第一部分 初始化参数
  • 第1章 在文档中部分说明的参数 2
  • 1.1 AUDIT_SYSLOG_LEVEL 2
  • 1.1.1 syslog设备 2
  • 1.1.2 审计简介 3
  • 1.1.3 使用AUDIT_SYSLOG_LEVEL参数 4
  • 1.1.4 审计非特权用户 5
  • 1.1.5 小结 6
  • 1.2 PGA_AGGREGATE_TARGET 6
  • 1.2.1 自动PGA内存管理介绍 7
  • 1.2.2 对PGA_AGGREGATE_TARGET的误...
  • 1.2.3 研究PGA_AGGREGATE_TARGET 9
  • 1.2.4 使用管道表函数创建一个大表 9
  • 1.2.5 V$SQL_WORKAREA_ACTIVE 10
  • 1.2.6 _PGA_MAX_SIZE 14
  • 1.2.7 _SMM_MAX_SIZE 15
  • 1.2.8 _SMM_PX_MAX_SIZE 15
  • 1.2.9 共享服务器 15
  • 1.2.10 并行执行 16
  • 1.2.11 小结 17
  • 1.3 EVENT 18
  • 1.3.1 语法 18
  • 1.3.2 在实例级别均衡事件 19
  • 1.3.3 案例研究 19
  • 1.4 OS_AUTHENT_PREFIX 19
  • 1.4.1 OPS$数据库用户及密码文件身...
  • 1.4.2 案例研究 20
  • 1.4.3 小结 23
  • 1.5 源代码库 23
  • 第2章 隐藏的初始化参数 24
  • 2.1 跟踪文件权限与_TRACE_FILES_P...
  • 2.2 ASM测试环境与_ASM_ALLOW_ONLY...
  • 2.2.1 ASM隐藏参数 26
  • 2.2.2 为ASM配置Oracle集群件 27
  • 2.2.3 ASM实例设置 28
  • 2.2.4 磁盘失效模拟 31
  • 2.3 源代码库 31
  • 第二部分 数据字典基表
  • 第3章 数据字典基表介绍 34
  • 第4章 IND$、V$OBJECT_USAGE和索引...
  • 4.1 模式限制 38
  • 4.2 索引使用监控案例研究 39
  • 4.2.1 MONITOR_SCHEMA_INDEXES函数 40
  • 4.2.2 为HR模式启动索引监控 40
  • 4.2.3 小结 44
  • 4.3 源代码库 45
  • 第三部分 事件
  • 第5章 10027事件和死锁诊断 48
  • 5.1 死锁 48
  • 5.2 10027事件 49
  • 第6章 10046事件和扩展SQL跟踪 52
  • 第7章 10053事件和基于成本的优化...
  • 7.1 跟踪文件的内容 57
  • 7.2 案例研究 57
  • 7.2.1 查询块和对象标识符 58
  • 7.2.2 考虑的查询转换 58
  • 7.2.3 说明 60
  • 7.2.4 绑定变量窥视的结果 61
  • 7.2.5 优化器参数 61
  • 7.2.6 系统统计信息 66
  • 7.2.7 表和索引的对象统计信息 67
  • 7.2.8 单表访问路径和成本 68
  • 7.2.9 联结顺序 70
  • 7.2.10 执行计划 73
  • 7.2.11 谓词信息 74
  • 7.2.12 提示和查询块名称 74
  • 7.3 源代码库 75
  • 第8章 10079事件和Oracle网络数据...
  • 第四部分 X$固定表
  • 第9章 X$固定表介绍 80
  • 9.1 X$固定表与C语言编程 80
  • 9.2 分层系统结构 81
  • 9.3 授权访问X$表与V$视图 82
  • 9.4 从V$视图深入剖析X$固定表 83
  • 9.5 X$表与V$视图之间的关系 88
  • 9.6 源代码库 89
  • 第10章 X$BH表及闩锁争用 90
  • 第11章 X$KSLED以及增强的会话等待...
  • 11.1 深度探讨视图V$SESSION_WAIT 96
  • 11.2 改进的V$SESSION_WAIT视图 97
  • 11.3 源代码库 100
  • 第12章 X$KFFXP与ASM元数据 101
  • 12.1 固定表X$KFFXP 101
  • 12.2 抢救SPFILE文件 102
  • 12.3 映射数据段到ASM存储 104
  • 第五部分 SQL语句
  • 第13章 ALTER SESSION/SYSTEMSET E...
  • 13.1 跟踪你自己的会话 108
  • 13.2 ALTER SESSION SET EVENTS 109
  • 13.3 ALTER SYSTEM SET EVENTS 110
  • 13.4 ALTER SESSION/SYSTEM SETEVE...
  • 13.5 立即转储 112
  • 第14章 ALTER SESSION SETCURRENT_...
  • 14.1 特权用户与模式用户 113
  • 14.2 ALTER SESSION SET CURRENT_S...
  • 14.2.1 高级队列 116
  • 14.2.2 RENAME 116
  • 14.2.3 私有数据库链接 117
  • 14.2.4 存储概要 118
  • 第15章 ALTER USER IDENTIFIED BYV...
  • 15.1 密码游戏 119
  • 15.2 用ALTER USER IDENTIFIED BYV...
  • 15.3 ALTER USER和未加密的密码 122
  • 第16章 SELECT FOR UPDATE SKIPLOC...
  • 16.1 高级队列 124
  • 16.2 Contention和SELECT FOR UPDA...
  • 16.3 DBMS_LOCK——题外话 133
  • 16.4 源代码库 136
  • 第六部分 提供的PL/SQL程序包
  • 第17章 DBMS_BACKUP_RESTORE 138
  • 17.1 恢复管理器 138
  • 17.2 TDPO灾难恢复案例研究 142
  • 17.3 源代码库 144
  • 第18章 DBMS_IJOB 145
  • 18.1 介绍DBMS_JOB 145
  • 18.2 BROKEN过程 145
  • 18.2.1 语法 145
  • 18.2.2 参数 146
  • 18.2.3 使用说明 146
  • 18.2.4 范例 146
  • 18.3 FULL_EXPORT过程 146
  • 18.3.1 语法 147
  • 18.3.2 参数 147
  • 18.3.3 范例 147
  • 18.4 REMOVE过程 148
  • 18.4.1 语法 148
  • 18.4.2 参数 148
  • 18.4.3 范例 148
  • 18.5 RUN过程 148
  • 18.5.1 语法 148
  • 18.5.2 参数 148
  • 18.5.3 使用说明 149
  • 18.5.4 范例 149
  • 18.6 源代码库 150
  • 第19章 DBMS_SCHEDULER 151
  • 19.1 使用数据库调度器运行外部作...
  • 19.1.1 退出代码处理 152
  • 19.1.2 标准错误输出 153
  • 19.2 UNIX系统上的外部作业 155
  • 19.2.1 清除环境变量 155
  • 19.2.2 命令行处理 157
  • 19.2.3 外部作业与非特权用户 159
  • 19.3 Windows系统上的外部作业 161
  • 19.3.1 命令行参数处理 161
  • 19.3.2 Windows环境变量 162
  • 19.3.3 外部作业与非特权用户 163
  • 19.3.4 ORADIM实用工具创建的服务 163
  • 19.3.5 OracleJobScheduler服务 163
  • 19.4 源代码库 164
  • 第20章 DBMS_SYSTEM 165
  • 20.1 GET_ENV过程 165
  • 20.1.1 语法 165
  • 20.1.2 参数 165
  • 20.1.3 使用说明 166
  • 20.1.4 范例 166
  • 20.2 KCFRMS过程 166
  • 20.2.1 语法 166
  • 20.2.2 使用说明 166
  • 20.2.3 范例 166
  • 20.3 KSDDDT过程 168
  • 20.3.1 语法 168
  • 20.3.2 使用说明 168
  • 20.3.3 范例 168
  • 20.4 KSDFLS过程 169
  • 20.4.1 语法 169
  • 20.4.2 使用说明 169
  • 20.4.3 范例 169
  • 20.5 KSDIND过程 169
  • 20.5.1 语法 169
  • 20.5.2 参数 169
  • 20.5.3 使用说明 169
  • 20.5.4 范例 170
  • 20.6 KSDWRT过程 170
  • 20.6.1 语法 170
  • 20.6.2 参数 170
  • 20.6.3 使用说明 170
  • 20.6.4 范例 171
  • 20.7 READ_EV过程 171
  • 20.7.1 语法 171
  • 20.7.2 参数 172
  • 20.7.3 使用说明 172
  • 20.7.4 范例 172
  • 20.8 SET_INT_PARAM_IN_SESSION过...
  • 20.8.1 语法 173
  • 20.8.2 参数 173
  • 20.8.3 使用说明 173
  • 20.8.4 示例 173
  • 20.9 SET_BOOL_PARAM_IN_SESSION过...
  • 20.9.1 语法 174
  • 20.9.2 参数 174
  • 20.9.3 使用说明 174
  • 20.9.4 示例 174
  • 20.10 SET_EV过程 175
  • 20.10.1 语法 175
  • 20.10.2 参数 175
  • 20.10.3 使用说明 175
  • 20.10.4 范例 175
  • 20.11 SET_SQL_TRACE_IN_SESSION转...
  • 20.11.1 语法 177
  • 20.11.2 参数 177
  • 20.11.3 使用说明 177
  • 20.11.4 范例 177
  • 20.12 WAIT_FOR_EVENT过程 177
  • 20.12.1 语法 177
  • 20.12.2 参数 178
  • 20.12.3 使用说明 178
  • 20.12.4 范例 178
  • 第21章 DBMS_UTILITY 179
  • 21.1 NAME_RESOLVE过程 179
  • 21.1.1 语法 179
  • 21.1.2 参数 180
  • 21.1.3 使用说明 181
  • 21.1.4 异常 181
  • 21.1.5 范例 181
  • 21.2 对象统计信息的名称解析和提...
  • 21.3 源代码库 185
  • 第七部分 应用程序开发
  • 第22章 Perl DBI与DBD::Oracle 188
  • 22.1 常见的Perl DBI陷阱 188
  • 22.2 Perl与DBI简史 189
  • 22.3 为Perl与DBI设置环境变量 189
  • 22.3.1 UNIX环境 189
  • 22.3.2 Windows环境 194
  • 22.4 在UNIX系统上透明地运行Perl...
  • 22.5 在Windows系统上透明地运行Pe...
  • 22.6 连接到一个ORACLE DBMS实例 199
  • 22.6.1 DBI连接语法 199
  • 22.6.2 使用Bequeath适配器连接 200
  • 22.6.3 使用IPC适配器连接 201
  • 22.6.4 通过TCP/IP适配器连接 202
  • 22.6.5 简易连接 203
  • 22.6.6 使用SYSDBA或SYSOPER特权连...
  • 22.6.7 使用操作系统认证连接 204
  • 22.6.8 连接属性 205
  • 22.7 完整Perl DBI示例程序 206
  • 22.8 异常处理 210
  • 22.9 源代码库 211
  • 第23章 应用程序插桩及端到端跟踪 212
  • 23.1 插桩简介 212
  • 23.2 案例研究 214
  • 23.3 程序编译 216
  • 23.4 插桩的运行 217
  • 23.5 TRCSESS的使用 221
  • 23.6 插桩与程序调用栈 226
  • 23.7 源代码库 227
  • 第八部分 性能
  • 第24章 扩展SQL跟踪文件格式参考 230
  • 24.1 扩展SQL跟踪文件介绍 230
  • 24.2 SQL和PL/SQL语句 231
  • 24.3 递归调用深度 231
  • 24.4 数据库调用 232
  • 24.4.1 解析 232
  • 24.4.2 PARSING IN CURSOR条目的格...
  • 24.4.3 PARSE条目的格式 235
  • 24.4.4 PARSE ERROR条目的格式 236
  • 24.4.5 EXEC条目的格式 236
  • 24.4.6 FETCH条目的格式 236
  • 24.4.7 执行计划散列值 237
  • 24.4.8 计划散列值案例研究 237
  • 24.4.9 CLOSE条目的格式 240
  • 24.5 COMMIT与ROLLBACK 241
  • 24.6 UNMAP 242
  • 24.7 执行计划、统计信息与STAT条...
  • 24.7.1 Oracle9i中STAT条目的格式 243
  • 24.7.2 Oracle10g和Oracle11g中STA...
  • 24.8 等待事件 245
  • 24.8.1 WAIT条目的格式 245
  • 24.8.2 Oracle9i中的WAIT 246
  • 24.8.3 Oracle10g和Oracle11g中的W...
  • 24.9 绑定变量 247
  • 24.9.1 BINDS条目的格式 247
  • 24.9.2 语句调优、执行计划以及绑...
  • 24.10 跟踪文件条目其他项 257
  • 24.10.1 会话标识符 257
  • 24.10.2 服务名称ID 258
  • 24.10.3 应用程序插桩 259
  • 24.10.4 ERROR条目的格式 261
  • 24.10.5 应用程序插桩与并行执行进...
  • 第25章 Statspack 265
  • 25.1 Statspack介绍 265
  • 25.1.1 检索捕获到的SQL语句文本 267
  • 25.1.2 访问STATS$SQLTEXT 270
  • 25.1.3 使用保留格式捕获SQL语句 275
  • 25.2 未在文档中说明的Statspack报...
  • 25.3 Statspack表 278
  • 25.4 找出Statspack库中代价高的语...
  • 25.5 识别使用过的索引 281
  • 25.6 SQL Trace捕获语句的执行计划...
  • 25.7 找出高资源利用率的快照 284
  • 25.7.1 高CPU使用 285
  • 25.7.2 高DB时间 287
  • 25.8 从另一数据库导入Statspack数...
  • 25.9 源代码库 292
  • 第26章 整合扩展SQL跟踪和AWR 294
  • 26.1 检索执行计划 294
  • 26.2 小结 296
  • 26.3 源代码库 297
  • 第27章 ESQLTRCPROF扩展SQL跟踪分...
  • 27.1 分类等待事件 298
  • 27.2 计算响应时间和统计信息 299
  • 27.2.1 案例研究 300
  • 27.2.2 运行Perl程序 301
  • 27.2.3 计算统计信息 303
  • 27.2.4 计算响应时间 303
  • 27.3 ESQLTRCPROF参考 304
  • 27.3.1 命令行选项 305
  • 27.3.2 ESQLTRCPROF报告部分 306
  • 27.4 小结 314
  • 27.5 源代码库 315
  • 第28章 MERITS性能优化方法 316
  • 28.1 MERITS方法简介 316
  • 28.2 测量 317
  • 28.3 评估 321
  • 28.4 重现 323
  • 28.5 改进 323
  • 28.6 推断 324
  • 28.7 安装 324
  • 28.8 MERITS方法案例研究 325
  • 28.8.1 阶段1——测量 325
  • 28.8.2 阶段2——评估 325
  • 28.8.3 阶段3——重现 332
  • 28.8.4 阶段4——改进 335
  • 28.8.5 阶段5——推断 339
  • 28.8.6 阶段6——安装 339
  • 28.8.7 小结 339
  • 28.9 源代码库 340
  • 第九部分 Oracle Net
  • 第29章 TNS监听器IP地址绑定与IP=F...
  • 29.1 IP地址绑定介绍 342
  • 29.2 多宿主系统 344
  • 29.3 IP=FIRST未启用 345
  • 29.3.1 主机名 346
  • 29.3.2 回环适配器 347
  • 29.3.3 引导IP地址 348
  • 29.3.4 服务IP地址 348
  • 29.4 IP=FIRST开启 349
  • 29.5 小结 350
  • 第30章 TNS监听器TCP/IP有效结点检...
  • 30.1 有效结点检验简介 351
  • 30.2 在运行时打开和修改有效结点...
  • 第31章 本地命名参数ENABLE=BROKEN...
  • 第32章 Oracle Net配置中默认的主...
  • 32.1 默认主机名 359
  • 32.2 关闭默认监听器 360
  • 第十部分 实时应用集群
  • 第33章 会话断开连接、负载均衡与T...
  • 33.1 透明应用故障转移介绍 364
  • 33.2 改变系统断开会话设置 365
  • 33.2.1 SELECT故障转移 366
  • 33.2.2 在事务末的故障转移 369
  • 33.3 会话中断和DBMS_SERVICE 371
  • 33.3.1 使用DBMS_SERVICE创建服务 372
  • 33.3.2 DBMS_SERVICE和TAF下的会话...
  • 33.4 小结 376
  • 33.5 源代码库 376
  • 第34章 不重装就移除RAC选项 377
  • 34.1 连接ORACLE软件 377
  • 34.2 案例研究 378
  • 34.2.1 模拟表决磁盘失效 379
  • 34.2.2 使用make工具移除RAC可选项...
  • 34.2.3 转换CRS环境为本地环境 383
  • 34.2.4 重启适用于RAC的CRS环境 385
  • 34.3 小结 386
  • 第十一部分 实用工具
  • 第35章 OERR 388
  • 35.1 OERR脚本介绍 388
  • 35.2 检索未在文档中说明的事件 390
  • 35.3 源代码库 392
  • 第36章 数据恢复管理器管道接口 393
  • 36.1 数据恢复管理介绍 393
  • 36.2 DBMS_PIPE介绍 394
  • 36.3 RMAN_PIPE_IF包 395
  • 36.4 RMAN_PIPE_IF包详述 395
  • 36.5 使用RMAN_PIPE_IF包 396
  • 36.6 验证备份块 401
  • 36.7 跨节点并行备份与恢复 402
  • 36.8 源码库 403
  • 第37章 ORADEBUG SQL*Plus命令 404
  • 37.1 ORADEBUG介绍 404
  • 37.2 ORADEBUG使用步骤 405
  • 37.3 ORADEBUG命令介绍 405
  • 37.3.1 连接到一个进程 406
  • 37.3.2 ORADEBUG IPC 408
  • 37.3.3 ORADEBUG SHORT_STACK 409
  • 37.3.4 诊断转储 410
  • 37.4 小结 414
  • 第十二部分 附录
  • 附录A 启用和禁用DBMS可选项 416
  • 附录B 参考书目 417
  • 附录C 术语表 419