第0章 Oracle的安装及相关配置 1
0.1 Oracle的安装 1
0.2 Oracle 11g和Oracle 12c中的SQL*Plus 6
0.3 scott用户及其对象维护 7
0.4 虚拟环境的创建 7
0.5 虚拟人物 8
第1章 Oracle的体系结构 10
1.1 Oracle引入复杂的体系结构的原因 10
1.2 Oracle数据库中常用的术语 11
1.3 Oracle数据库管理系统的体系结构 11
1.4 Oracle服务器 12
1.5 Oracle实例 12
1.6 Oracle数据库 12
1.7 Oracle其他的关键文件 12
1.8 建立与Oracle实例的连接 13
1.9 各种不同的连接方式 13
1.10 服务器进程 14
1.11 Oracle执行SQL查询语句的步骤 14
1.12 共享池 15
1.13 数据库高速缓冲区 16
1.14 内存缓冲区顾问 17
1.15 重做日志缓冲区 18
1.16 大池、Java池和Streams池 18
1.17 内存缓冲区大小的设定 19
1.18 内存缓冲区信息的获取 19
1.19 重做日志写进程及快速提交 20
1.20 数据库写进程 21
1.21 系统监督进程 22
1.22 进程监督进程 22
1.23 校验(检查)点和校验点进程 22
1.24 归档日志进程 23
1.25 小结 24
1.26 您应该掌握的内容 25
第2章 数据库管理工具 26
2.1 Oracle通用安装程序 26
2.2 交互式启动Oracle Universal Installer 26
2.3 非交互式启动Oracle Universal Installer 27
2.4 Oracle数据库配置助手 27
2.5 使用Oracle数据库配置助手创建数据库 28
2.6 数据库管理员用户sys和system 30
2.7 SQL*Plus命令行工具 32
2.8 Oracle 10g企业管理器(EM) 33
2.9 Oracle 11g企业管理器(EM) 34
2.10 将SYSDBA权限授予普通用户 35
2.11 Oracle 12c EM Database Express 37
2.12 SQL Developer简介 40
2.13 您应该掌握的内容 42
第3章 Oracle实例的管理 44
3.1 初始化参数文件 44
3.2 静态参数文件 44
3.3 静态参数文件的创建和例子 45
3.4 动态服务器参数文件 46
3.5 动态服务器参数文件的创建和参数的浏览 47
3.6 启动数据库 48
3.7 将数据库置为限制模式 50
3.8 关闭数据库 51
3.9 关闭数据库的实际例子 52
3.10 如何利用诊断文件来监督实例 53
3.11 Oracle 11g和Oracle 12c诊断文件 56
3.12 Oracle 11g和Oracle 12c的ADRCI 59
3.13 您应该掌握的内容 62
第4章 数据字典和控制文件 64
4.1 数据字典简介 64
4.2 数据字典中所存的信息 64
4.3 数据字典的操作和使用 65
4.4 数据字典视图 65
4.5 格式化数据字典视图的输出 67
4.6 如何使用数据字典视图 68
4.7 动态性能表(视图) 70
4.8 数据字典应用实例 71
4.9 控制文件的定义及引入的目的 75
4.10 控制文件中所存的内容 75
4.11 从控制文件中获取信息的数据字典 76
4.12 如何限定控制文件的大小 76
4.13 怎样查看控制文件的配置 77
4.14 怎样添加和移动控制文件 78
4.15 控制文件的备份 79
4.16 移动控制文件的实例 80
4.17 您应该掌握的内容 85
第5章 重做日志文件 87
5.1 引入重做日志的目的 87
5.2 重做日志组 87
5.3 重做日志成员 88
5.4 日志切换和检查点 89
5.5 获取重做日志的信息 89
5.6 添加和删除联机重做日志文件组 91
5.7 添加和删除联机重做日志成员(文件) 93
5.8 清除联机重做日志文件 95
5.9 利用OMF来管理联机重做日志文件 97
5.10 联机重做日志的配置 100
5.11 重做日志配置的应用实例 101
5.12 您应该掌握的内容 108
第6章 表空间和数据文件的管理 109
6.1 Oracle引入逻辑结构的目的 109
6.2 Oracle数据库中存储结构之间的关系 109
6.3 表空间和数据文件之间的关系及表空间的分类 110
6.4 表空间中的磁盘空间管理 111
6.5 创建本地管理的表空间 112
6.6 还原表空间 113
6.7 临时表空间 114
6.8 默认临时表空间 117
6.9 设置表空间为脱机 118
6.10 只读表空间 120
6.11 重置表空间的大小 122
6.12 手工重置数据文件的大小 123
6.13 移动数据文件的方法 124
6.14 移动数据文件的应用实例 125
6.15 删除表空间 131
6.16 利用OMF来管理表空间 133
6.17 创建表空间的应用实例 136
6.18 您应该掌握的内容 139
第7章 存储结构和它们之间的关系 140
7.1 各种类型的段 140
7.2 存储子句的优先级 142
7.3 区段 142
7.4 数据库块 143
7.5 Oracle数据块的大小 143
7.6 数据库块的内容和参数 144
7.7 手工数据块的管理 146
7.8 自动的段空间管理 147
7.9 小结 149
7.10 您应该掌握的内容 149
第8章 管理还原数据 151
8.1 还原数据的管理方法 151
8.2 Oracle使用还原段的目的 151
8.3 还原段的类型 153
8.4 自动还原数据管理的概念和配置 154
8.5 还原表空间的创建与维护 155
8.6 还原表空间之间的切换 157
8.7 删除还原表空间 158
8.8 自动还原数据管理的一些参数及应用实例 158
8.9 获得还原数据的信息 162
8.10 临时还原数据的管理 164
8.11 您应该掌握的内容 166
第9章 创建数据库 167
9.1 筹划和组织数据库优化而弹性的体系结构 167
9.2 创建数据库的先决条件 168
9.3 创建数据库的方法 169
9.4 手工创建数据库 170
9.5 创建数据库过程中的排错 174
9.6 利用Oracle Managed Files(OMF)来创建数据库 174
9.7 多租户容器数据库和可插入数据库简介 175
9.8 与多租户容器数据库相关的数据字典和命令简介 176
9.9 您应该掌握的内容 178
第10章 表管理与维护 180
10.1 存储数据的方法和Oracle内置数据类型 180
10.2 ROWID 182
10.3 Oracle数据行的结构 183
10.4 创建普通表 184
10.5 创建临时表 185
10.6 表的维护和管理 186
10.7 非分区表的重组 188
10.8 列的维护 191
10.9 表的截断和删除 193
10.10 高水线及直接装入数据 193
10.11 收缩段 198
10.12 表压缩 201
10.13 创建表的应用实例 204
10.14 您应该掌握的内容 206
第11章 索引的管理与维护 208
11.1 Oracle引入索引的目的 208
11.2 索引的分类 208
11.3 B-树索引 209
11.4 位图索引 210
11.5 B-树索引和位图索引的比较 210
11.6 创建索引 211
11.7 重建和维护索引 215
11.8 标识索引的使用情况 217
11.9 删除索引 219
11.10 不可见索引 219
11.11 创建索引的应用实例 222
11.12 您应该掌握的内容 224
第12章 管理和维护数据完整性 225
12.1 数据的完整性 225
12.2 完整性约束的类型 225
12.3 完整性约束的状态 226
12.4 完整性约束的检验与定义 226
12.5 定义和维护约束的指导原则 230
12.6 关闭(禁止)和开启(激活)约束 231
12.7 重新命名和删除约束 237
12.8 您应该掌握的内容 238
第13章 用户及系统资源和安全的管理 239
13.1 创建用户 239
13.2 数据库模式 241
13.3 改变用户在表空间上的配额 242
13.4 删除用户 243
13.5 用户的安全控制域 243
13.6 概要文件 244
13.7 利用概要文件进行资源管理 244
13.8 资源限制的设置 245
13.9 创建资源限制的概要文件 245
13.10 口令管理 247
13.11 口令验证函数 248
13.12 创建口令限制的概要文件 249
13.13 修改和删除概要文件 251
13.14 创建概要文件的应用实例 252
13.15 您应该掌握的内容 254
第14章 管理权限 256
14.1 权限的分类 256
14.2 系统权限 256
14.3 系统权限的限制 257
14.4 授予系统权限 258
14.5 回收系统权限 261
14.6 对象权限 264
14.7 对象权限的授权和回收 265
14.8 与Select Any Table权限相关的应用实例 269
14.9 您应该掌握的内容 272
第15章 管理角色 273
15.1 引入角色的原因 273
15.2 角色的创建 273
15.3 角色的修改 274
15.4 角色的授权 275
15.5 建立默认角色 277
15.6 激活和禁止角色 280
15.7 角色的回收和删除 281
15.8 创建和使用角色指南 285
15.9 Oracle预定义的角色 288
15.10 用户、概要文件、权限和角色的应用实例 290
15.11 您应该掌握的内容 296
第16章 非归档模式下的冷备份和恢复 298
16.1 实验环境的搭建 298
16.2 数据库的非归档模式和备份的术语 300
16.3 冷备份(脱机备份) 301
16.4 冷恢复(脱机恢复) 303
16.5 脱机备份和脱机恢复的优缺点 303
16.6 脱机备份的应用实例 304
16.7 脱机恢复到原来位置的应用实例 310
16.8 脱机恢复到非原来位置的应用实例 312
16.9 您应该掌握的内容 315
第17章 数据库的归档模式 316
17.1 归档模式的特点和要求 316
17.2 将数据库设置为归档模式 316
17.3 归档进程和归档文件目录的设置 318
17.4 归档文件和归档进程的管理与维护 323
17.5 改变成归档模式的应用实例 326
17.6 您应该掌握的内容 331
第18章 数据库的联机备份及备份的自动化 332
18.1 联机备份的重要性和特点 332
18.2 联机备份步骤的演示 333
18.3 联机备份步骤的解释 336
18.4 联机备份的其他问题 337
18.5 联机备份的应用实例 338
18.6 备份操作自动化的实例 340
18.7 恢复管理器简介 344
18.8 快速增量备份(块更改追踪) 346
18.9 配置快速恢复区 348
18.10 使用RMAN备份和恢复Oracle数据库 348
18.11 您应该掌握的内容 350
第19章 归档模式下的数据库恢复 352
19.1 在归档模式下的介质恢复 352
19.2 数据库的完全恢复 353
19.3 RECOVER命令及与恢复有关的数据字典 353
19.4 RECOVER期间归档日志文件的使用 358
19.5 获取SQL*Plus命令的信息和使用方法 359
19.6 数据库完全恢复方法 360
19.7 最初处于打开状态下进行的开启数据库恢复 361
19.8 最初处于关闭状态下进行的开启数据库恢复 362
19.9 恢复没有备份的数据文件 364
19.10 在关闭的状态下进行数据库的恢复 365
19.11 最初在关闭状态下进行开启数据库恢复的实例 366
19.12 在关闭状态下进行数据库恢复的实例 369
19.13 您应该掌握的内容 371
第20章 数据的移动 372
20.1 Oracle导出和导入应用程序 372
20.2 导出应用程序的用法 373
20.3 导入应用程序的用法 374
20.4 导出和导入程序的应用实例 375
20.5 数据泵 378
20.6 不同用户及不同表空间之间数据的移动 382
20.7 将Oracle的数据传给其他软件(系统) 387
20.8 将其他软件(系统)的数据导入Oracle 391
20.9 数据泵操作的自动化 397
20.10 您应该掌握的内容 401
第21章 闪回技术、备份恢复与优化 402
21.1 闪回已经删除的表 402
21.2 闪回错误的DML操作 407
21.3 非当前的还原表空间的恢复 411
21.4 只读表空间和临时表空间的恢复 415
21.5 索引表空间的恢复 419
21.6 加快数据表空间的恢复 425
21.7 整个数据库的闪回 429
21.8 配置数据库闪回的实例 431
21.9 您应该掌握的内容 433
第22章 设计、程序及内存的优化 435
22.1 优化概述 435
22.2 优化系统设计的基本原理 436
22.3 以命令行方式获取系统的设计 438
22.4 优化应用程序和SQL语句的基本原理 441
22.5 以命令行方式获取SQL语句执行的信息 445
22.6 反转关键字索引 447
22.7 基于函数的索引 449
22.8 导出存储程序的源代码 452
22.9 SGA内存的优化 454
22.10 PGA内存的优化 460
22.11 将程序常驻内存 464
22.12 将数据缓存在内存中 467
22.13 将数据常驻内存 468
22.14 将查询的结果缓存在内存 474
22.15 SGA和PGA内存的设置与它们之间内存的转换 478
22.16 您应该掌握的内容 480
第23章 I/O优化 482
23.1 输入/输出优化概述 482
23.2 表空间与输入/输出优化 483
23.3 数据文件量的监控与诊断 484
23.4 表和索引一级的优化 487
23.5 删除操作对还原段的冲击及解决方法 490
23.6 重做日志的优化 492
23.7 通过移动表和索引来减少I/O竞争的实例 493
23.8 您应该掌握的内容 497
第24章 EM、iSQL*Plus和数据库自动管理 498
24.1 Oracle 10g和Oracle 11g企业管理器简介 498
24.2 Oracle 10g、Oracle 11g和Oracle 12c数据库自动管理简介 505
24.3 数据库自动管理中的常用术语和统计级别 507
24.4 自动工作负荷资料档案库 508
24.5 AWR基线 509
24.6 获取快照的信息与创建基线 511
24.7 AWR报告的创建与分析 513
24.8 不同时间段的AWR数据的比较 515
24.9 自动数据库诊断监视器 520
24.10 利用EM Database Express 12c获取优化信息 520
24.11 您应该掌握的内容 522
第25章 SQL语句追踪与优化 523
25.1 发现有问题的SQL语句及执行计划的概念 523
25.2 利用AUTOTRACE追踪SQL语句 524
25.3 执行计划的应用和EXPLAIN PLAN命令 527
25.4 DBMS_XPLAN软件包与编译树简介 528
25.5 数据字典V$SQL与编译树应用实例 530
25.6 位图连接索引 533
25.7 手工设置排序区的实例 537
25.8 您应该掌握的内容 540
结束语 541
鸣谢 543
参考文献 544