标题：Oracle 11g权威指南
出版信息
作 者：谷长勇,吴逸云,单永红等
出版时间：2011-09
版 次：01-01 
页 数：1004
开 本：16(203*280)
I S B N ：9787121145803
内容简介
本书从数据库的基础知识入手，全面系统地介绍了Oracle 11g 数据库管理系统的所有特性，并配以翔实的实际用例，论述严谨，深入探讨了这些特性的细节内容，同时具有很强的可操作性和实用性。 全书内容共37章，分为10大部分。第一部分为Oracle 11g 数据库基础；第二部分为Oracle之SQL与PL/SQL；第三部分为Oracle客户端工具，主要介绍SQL*Plus和SQL Developer；第四部分为Oracle 11g数据库管理，主要介绍管理控制文件/重做日志文件/表空间/数据文件、模式对象管理、表分区和索引分区、用户管理与安全、数据完整性和数据约束等；第五部分为Oracle数据库优化，着重介绍Oracle数据库的系统调整、SQL优化等知识；第六部分为Oracle 11g数据库的备份与恢复；第七部分为Oracle 11g数据库集群技术与高可用性，包括真正应用集群（RAC）、自动存储管理（ASM）、容灾与数据卫士、故障诊断、真正应用测试等内容；第八部分为商业智能与数据仓库，介绍了Oracle 11g数据库在构建企业级数据仓库时的强大功能和诸多新特性；第九部分为非结构化数据库，包括空间数据库和XML数据库内容；第十部分为Oracle 11g数据库的其他新特性。
目 录
第一部分 Oracle数据库11g基础
第1章 数据库基础简介 2
本章主要介绍了数据库的基础知识，包括数据库、数据库管理系统及关系数据库等基本概念，此外还介绍了目前应用比较广泛的各种关系式数据库系统。
1.1 数据库起源 2
1.2 数据库主要特征 2
1.3 数据库构成 3
1.4 数据库管理系统 3
1.5 关系数据库 4
1.6 本章小结 8
第2章 Oracle 11g概述 9
本章主要介绍了数据库的基础知识、Oracle数据库的特点、发展历史及Oracle的最新数据库版本11g的一些新的特性。
2.1 Oracle数据库发展演进史 9
2.2 Oracle版本号的含义 10
2.3 Oracle网格技术 11
2.3.1 网格概述 11
2.3.2 网格的基本属性 12
2.3.3 Oracle网格基础架构 13
2.4 Oracle 11g新特性 15
2.4.1 企业网格管理的高可用性 15
2.4.2 更加优化的性能 17
2.4.3 简化的信息管理 18
2.4.4 集成的信息 20
2.4.5 内置的业务智能 21
2.4.6 开发平台 22
2.5 本章小结 24
第3章 Oracle 11g数据库的安装、启动及关闭 25
本章详细讲述了Oracle数据库的安装、启动、关闭的整个过程，以及如何使用DBCA创建一个数据库。对数据库管理员而言，这些操作都是最基本的。
3.1 在Windows环境下安装的软硬件要求 25
3.2 在Windows环境下安装Oracle 11g 25
3.3 在Linux环境下安装前的准备 28
3.3.1 安装Oracle 11g对硬件的要求 28
3.3.2 安装Oracle 11g对操作系统的要求 29
3.3.3 安装RedHat AS4操作系统时的注意事项 31
3.3.4 检查安装Oracle 11g所必需的包 33
3.3.5 内核参数配置 33
3.3.6 创建安装数据库所需要的用户（组） 34
3.3.7 添加Oracle用户的限制参数 34
3.3.8 创建安装所需要的目录 34
3.3.9 设置Oracle的环境变量 35
3.3.10 解压缩安装包 35
3.4 在Linux环境下安装Oracle 11g 36
3.4.1 Oracle用户图形终端方式登录 36
3.4.2 安装操作过程 36
3.4.3 登录OEM界面验证安装 40
3.5 Oracle 11g数据库实例的创建 40
3.5.1 在Windows环境下创建数据库 40
3.5.2 在Linux环境下用DBCA创建数据库 41
3.6 Oracle 11g实例的启动和关闭 46
3.6.1 在Windows操作系统下启动和关闭Oracle实例 46
3.6.2 在Linux环境下启动Oracle实例 47
3.6.3 在Linux环境下关闭Oracle实例 49
3.6.4 在Linux环境下启动和关闭Oracle监听进程 49
3.7 本章小结 50
第4章 Oracle数据库结构 51
本章将介绍Oracle数据库的体系结构、服务器结构、Oracle数据库文件及后台进程。
4.1 Oracle体系结构 51
4.1.1 基本术语 51
4.1.2 体系结构图解 52
4.1.3 表空间与数据文件 52
4.1.4 临时表空间与临时文件 54
4.1.5 Oracle存储结构介绍 55
4.1.6 控制文件 55
4.1.7 日志文件 56
4.1.8 服务器参数文件 58
4.1.9 密码文件/跟踪文件/警告日志 59
4.2 Oracle服务器结构 60
4.2.1 Oracle服务器与Oracle实例 60
4.2.2 物理结构与逻辑结构的关系 60
4.2.3 系统全局区（SGA） 61
4.2.4 后台进程 62
4.2.5 程序全局区PGA 64
4.3 数据字典 65
4.3.1 Oracle数据字典的构成 65
4.3.2 Oracle常用的数据字典 65
4.3.3 Oracle常用的动态性能视图 67
4.4 本章小结 67
第二部分 Oracle之SQL&PL/SQL
第5章 SQL语言介绍 70
本章主要介绍了以下内容：SQL语言概述、如何使用简单和复杂的SELECT检索语句、如何使用基本函数、如何使用DDL语句、如何使用DML语句、如何使用描述语句。
5.1 SQL语言概述 70
5.1.1 SQL语言特点 71
5.1.2 SQL语言分类 71
5.1.3 SQL语言的编写规则 71
5.2 使用SELECT检索数据 72
5.2.1 使用FROM子句指定表 73
5.2.2 使用SELECT（必要元素）指定列 73
5.2.3 使用WHERE子句指定行 74
5.2.4 使用ORDER BY子句 79
5.2.5 使用DISTINCT检索唯一的表列值 80
5.2.6 使用算术运算符 81
5.3 基本函数的使用 82
5.3.1 字符函数 82
5.3.2 数字函数 85
5.3.3 日期函数 87
5.3.4 转换函数 87
5.3.5 组函数 88
5.3.6 使用GROUP BY进行数据分组 89
5.3.7 使用HAVING子句限制分组数据 90
5.3.8 Oracle递归函数的使用 91
5.4 复杂SELECT语句的使用 91
5.4.1 集合操作 91
5.4.2 子查询 96
5.4.3 表连接 96
5.4.4 CASE语句的使用 99
5.4.5 强大的DECODE函数 101
5.5 DDL语句的使用 102
5.5.1 常用的数据类型 102
5.5.2 表 104
5.5.3 主键 105
5.5.4 外键 107
5.5.5 约束 108
5.5.6 索引 110
5.5.7 视图 112
5.5.8 序列 113
5.5.9 同义词 114
5.6 DML语句的使用 114
5.6.1 使用INSERT语句插入表数据 115
5.6.2 使用UPDATE语句更新表数据 116
5.6.3 使用DELETE语句删除表数据 117
5.6.4 使用MERGE语句修改表数据 117
5.6.5 TRUNCATE语句的使用 121
5.7 使用描述语句 121
5.8 本章小结 122
第6章 PL/SQL基础编程 123
本章介绍了以下内容：PL/SQL概述、PL/SQL编程、过程和函数、错误处理。
6.1 PL/SQL概述 123
6.1.1 PL/SQL语言 123
6.1.2 PL/SQL主要特性 125
6.1.3 PL/SQL的开发和运行环境 127
6.1.4 运行PL/SQL程序 128
6.2 PL/SQL编程 129
6.2.1 基本语言块 130
6.2.2 字符集和语法注释 130
6.2.3 数据类型和类型转换 132
6.2.4 变量和常量 136
6.2.5 表达式和运算符 138
6.2.6 流程控制 140
6.3 过程和函数 147
6.3.1 过程 148
6.3.2 函数 149
6.4 错误处理 151
6.4.1 预定义异常 151
6.4.2 用户定义异常 153
6.5 本章小结 155
第7章 PL/SQL高级应用 156
本章介绍了以下内容：包的概念和使用、集合的使用及PL/SQL的新特性。
7.1 包 156
7.1.1 包头 156
7.1.2 包体 157
7.1.3 重载 161
7.1.4 包的初始化 163
7.1.5 Oracle内置包 165
7.2 集合 165
7.2.1 index-by表 166
7.2.2 嵌套表 167
7.2.3 可变数组 169
7.2.4 集合的属性和方法 169
7.3 PL/SQL游标 173
7.3.1 创建游标 174
7.3.2 使用游标的FOR循环 178
7.3.3 使用游标变量 180
7.3.4 游标变量实例 187
7.3.5 使用游标表达式 191
7.4 Oracle 11g中PL/SQL的新特性 192
7.5 本章小结 194
第三部分 Oracle客户端工具
第8章 SQL*Plus工具介绍 196
本章介绍了以下内容：如何使用SQL *Plus的与数据库交互、如何使用SQL *Plus的编辑功能、如何使用SQL *Plus格式化查询结果。
8.1 用SQL*Plus与数据库交互 196
8.1.1 SQL*Plus的主要功能 197
8.1.2 启动SQL*Plus连接数据库 197
8.2 使用SQL*Plus的编辑功能 199
8.2.1 SQL语句、PL/SQL块与SQL*Plus命令的区别 199
8.2.2 编辑命令 200
8.2.3 保存命令 202
8.2.4 加入注释 203
8.2.5 运行命令 205
8.2.6 编写交互命令 206
8.2.7 使用绑定变量 213
8.2.8 跟踪语句 216
8.3 使用SQL*Plus格式化查询结果 221
8.3.1 格式化列 221
8.3.2 定义页与报告的标题和维 231
8.3.3 存储和打印结果 237
8.4 本章小结 238
第9章 Oracle SQL Developer工具介绍 239
本章主要介绍了Oracle SQL Developer的使用，包括创建数据库连接，使用SQL Worksheet操作数据库，开发调试PL/SQL语句，运行和创建报表。另外，通过实例演示了如何使用SQL Developer的迁移工作台完成数据库的迁移操作。
9.1 SQL Developer概述 239
9.1.1 SQL Developer版本演化 239
9.1.2 SQL Developer产品特点 239
9.1.3 SQL Developer下载与安装 239
9.2 创建数据库连接 240
9.2.1 连接到Oracle数据库 240
9.2.2 连接到MySQL数据库 242
9.2.3 连接到SQL Server数据库 242
9.3 使用SQL Worksheet操作数据库 242
9.3.1 检索数据 243
9.3.2 插入数据 245
9.3.3 修改数据 246
9.3.4 删除数据 248
9.4 使用SQL Developer开发和调试PL/SQL 249
9.4.1 准备工作 249
9.4.2 创建并编译PL/SQL过程 249
9.4.3 运行PL/SQL过程 254
9.4.4 调试PL/SQL过程 256
9.5 使用SQL Developer运行或创建报表 261
9.5.1 运行预定义报表 261
9.5.2 创建自定义报表 262
9.6 使用SQL Developer导出操作 263
9.6.1 导出数据 264
9.6.2 导出对象定义 265
9.7 使用SQL Developer迁移工作台 266
9.7.1 迁移工作台概述 266
9.7.2 数据迁移实例演示 267
9.8 本章小结 273
第四部分 Oracle 11g数据库管理
第10章 管理控制文件 276
本章主要讲述了Oracle数据库对控制文件的管理。包括控制文件的内容、更新、多路复用及创建和维护。控制文件对数据库的正常运行至关重要，通过本章的学习，读者可以对控制文件有一定的理解。
10.1 控制文件概述 276
10.1.1 控制文件的组成 276
10.1.2 控制文件的大小 277
10.1.3 控制文件更新 277
10.1.4 可复用区与不可复用区 277
10.2 控制文件的多路复用 277
10.2.1 使用init.ora多路复用控制文件 277
10.2.2 使用SPFILE多路复用控制文件 278
10.2.3 添加更多控制文件副本的步骤 278
10.3 查询控制文件信息 279
10.4 控制文件的创建步骤 279
10.5 维护控制文件 281
10.6 本章小结 283
第11章 管理日志文件 284
本章讲述了联机重做日志的作用和管理，联机重做日志是数据库正常运行不可或缺的文件，对于实例出现故障时的正常恢复是十分重要的。
11.1 管理重做日志文件 284
11.2 日志文件组、日志切换和日志归档 284
11.3 了解检查点 285
11.4 查询、新建、删除日志文件 285
11.5 本章小结 287
第12章 管理表空间和数据文件 288
本章主要介绍了Oracle数据库的逻辑结构、默认表空间，以及表空间的创建、设置、删除等管理操作。这些操作在数据库的日常管理中是十分常用的。
12.1 表空间与数据文件的关系 288
12.2 Oracle 11g默认的表空间列表 289
12.2.1 SYSTEM表空间 289
12.2.2 SYSAUX表空间 290
12.3 建立表空间 291
12.3.1 创建表空间的语法 291
12.3.2 选择盘区管理方式建立表空间 292
12.3.3 选择段空间管理方式建立表空间 293
12.3.4 创建非标准块表空间 294
12.3.5 建立大文件表空间 294
12.4 维护表空间与数据文件 295
12.4.1 改变表空间的读写状态 295
12.4.2 改变表空间的名称 296
12.4.3 设置默认表空间 296
12.4.4 删除表空间 297
12.4.5 增建新的数据文件到表空间 297
12.4.6 删除表空间中无数据的数据文件 298
12.4.7 数据文件的自动扩展设置 298
12.5 管理撤销表空间（UNDO） 299
12.5.1 撤销表空间的作用 299
12.5.2 与撤销表空间有关的参数 300
12.5.3 表空间的基本操作 301
12.6 管理临时表空间 303
12.6.1 临时表空间的概念 303
12.6.2 建立临时表空间 304
12.6.3 查询临时表空间的信息 304
12.6.4 临时表空间组 304
12.7 本章小结 306
第13章 模式对象管理 307
本章讲述了Oracle数据库中最重要的几个模式对象的管理，包括表、索引、视图、同义词、序列等。
13.1 模式与模式对象 307
13.2 管理表 307
13.2.1 建表时的考量 307
13.2.2 列数据类型 308
13.2.3 创建表的语法 309
13.2.4 创建表的实例 310
13.2.5 查看表的信息 311
13.2.6 修改表结构 312
13.2.7 重命名表 313
13.2.8 监控表的存储空间 313
13.2.9 修改表空间的存储设置 314
13.2.10 删除表 314
13.2.11 外部表的管理 314
13.3 索引 316
13.3.1 概念 316
13.3.2 各种类型索引的比较和选择 317
13.3.3 索引的基本操作 317
13.4 视图 320
13.4.1 概念 320
13.4.2 视图的基本操作 320
13.5 同义词 322
13.6 序列 323
13.7 本章小结 323
第14章 表分区与索引分区 324
本章介绍了表分区和索引分区及其在数据库性能优化方面的作用，并通过实例介绍了Oracle 11g中对索引技术最新的增强功能。
14.1 分区技术概述 324
14.2 表分区的方法说明及实例 325
14.2.1 范围分区（Range） 325
14.2.2 散列（Hash）分区 327
14.2.3 列表分区（List） 328
14.2.4 组合分区 328
14.2.5 Interval分区 329
14.2.6 外键分区 330
14.2.7 虚拟列分区 331
14.3 表的分区策略 332
14.4 管理表分区 332
14.4.1 表分区管理的操作列表 332
14.4.2 表分区管理的操作实例 333
14.5 分区表联机重定义 336
14.6 创建索引分区 338
14.6.1 索引分区概念 338
14.6.2 本地索引分区 338
14.6.3 全局索引分区 340
14.7 管理索引分区 340
14.7.1 索引分区管理的操作列表 341
14.7.2 索引分区管理的操作实例 341
14.8 查看分区信息 341
14.9 本章小结 342
第15章 用户管理与安全 343
本章将介绍Oracle系统中的用户管理、权限控制、角色、资源及数据库的审计等方面的内容。
15.1 创建与管理用户账户 343
15.1.1 配置身份验证 343
15.1.2 创建用户的语法 343
15.1.3 创建用户实例 344
15.1.4 修改用户语法与实例 345
15.1.5 删除用户 347
15.2 权限管理 347
15.2.1 权限概述 347
15.2.2 授予系统权限 347
15.2.3 系统权限收回 348
15.2.4 授予对象权限 349
15.2.5 对象权限回收 349
15.2.6 用户与权限查询 350
15.3 角色管理 350
15.3.1 角色概述 351
15.3.2 预定义的Oracle系统角色 351
15.3.3 角色创建与角色授权 353
15.3.4 角色生效/失效 355
15.3.5 角色与权限的查询 355
15.4 资源配置PROFILE 356
15.4.1 PROFILE概述 356
15.4.2 创建PROFILE语法 357
15.4.3 创建PROFILE实例 359
15.4.4 修改资源配置PROFILE 361
15.4.5 显示资源配置PROFILE信息 362
15.5 数据库审计 362
15.5.1 审计概念 362
15.5.2 审计环境设置 362
15.5.3 登录审计 364
15.5.4 数据活动审计 364
15.5.5 对象审计 365
15.5.6 除审计数据 365
15.5.7 查询审计信息 366
15.6 本章小结 366
第16章 数据完整性和数据约束 367
本章介绍了与数据库完整性和一致性有关的重要概念：事务、锁、约束等。
16.1 什么是事务 367
16.2 数据并行性和一致性 368
16.2.1 数据并行性和一致性概述 369
16.2.2 Oracle如何管理数据并行和一致性 369
16.3 锁 372
16.3.1 锁的功能、分类及类型 373
16.3.2 表锁和事务锁 376
16.3.3 检测和解决锁冲突 376
16.3.4 实例分析 379
16.4 数据完整性 381
16.4.1 数据完整性概述 381
16.4.2 完整性约束 382
16.4.3 完整性约束类型 383
16.4.4 约束检验机制 387
16.4.5 约束状态 388
16.5 本章小结 390
第17章 Oracle 11g Enterprise Manager简介 391
Oracle Enterprise Manager是一个功能全面的Oracle图形界面管理工具。自从推出到现在已经有多个版本了，每个新版本都比前一个版本功能更强。目前Oracle 11g企业管理器简称EM（业内常叫OEM——企业管理器），它是初学者管理Oracle系统的最佳伴侣，本章简单介绍企业管理器的安装配置和使用方法。
17.1 Oracle 11g EM简单介绍 391
17.2 Oracle 11g EM安装配置 392
17.2.1 安装选择说明 392
17.2.2 客户化安装 392
17.2.3 设置与安装数据库控制 393
17.2.4 启动Oracle 11g EM 393
17.2.5 登录到Oracle 11g EM 394
17.3 用Oracle 11g EM管理Oracle系统 395
17.3.1 数据库配置管理 396
17.3.2 方案管理 396
17.3.3 数据文件管理 397
17.3.4 数据库用户管理 398
17.4 用EM维护Oracle系统 400
17.4.1 执行导出操作 400
17.4.2 管理（本地）表空间 403
17.4.3 浏览预警文件信息 404
17.5 用Oracle 11g EM进行性能调整 405
17.5.1 查看顶级活动 405
17.5.2 监视Oracle实例是否存在锁 406
17.6 本章小结 406
第五部分 Oracle数据库优化
第18章 Oracle系统调整 408
本章主要介绍了与Oracle性能优化有关的初始化参数的设置及内存区域的调整。Oracle性能优化包括的内容和技巧很多，限于篇幅这里只做简单的介绍。
18.1 Oracle初始化参数文件 408
18.1.1 Oracle的系统参数 408
18.1.2 初始化参数文件SPFILE 408
18.1.3 Oracle 11g新增加和淘汰参数 409
18.2 Oracle动态视图 409
18.3 Oracle SGA调整 412
18.3.1 理解内存分配 412
18.3.2 调整日志缓冲区分配 412
18.3.3 调整共享池分配 414
18.3.4 调整数据库缓冲区 417
18.3.5 SGA调整建议 417
18.4 排序区调整 417
18.4.1 排序区与其他内存区的关系 418
18.4.2 理解排序活动 418
18.4.3 监视排序活动 419
18.4.4 专用模式下排序区的调整 419
18.4.5 共享模式下排序区的调整 421
18.5 Oracle 11g中的自动内存优化功能 422
18.6 本章小结 422
第19章 Oracle SQL语句优化 423
SQL的优化主要与数据库开发人员及应用程序开发人员能否写出高效的SQL语句有关系。其实大多数性能问题往往都是跟SQL效率的低下有很大的关系。本章给大家介绍了编写SQL语句的一些最基本的技巧和需要注意的问题，以及SQL优化器及Oracle 11g中一些SQL优化工具。
19.1 常用的SQL技巧 423
19.1.1 不要用“*”代替所有列名 423
19.1.2 用TRUNCATE代替DELETE 423
19.1.3 在确保完整性的情况下多用COMMIT语句 424
19.1.4 尽量减少表的查询次数 424
19.1.5 用NOT EXISTS替代NOT IN 425
19.1.6 用EXISTS替代IN 425
19.1.7 用EXISTS替代DISTINCT 425
19.1.8 有效利用共享游标 425
19.1.9 以合理的方式使用函数 426
19.2 表的连接方法 427
19.2.1 选择FROM表的顺序 427
19.2.2 驱动表的选择 428
19.2.3 WHERE子句的连接顺序 428
19.3 有效使用索引 428
19.3.1 何时使用索引 429
19.3.2 索引列和表达式的选择 429
19.3.3 选择复合索引主列 429
19.3.4 避免对大表的全表扫描 430
19.3.5 监视索引是否被使用 430
19.3.6 影响索引有效使用的因素 431
19.4 Oracle的优化器与执行计划 431
19.4.1 优化器概念 431
19.4.2 运行EXPLAIN PLAN 432
19.4.3 Oracle 11g中SQL执行计划的管理 432
19.5 Oracle 11g中的执行计划管理 435
19.5.1 执行计划管理的工作原理 435
19.5.2 执行计划管理的实例测试 437
19.6 Oracle 11g中的数据库重演和SQL重演 439
19.6.1 数据库重演 439
19.6.2 SQL重演 439
19.7 Oracle的性能顾问 440
19.7.1 Advisor Central 440
19.7.2 SQL调优顾问 440
19.7.3 SQL访问顾问 440
19.8 本章小结 441
第六部分 Oracle 11g数据库的备份与恢复
第20章 备份与恢复 444
本章介绍了数据库备份与恢复的概念、分类、方法等基本常识。读者通过本章的学习能够对数据库备份和恢复有一个总体的了解，同时还介绍了Oracle 11g中备份和恢复的最新特性。
20.1 备份与恢复概述 444
20.2 备份分类与恢复分类 445
20.2.1 备份分类 445
20.2.2 恢复分类 446
20.3 备份与恢复方法 447
20.4 Oracle 11g的备份和恢复特性 448
20.5 本章小结 449
第21章 RMAN工具的使用 450
本章介绍了Oracle推荐的备份工具RMAN，包括RMAN的基本配置、恢复目录的介绍、通道分配，以及相关的备份和恢复命令、各种不同的备份方法等。RMAN涉及的知识点很多，希望大家多做一些备份和恢复的试验，加深对RMAN的理解。
21.1 RMAN简介 450
21.2 RMAN资料档案库/恢复目录/控制文件 451
21.3 创建恢复目录 451
21.4 RMAN与数据库的连接 453
21.4.1 与目标数据库的连接 453
21.4.2 与恢复目录的连接 453
21.5 注册数据库 454
21.5.1 注册目标数据库 454
21.5.2 实例演示 454
21.6 通道分配 455
21.6.1 通道概述 455
21.6.2 RUN命令介绍 455
21.6.3 自动通道配置 456
21.6.4 手动通道配置 457
21.6.5 显示通道配置参数 458
21.6.6 设置通道控制参数 458
21.7 使用BACKUP命令生成备份集 460
21.7.1 备份集与备份片 460
21.7.2 BACKUP命令语法 460
21.7.3 备份文件的存储格式 461
21.7.4 BACKUP备份实例 462
21.7.5 BACKUP的冷备份与热备份 464
21.8 使用COPY与BACK AS COPY命令 464
21.8.1 COPY命令语法 464
21.8.2 COPY备份实例 465
21.8.3 BACKUP AS COPY命令 466
21.9 备份 467
21.9.1 压缩备份 467
21.9.2 完全备份与增量备份 467
21.9.3 查看备份信息 469
21.10 使用RMAN恢复数据库 470
21.10.1 RESTORE命令 470
21.10.2 RECOVER命令 470
21.10.3 实例解析 470
21.11 本章小结 472
第22章 Oracle闪回技术（Flashback） 473
本章主要讲述了数据库的闪回技术，闪回是数据库进行逻辑恢复的一个快捷工具。本章对Oracle 11g在闪回方面的最新技术，闪回数据归档，也进行了详细介绍。
22.1 闪回技术概述 473
22.2 闪回恢复区 474
22.2.1 闪回恢复区的作用 474
22.2.2 配置闪回恢复区 474
22.2.3 闪回恢复区的文件保留策略 476
22.2.4 使用闪回恢复区 476
22.2.5 与闪回恢复区有关的视图 477
22.3 闪回数据库 477
22.3.1 闪回数据库概述 477
22.3.2 配置闪回数据库 478
22.3.3 使用闪回数据库 480
22.3.4 与闪回数据库有关的视图 481
22.4 闪回表 481
22.4.1 闪回表概念 481
22.4.2 使用闪回表 483
22.5 闪回丢弃 487
22.5.1 回收站概念 487
22.5.2 使用回收站 487
22.5.3 回收站与空间利用 489
22.6 闪回版本查询 491
22.6.1 闪回版本查询概念 491
22.6.2 使用闪回版本查询 491
22.7 闪回事务查询 493
22.7.1 闪回事务查询概念 493
22.7.2 使用闪回事务查询 494
22.8 闪回数据归档 495
22.8.1 闪回数据归档概念 495
22.8.2 闪回数据归档区 496
22.8.3 使用闪回数据归档 497
22.8.4 清除闪回数据归档区数据 500
22.8.5 与闪回数据归档有关的视图 500
22.9 本章小结 501
第23章 使用OEM向导备份和恢复数据库 502
本章介绍了如何使用OEM备份和恢复向导来备份和恢复数据库。对于数据库初学者而言，使用EM备份和恢复向导会使操作更加直观。
23.1 设置首选身份证明 502
23.2 配置备份设置 505
23.3 调度备份 507
23.4 管理当前备份 509
23.5 配置恢复设置 511
23.6 执行恢复 512
23.7 本章小结 513
第24章 逻辑备份及数据导入/导出 514
本章着重介绍了在数据导入/导出时常用的数据泵技术EXPDP/IMPDP，以及传统的EXP/IMP导入/导出工具。
24.1 数据泵技术概述 514
24.2 创建目录对象 515
24.3 使用Data Pump导出数据 516
24.3.1 Data Pump导出说明 516
24.3.2 基于命令行数据泵导出实例 516
24.3.3 基于DBMS_DATAPUMP数据泵导出实例 518
24.4 使用Data Pump导入数据 519
24.4.1 Data Pump导入说明 520
24.4.2 基于命令行数据泵导入实例 521
24.4.3 基于DBMS_DATAPUMP数据泵导入实例 521
24.5 监控Data Pump作业进度 522
24.6 EXP/IMP导出/导入数据 523
24.6.1 EXP/IMP概要说明 523
24.6.2 EXP导出实例 523
24.6.3 IMP导入实例 524
24.6.4 字符集冲突问题 525
24.7 本章小结 526
第七部分 Oracle 11g数据库集群技术与高可用性
第25章 Oracle RAC应用 528
本章主要讲述了RAC的基本概念、系统架构，以及安装、运行、管理RAC所需要的工具，并且通过具体的实例演示了RAC集群数据库的安装。
25.1 RAC概述 528
25.2 Oracle集群件 528
25.3 RAC硬件架构 529
25.4 文件系统和卷管理 529
25.5 OCR与投票磁盘 530
25.6 虚拟IP地址（VIP） 530
25.7 集群校验工具 530
25.8 扩展的远距离集群上的RAC 530
25.9 系统扩展与并行 531
25.10 管理集群数据库 531
25.10.1 企业管理器 531
25.10.2 以滚动的方式给应用打补丁 532
25.11 集群11g R2增强 532
25.12 RAC的安装与配置 534
25.12.1 共享存储方案说明 534
25.12.2 软件包检查 535
25.12.3 创建用户和组及相关配置 536
25.12.4 设置主机名称和网关 538
25.12.5 Linux系统参数配置 539
25.12.6 安装并配置ASM驱动 541
25.12.7 安装cvuqdisk软件包 543
25.12.8 安装grid infrastructure 543
25.12.9 创建ASM磁盘组 555
25.13 安装Oracle数据库软件 558
25.14 使用DBCA创建数据库 563
25.15 TNS配置 569
25.16 检查RAC集群数据库的状态 571
25.17 使用Direct NFS Client 574
25.18 Oracle RAC日常维护 574
25.19 本章小结 575
第26章 自动存储管理（ASM） 576
本章主要介绍了Oracle 11g数据库在ASM方面的新功能。
26.1 ASM概述 576
26.2 Oracle 11g中ASM都有哪些新特征 576
26.2.1 快速重新同步（ASM Fast Mirror Resync） 576
26.2.2 ASM滚动升级 577
26.2.3 为ASM管理员新增了SYSASM权限和OSASM操作系统用户组 579
26.2.4 ASM可扩展性和性能的增强 579
26.2.5 新的ASM命令行（ASMCMD）命令和选项 580
26.3 磁盘组兼容性方面新的属性 580
26.3.1 磁盘组兼容性概要 580
26.3.2 COMPATIBLE.ASM和COMPATIBLE.RDBMS 581
26.3.3 设置磁盘组兼容性的方法 581
26.4 ASM优先镜像读取 582
26.4.1 优先镜像读取新特征概要 582
26.4.2 配置和管理优先读取失败组 582
26.5 ASM快速再平衡 583
26.6 Oracle自动存储管理集群文件系统（ACFS） 583
26.6.1 Oracle ASM动态卷管理器 584
26.6.2 Oralce ACFS快照 585
26.6.3 Oracle ASM配置助手（ASMCA） 585
26.6.4 ASMCMD增强 585
26.6.5 智能数据布局 586
26.6.6 为磁盘驱动器指定扇区大小 586
26.6.7 磁盘组更名 586
26.6.8 Oracle ASM文件访问控制 586
26.6.9 Oracle ASM上的Oracle Cluster Registry和Voting文件 586
26.6.10 Oracle Restart 586
26.6.11 支持Oracle ACFS的Oracle企业管理器 586
26.7 本章小结 587
第27章 容灾与数据卫士 588
本章主要介绍了Oracle 11g Data Guard的概述与入门，如何创建物理与逻辑备用数据库、日志传输服务、日志应用服务、角色管理，以及使用RMAN来备份和恢复文件，在基础知识之上涉及Oracle 11g的一些新的相关特性，如Oracle 数据库企业版新的数据库选件Oracle Active Data Guard、实时查询功能以及压缩的日志传出，同时读取和恢复单个备用数据库，对生产数据库的报告、备份、测试和“滚动”升级。
27.1 Oracle 数据卫士概述 588
27.1.1 数据卫士简介 588
27.1.2 数据卫士体系结构 589
27.1.3 数据卫士配置 590
27.1.4 数据卫士服务 591
27.1.5 数据卫士代理 592
27.1.6 数据卫士保护模式 594
27.1.7 数据卫士进程结构 595
27.1.8 数据卫士功能 596
27.1.9 Oracle 数据卫士提供的好处 597
27.1.10 数据卫士和其他的相关技术 598
27.2 数据卫士入门 599
27.2.1 备用数据库类型 599
27.2.2 管理数据卫士配置的用户接口 602
27.2.3 数据卫士操作的前提条件 606
27.2.4 备用数据库目录结构 607
27.2.5 在线Redo日志、归档Redo日志和备用Redo日志 609
27.3 创建物理备用数据库 610
27.3.1 为备用数据库准备主数据库 610
27.3.2 实施创建操作 613
27.3.3 创建后的步骤 618
27.4 创建逻辑备用数据库 618
27.4.1 准备工作 618
27.4.2 实施创建操作 620
27.4.3 创建后的步骤 624
27.5 数据保护模式 624
27.5.1 数据卫士保护模式 624
27.5.2 设置主数据库的保护模式 625
27.6 日志传输服务 626
27.6.1 概述 626
27.6.2 配置Redo传输服务 627
27.6.3 级联Redo传输目的地 632
27.6.4 监控Redo传输服务 635
27.7 应用服务 639
27.7.1 概述 639
27.7.2 日志应用服务配置选项 642
27.7.3 将Redo数据应用到物理备用数据库 644
27.7.4 将Redo数据应用到逻辑备用数据库 645
27.8 角色转换 646
27.8.1 角色转换简介 646
27.8.2 包含物理备用数据库的角色转换 651
27.8.3 向逻辑备用数据库的角色转换 656
27.8.4 在故障转移后使用闪回技术 662
27.9 管理物理与快照备用数据库 665
27.9.1 启动与关闭物理备用数据库 665
27.9.2 打开物理备用数据库 666
27.9.3 在物理备用数据库上需要手工干预的主数据库变化 669
27.9.4 通过OPEN RESETLOGS语句进行还原 675
27.9.5 监控主、物理备用和快照备用数据库 676
27.9.6 优化Redo应用 678
27.9.7 管理快照备用数据库 678
27.10 管理逻辑备用数据库 679
27.10.1 概览SQL应用架构 680
27.10.2 控制用户访问逻辑备用数据库上的表格 683
27.10.3 管理与监控和逻辑备用数据库相关的视图 684
27.10.4 监控逻辑备用数据库 689
27.10.5 定制逻辑备用数据库 692
27.10.6 在逻辑备用数据库环境中管理特定工作 698
27.10.7 优化逻辑备用数据库 703
27.10.8 在逻辑备用数据库环境中备份与还原 708
27.11 使用RMAN来备份和恢复文件 709
27.11.1 关于数据卫士配置中的RMAN文件管理 710
27.11.2 关于数据卫士环境中的RMAN配置 711
27.11.3 推荐的RMAN与Oracle数据库配置 711
27.11.4 备份过程 714
27.11.5 在数据卫士环境下注册与注销数据库 717
27.11.6 数据卫士环境下的报告 717
27.11.7 数据卫士环境下的备份维护 717
27.11.8 数据卫士环境下的还原脚本 719
27.11.9 例外的备份环境 723
27.11.10 运用RMAN增量备份来滚动前移物理备用数据库 724
27.12 运用SQL应用升级Oracle 数据库 726
27.12.1 运用SQL应用滚动升级的好处 727
27.12.2 运用SQL应用执行滚动升级的前提条件 727
27.12.3 升级操作中使用的数据与惯例 727
27.12.4 通过创建新逻辑备用数据库执行滚动升级 728
27.12.5 用已有的逻辑备用数据库执行滚动升级 730
27.12.6 用已有的物理备用数据库执行滚动升级 735
27.13 数据卫士案例分享 737
27.13.1 在故障转移之后配置逻辑备用数据库 737
27.13.2 用闪回数据库把失败的主数据库转换成备用数据库 739
27.13.3 在输入OPEN RESETLOGS语句之后使用闪回数据库 742
27.13.4 在指定NOLOGGING从句之后进行还原 744
27.13.5 创建使用OMF或Oracle ASM的备用数据库 746
27.13.6 在主数据库上从Lost-write错误进行还原 748
27.13.7 用RMAN备份把失败的主数据库转换成备用数据库 749
27.13.8 在不重建物理备用数据库的情况下变更主数据库的字符集 753
27.14 本章小结 753
第28章 故障诊断 754
本章主要介绍了故障诊断的一些方法和工具，并提出了相关建议。
28.1 数据库挂死管理器 754
28.1.1 IPS事件打包服务 754
28.1.2 自动诊断知识库（ADR） 755
28.1.3 故障处理的工作流 756
28.1.4 增强网络诊断 756
28.1.5 增强OCI诊断 756
28.1.6 智能解决方案 756
28.2 SQL修复建议器 757
28.3 问题避免 757
28.3.1 自动健康监控 757
28.3.2 健康监控 758
28.4 支撑平台 759
28.5 如何得到故障信息 759
28.6 企业管理器Support Workbench支持ASM 760
28.7 本章小结 760
第29章 真正应用测试 761
本章主要介绍了Oracle 11g新增功能——真正应用测试的原理和步骤，包括数据库重放和SQL性能分析器。
29.1 数据库重放 761
29.2 SQL性能分析器 768
29.2.1 SQL性能分析器方法论 769
29.2.2 运行SQL性能分析器 770
29.3 本章小结 772
第八部分 商业智能与数据仓库
第30章 ETL相关的功能 774
本章主要介绍了ETL的基础概念，并描述了与ETL相关的几个Oracle特性，包括变化数据捕捉、物化视图、查询重写、OWB等。
30.1 概 述 774
30.2 变化数据捕捉 774
30.2.1 发布变化数据 778
30.2.2 订阅变化数据 785
30.2.3 Oracle 11g变化数据捕捉功能增强 787
30.3 物化视图 788
30.4 查询重写 790
30.4.1 概述 790
30.4.2 查询重写的先决条件 790
30.4.3 保证查询重写有效 791
30.4.4 与查询重写相关的初始化参数 791
30.4.5 控制查询重写 792
30.4.6 查询重写的准确性 792
30.4.7 激活查询重写的权限 793
30.4.8 示例方案和物化视图 793
30.4.9 如何验证发生过查询重写 794
30.4.10 查询重写示例 795
30.4.11 内嵌视图 795
30.4.12 远程表 796
30.5 Oracle Warehouse Builder 796
30.5.1 OWB方法论 797
30.5.2 OWB的架构图 800
30.5.3 安装与配置 801
30.5.4 数据转换功能 802
30.5.5 缓慢变化维 803
30.6 与数据仓库有关的SQL操作增强 803
30.7 本章小结 804
第31章 多维数据库 805
本章主要介绍了Oracle OLAP多维数据库的基础知识，包括OLAP的访问和创建，并且详细说明了Oracle OLAP的管理工具AWM。本章最后介绍了11g中OLAP新特性。
31.1 OLAP选件概述 805
31.2 OLAP对外接口 806
31.2.1 Java OLAP API 807
31.2.2 关系视图与SQL查询 808
31.2.3 OLAP DML与PL/SQL包 808
31.3 分析工作空间管理器 809
31.3.1 简化维模型的构建 810
31.3.2 实施物理存储模型 810
31.3.3 映射关系源 812
31.3.4 管理生命周期 813
31.3.5 保存模型设计 813
31.4 分析工作区管理器演示 813
31.4.1 授权 814
31.4.2 创建分析工作区 814
31.4.3 创建维 815
31.4.4 创建多维数据集 818
31.4.5 加载和聚合数据 820
31.5 11gr1 OLAP增强功能 821
31.5.1 SQL优化器的增强 821
31.5.2 允许利用Java插件 821
31.5.3 分区和存储顾问（Advisors） 821
31.5.4 基于成本的汇总 822
31.5.5 立方脚本 822
31.5.6 数据库管理的立方刷新 823
31.5.7 自动重写到按照立方组织的物化视图 825
31.5.8 数据字典 825
31.5.9 计算模板 825
31.5.10 安全增强 825
31.6 本章小结 827
第32章 数据挖掘 828
本章主要介绍了Oracle数据挖掘的基础知识，包括数据挖掘方法论和Oracle数据库提供的主要挖掘算法，并介绍了11g中数据挖掘的新特性。
32.1 数据挖掘过程 828
32.2 监督式学习算法 830
32.2.1 朴素贝叶斯 830
32.2.2 自适应贝叶斯网络 830
32.2.3 支持向量机 831
32.2.4 属性重要性排序 831
32.2.5 决策树 831
32.3 无监督式学习算法 831
32.3.1 聚类 832
32.3.2 关联规则 832
32.3.3 特征选择 832
32.3.4 文本挖掘和非结构化数据 833
32.4 数据挖掘接口 833
32.5 数据挖掘功能增强 834
32.5.1 自动和嵌入的数据转换 834
32.5.2 数据挖掘方案对象 836
32.5.3 数据挖掘的Java API 837
32.5.4 广义线性模型 837
32.5.5 预测分析：PROFILE 837
32.5.6 SQL预测增强 837
32.5.7 新增视图 838
32.5.8 安全性 839
32.5.9 数据挖掘模型的升级 839
32.5.10 11g中不赞成使用的特性 839
32.5.11 不被支持的特性 840
32.6 本章小结 840
第九部分 非结构化数据库
第33章 空间数据库 842
本章主要介绍了Oracle 空间数据库的基础知识，包括矢量几何体数据和栅格数据的存取方法，并介绍了11g中空间数据库的新特性。
33.1 使空间数据库概述 842
33.2 几何实体数据 843
33.2.1 几何实体类型 843
33.2.2 空间数据模型 843
33.2.3 SDO_GEOMETRY 844
33.2.4 几何实体的元数据 850
33.2.5 空间R树索引 851
33.2.6 过滤和空间关系 852
33.2.7 空间操作符 854
33.2.8 SDO_GEOM包 856
33.2.9 空间聚集函数 857
33.2.10 空间参考坐标系 858
33.2.11 其他 863
33.3 Oracle Spatial 选件 863
33.4 GeoRaster数据 864
33.5 MapViewer 867
33.6 空间数据库11gr1增强特性 868
33.7 空间数据操作演示 870
33.8 本章小结 873
第34章 XML数据库 874
本章主要介绍了Oracle XML数据库的基础知识，包括XMLType的存储方式和创建方法，并介绍了常用的XML存取操作，用示例说明了XML DB的开发。
34.1 Oracle XML DB概述 874
34.1.1 XMLType存储 874
34.1.2 XML DB资料库 875
34.1.3 协议结构 876
34.1.4 API访问 876
34.2 XML DB开发 877
34.2.1 XMLType类型 877
34.2.2 存储索引 880
34.2.3 XML模式 880
34.2.4 注册XML模式 881
34.2.5 XML模式进化 883
34.2.6 XML DB应用开发工具 884
34.3 XML存取操作 884
34.3.1 XQuery 884
34.3.2 SQL/XML二元性 886
34.3.3 XML与关系数据互操作 887
34.3.4 XML运算符 887
34.3.5 XML DB维护工具 888
34.3.6 XML DB全文检索 889
34.3.7 XML DB 11gr1增强 889
34.4 Oracle XML DB示例 892
34.5 本章小结 896
第十部分 Oracle 11g数据库的其他新特性
第35章 Oracle 11g应用增强 898
本章主要介绍了Oracle 11g中一些主要的新增应用特性，包括结果缓存、执行计划管理、高级压缩和SQL方面的一些增强特性。
35.1 结果缓存 898
35.1.1 概述 898
35.1.2 应用演示 900
35.2 执行计划管理 907
35.2.1 概述 907
35.2.2 应用演示 909
35.3 高级压缩 910
35.3.1 概述 910
35.3.2 11g中新压缩特性 911
35.4 数据库控制 914
35.4.1 高级复制变革 915
35.4.2 ASM增强 915
35.4.3 转变管理者-同步与传播 915
35.4.4 增强数据库克隆 915
35.4.5 增强数据库配置（ECM收集） 915
35.4.6 改进数据库主页和性能页 915
35.4.7 增强的自适应测度（metric）阈值 916
35.4.8 融合需求（Fusion） 917
35.4.9 管理Oracle文本索引 917
35.4.10 迁移数据库到ASM——企业管理器中的增强 920
35.4.11 增强存储/审计报表和测度 920
35.4.12 增强存储、计划、安全和配置 920
35.4.13 增强等待事件详述 921
35.4.14 工作空间管理 921
35.5 整体数据库管理——真正应用集群的ADDM 921
35.6 LOBs增强 922
35.7 SQL增强 924
35.7.1 SQL指令 924
35.7.2 函数 941
35.7.3 其他增强 944
35.8 本章小结 945
第36章 高级数据管理 946
本章主要介绍了Oracle 11g增强的一些数据库管理和维护特性，并介绍了新增的信息生命周期管理的概念和使用方法。
36.1 增强高级管理特性 946
36.2 信息生命周期管理 949
36.2.1 信息生命周期管理概念 949
36.2.2 Oracle信息生命周期管理方案 950
36.2.3 信息生命周期管理实施 951
36.2.4 信息生命周期管理助手 953
36.2.5 在线数据归档的好处 957
36.3 本章小结 958
第37章 数据库升级 959
本章主要介绍了Oracle数据库升级为11g的方法和步骤，并说明了升级完成后的任务。
37.1 概述 959
37.2 升级过程 960
37.3 11g新增的后台进程 961
37.4 升级准备 962
37.5 升级到新版本 963
37.6 升级后的任务 964
37.7 11gr1兼容性和互操作性问题 964
37.8 数据库降级 971
37.9 本章小结 972
参考文献 973