第一篇 基础篇 2
第1章 数据库基础知识 2
1.1 数据库基本概念 2
1.2 数据库的产生 3
1.3 数据库的特征 4
1.4 数据模型 5
1.4.1 数据模型的概念 5
1.4.2 概念模型 5
1.4.3 组织数据模型 6
1.5 关系模型 6
1.5.1 数据结构 7
1.5.2 关系完整性约束 8
1.6 关系数据库 8
1.6.1 关系数据库的功能 8
1.6.2 常见的关系数据库管理系统 8
1.7 数据库系统设计步骤 10
1.7.1 数据库设计概述 10
1.7.2 需求分析 10
1.7.3 概念结构设计 11
1.7.4 逻辑结构设计 12
1.7.5 物理结构设计 13
1.7.6 数据库实施与维护 13
实践指导 13
第2章 Oracle数据库简介 15
2.1 Oracle数据库的发展 15
2.1.1 Oracle数据库的应用现状 15
2.1.2 Oracle数据库的版本变迁 15
2.1.3 Oracle数据库的技术领先优势 17
2.1.4 Oracle数据库的高市场占有率 18
2.2 Oracle的网格计算 18
2.2.1 Oracle数据库的网格 19
2.2.2 Oracle应用服务器的网格 20
2.2.3 Oracle企业管理器的网格控制 20
2.3 Oracle数据库的应用结构 21
2.4 Oracle 11g数据库的新特性 22
实践指导 25
第3章 Oracle 11g数据库的安装 26
3.1 安装预处理 26
3.1.1 对系统软、硬件的要求 26
3.1.2 安装准备 26
3.1.3 回环网络适配器的安装与配置 27
3.2 Oracle 11g数据库软件下载 29
3.3 安装Oracle 11g数据库服务器 31
3.4 检查和验证安装结果 40
3.4.1 程序组 41
3.4.2 产品清单 41
3.4.3 系统服务 41
3.4.4 文件体系结构 43
3.4.5 网络配置 43
3.4.6 利用企业管理器登录数据库 44
3.4.7 利用SQL Plus登录数据库 45
3.5 运行时故障分析与解决 45
3.6 卸载Oracle 11g产品 49
实践指导 50
第4章 Oracle企业管理器 51
4.1 Oracle企业管理器的功能与分类 51
4.1.1 Oracle企业管理器的功能 51
4.1.2 Oracle企业管理器的类型 51
4.2 Oracle企业管理器的启动与登录 52
4.3 使用联机帮助 53
4.4 Oracle企业管理器功能界面介绍 54
4.4.1 “主目录”选项卡 54
4.4.2 “性能”选项卡 56
4.4.3 “可用性”选项卡 59
4.4.4 “服务器”选项卡 60
4.4.5 “方案”选项卡 61
4.4.6 “数据移动”选项卡 62
4.4.7 “软件和支持”选项卡 63
4.5 Oracle企业管理器基本设置 64
4.5.1 添加管理员 64
4.5.2 管理监视模板 65
4.5.3 设置封锁 67
4.6 Oracle企业管理器首选项设置 69
4.6.1 设置主机首选身份证明 70
4.6.2 设置数据库首选身份证明 72
实践指导 73
第5章 SQL*Plus工具的使用 74
5.1 SQL*Plus工具介绍 74
5.1.1 SQL*Plus的主要功能 74
5.1.2 SQL*Plus启动与退出 74
5.1.3 SQL*Plus站点配置文件 76
5.2 SQL*Plus命令 76
5.2.1 数据库连接与断开命令 76
5.2.2 显示数据库对象结构 77
5.2.3 编辑命令 77
5.2.4 文件操作命令 79
5.2.5 注释 83
5.2.6 使用替换变量 84
5.2.7 与用户通信 86
5.2.8 使用绑定变量 87
5.2.9 其他常用命令 88
5.3 显示与设置环境变量 90
5.4 格式化查询结果 95
5.4.1 格式化列 95
5.4.2 压缩重复列值的显示 98
5.4.3 使用汇总 99
5.4.4 设置页与报表 100
实践指导 102
第6章 SQL Developer开发工具的使用 104
6.1 SQL Developer概述 104
6.2 创建数据库连接 104
6.3 SQL Developer基本操作 106
6.3.1 浏览数据库对象 106
6.3.2 数据操纵 107
6.3.3 数据库对象的创建与修改 110
6.4 开发和调试PL/SQL程序 113
6.4.1 存储过程创建与编辑 113
6.4.2 存储过程调试 115
6.5 导出与导入操作 118
6.5.1 导出数据 119
6.5.2 导出对象定义 119
6.5.3 导入数据 120
6.6 运行和创建报表 122
6.6.1 运行预定义报表 122
6.6.2 创建自定义报表 123
实践指导 124
第7章 实践案例项目分析与设计 125
7.1 实践案例说明 125
7.2 系统分析 125
7.3 概念结构设计 125
7.4 逻辑结构设计 127
7.4.1 表结构设计 127
7.4.2 序列的设计 129
7.4.3 索引的设计 129
7.4.4 视图的设计 130
7.4.5 存储过程的设计 130
7.4.6 函数的设计 130
7.4.7 包的设计 130
7.4.8 触发器的设计 130
7.5 物理存储结构的设计 131
实践指导 131
第二篇 体系结构篇 134
第8章 Oracle数据库体系结构 134
8.1 Oracle数据库体系结构概述 134
8.2 Oracle数据库存储结构 135
8.2.1 Oracle数据库物理存储结构 136
8.2.2 Oracle数据库逻辑存储结构 140
8.3 Oracle数据库实例 147
8.3.1 Oracle实例概述 147
8.3.2 SGA 148
8.3.3 PGA 152
8.3.4 内存管理 154
8.4 Oracle数据库进程 158
8.4.1 Oracle进程概述 158
8.4.2 Oracle服务器进程 159
8.4.3 Oracle后台进程 168
8.5 数据字典 173
8.5.1 数据字典的概念 173
8.5.2 数据字典的结构 174
8.5.3 数据字典的使用 175
8.5.4 在OEM中查询数据字典信息 179
8.6 SQL语句执行过程 180
实践指导 181
第9章 数据文件管理 182
9.1 数据文件概述 182
9.2 数据文件的管理准则 183
9.2.1 确定数据文件数量 183
9.2.2 确定数据文件大小 184
9.2.3 设置数据文件的存储位置 184
9.3 创建数据文件 184
9.4 修改数据文件大小 186
9.4.1 数据文件的自动扩展 186
9.4.2 手动改变数据文件大小 187
9.5 改变数据文件的可用性 188
9.5.1 归档模式下数据文件可用性的改变 188
9.5.2 非归档模式下数据文件的脱机 189
9.5.3 改变表空间中所有数据文件的可用性 190
9.6 改变数据文件的名称与位置 191
9.6.1 修改同一个表空间中数据文件的名称与位置 192
9.6.2 修改多个表空间中数据文件的名称与位置 192
9.7 删除数据文件 194
9.8 查询数据文件 194
9.9 利用OEM管理数据文件 196
实践指导 198
第10章 控制文件管理 199
10.1 控制文件概述 199
10.1.1 控制文件的概念 199
10.1.2 控制文件的内容 199
10.1.3 控制文件的大小 200
10.1.4 控制文件的管理策略 200
10.2 创建控制文件 201
10.2.1 创建初始控制文件 201
10.2.2 创建新的控制文件 201
10.3 多路复用控制文件 206
10.4 控制文件创建后故障解决 207
10.4.1 数据字典与控制文件信息不一致 207
10.4.2 创建控制文件时的错误处理 208
10.5 备份控制文件 208
10.6 删除控制文件 208
10.7 查询控制文件信息 208
10.8 利用OEM管理控制文件 209
实践指导 210
第11章 重做日志文件管理 212
11.1 重做日志文件概述 212
11.1.1 重做日志文件的内容与作用 212
11.1.2 重做日志文件工作原理 213
11.1.3 重做日志文件切换与日志序列号 213
11.1.4 重做日志文件组的概念 214
11.1.5 重做日志文件故障响应 214
11.1.6 重做日志文件规划 215
12.6 利用OEM管理归档日志文件 241
实践指导 242
第13章 初始化参数文件管理 243
13.1 服务器初始化参数文件概述 243
13.2 创建服务器初始化参数文件 244
13.3 初始化参数介绍 246
13.4 修改初始化参数 247
13.5 导出服务器初始化参数文件 251
13.6 恢复丢失或损坏的服务器初始化参数文件 252
13.7 查看初始化参数设置 253
13.8 利用OEM管理初始化参数 255
实践指导 256
第14章 表空间管理 257
14.1 表空间概述 257
14.1.1 表空间概念 257
14.1.2 表空间分类 258
14.1.3 表空间的管理方式 259
14.1.4 表空中区的分配与段的管理 260
14.1.5 表空间的管理策略 262
14.2 创建表空间 263
14.2.1 创建表空间概述 263
14.2.2 CREATE TABLESPACE语句 263
14.2.3 创建本地管理表空间 265
14.2.4 创建大文件表空间 267
14.2.5 创建非标准块表空间 269
14.2.6 创建加密表空间 270
14.3 维护表空间 272
14.3.1 ALTER TABLESPACE语句 272
14.3.2 改变表空间大小 273
14.3.3 改变表空间可用性 275
14.3.4 改变表空间读写性 277
14.3.5 重命名表空间 280
14.3.6 设置默认表空间 281
14.3.7 备份表空间 282
14.4 删除表空间 283
14.5 管理临时表空间 285
14.5.1 临时表空间概述 285
14.5.2 默认临时表空间 285
14.5.3 创建临时表空间 286
14.5.4 临时表空间组 286
14.5.5 收缩本地管理的临时表空间 287
14.6 管理撤销表空间 288
14.6.1 撤销表空间概述 288
14.6.2 创建撤销表空间 290
14.6.3 修改撤销表空间 291
14.6.4 删除撤销表空间 291
14.6.5 切换撤销表空间 292
14.6.6 回退信息保留时间设置 292
14.6.7 查询撤销表空间信息 293
14.7 查询表空间信息 294
14.8 利用OEM管理表空间 296
实践指导 299
第三篇 模式对象篇 302
第15章 表与约束管理 302
15.1 模式与模式对象 302
15.1.1 模式与对象的关系 302
15.1.2 模式与用户的关系 302
15.1.3 CREATE SCHEMA语句 304
15.1.4 创建人力资源管理系统模式 304
15.2 表管理概述 305
15.2.1 表概述 305
15.2.2 表创建策略 305
15.3 创建表 308
15.3.1 CREATE TABLE语句 308
15.3.2 表的存储分配方式设置 310
15.3.3 Oracle数据类型 311
15.3.4 创建标准表 313
15.3.5 创建临时表 314
15.3.6 利用子查询创建表 316
15.4 修改表 318
15.4.1 ALTER TABLE语句 318
15.4.2 添加、修改、删除列 319
15.4.3 修改表参数设置 321
15.4.4 表结构重组 322
15.4.5 手动分配与回收表的存储空间 322
15.4.6 改变表的读写模式 324
15.4.7 重命名表 326
15.5 维护表 326
15.5.1 为表和列添加注释 326
15.5.2 删减表 327
15.5.3 删除表 328
15.5.4 分析表 329
15.5.5 查询表信息 332
15.5.6 利用OEM管理表 333
15.6 约束概述 335
15.6.1 约束的分类 335
15.6.2 约束的定义方式 337
15.6.3 约束的状态 338
15.7 创建与维护约束 338
15.7.1 创建表时定义约束 338
15.7.2 添加、修改与删除约束 341
15.7.3 禁用与激活约束 344
15.7.4 验证约束状态 346
15.7.5 确定违反约束限制的记录 347
15.7.6 延迟约束检查 349
15.7.7 查询约束信息 350
实践指导 351
第16章 索引与索引表管理 352
16.1 索引概述 352
16.1.1 索引的概念与作用 352
16.1.2 索引结构 354
16.1.3 索引的分类 356
16.1.4 索引的管理策略 356
16.2 创建索引 358
16.2.1 CREATE INDEX语句 358
16.2.2 创建非唯一性索引 359
16.2.3 创建唯一性索引 360
16.2.4 创建位图索引 360
16.2.5 创建反序索引 360
16.2.6 创建函数索引 360
16.2.7 定义约束时创建索引 361
16.2.8 创建大型索引 361
16.3 修改索引 362
16.3.1 ALTER INDEX语句 362
16.3.2 修改索引参数设置 363
16.3.3 合并与重建索引 363
16.3.4 禁用与启用函数索引 364
16.3.5 手动分配与回收索引存储空间 365
16.3.6 重命名索引 365
16.3.7 打开与关闭索引监控 365
16.4 维护索引 366
16.4.1 删除索引 366
16.4.2 查询索引信息 367
16.4.3 利用OEM管理索引 368
16.5 索引表概述 369
16.5.1 索引表的概念 369
16.5.2 索引表与标准表比较 369
16.5.3 索引表的优、缺点 370
16.5.4 索引表的溢出存储 370
16.6 创建索引表 371
16.7 维护索引表 372
16.7.1 修改索引表 372
16.7.2 重建索引表 373
16.7.3 将索引表转换为标准表 373
16.7.4 利用OEM管理索引表 373
实践指导 374
第17章 分区表与分区索引管理 376
17.1 分区概述 376
17.1.1 分区的概念 376
17.1.2 分区的优点 376
17.1.3 何时需要分区 377
17.1.4 基本分区方法 377
17.1.5 Oracle 11g分区方法扩展 379
17.1.6 分区索引 381
17.2 创建分区表 382
17.2.1 创建范围分区表 382
17.2.2 创建列表分区表 385
17.2.3 创建散列分区表 386
17.2.4 创建复合分区表 387
17.2.5 创建间隔分区表 389
17.2.6 创建引用分区表 391
17.2.7 创建基于虚拟列的分区表 392
17.2.8 创建系统分区表 392
17.2.9 创建分区索引表 393
17.3 维护分区表 394
17.4 创建分区索引 402
17.4.1 本地分区索引 402
17.4.2 全局分区索引 403
17.5 维护分区索引 404
17.6 查询分区表和分区索引信息 404
17.7 利用OEM管理分区表和分区索引 406
实践指导 408
第18章 视图与实体化视图管理 409
18.1 视图的概念 409
18.2 创建视图 410
18.2.1 CREATE VIEW语句 410
18.2.2 创建简单视图 411
18.2.3 创建复杂视图 411
18.2.4 创建带约束的视图 413
18.2.5 创建内嵌视图 413
18.2.6 创建TOP-N视图 414
18.3 维护视图 414
18.3.1 视图的DML操作 414
18.3.2 修改视图定义 415
18.3.3 删除视图 416
18.3.4 查询视图信息 416
18.3.5 利用OEM管理视图 417
18.4 实体化视图概述 418
18.4.1 实体化视图的概念 418
18.4.2 实体化视图的特性 419
18.4.3 实体化视图的刷新方法 419
18.4.4 实体化视图的刷新模式 420
18.4.5 实体化视图日志 420
18.4.6 实体化视图类型 421
18.4.7 实体化视图的查询重写 421
18.4.8 实体化视图的创建方式 422
18.5 创建实体化视图 422
18.5.1 创建实体化视图的权限需求 422
18.5.2 CREATE MATERIALIZED VIEW语句 422
18.5.3 创建实体化视图示例 423
18.6 维护实体化视图 427
18.6.1 修改实体化视图 427
18.6.2 删除实体化视图 428
18.6.3 查询实体化视图信息 428
18.6.4 利用OEM管理实体化视图 429
实践指导 432
第19章 簇、外部表、序列、同义词与数据库链接管理 433
19.1 簇 433
19.1.1 簇概念 433
19.1.2 簇管理准则 434
19.1.3 创建簇 434
19.1.4 创建聚簇表 435
19.1.5 创建聚簇索引 435
19.1.6 修改簇 436
19.1.7 删除簇 436
19.1.8 查询簇信息 436
19.2 外部表 437
19.2.1 外部表概述 437
19.2.2 创建外部表 437
19.2.3 利用外部表导出数据 440
19.2.4 修改外部表 441
19.2.5 删除外部表 441
19.2.6 查询外部表信息 442
19.3 序列 442
19.3.1 序列的概念 442
19.3.2 创建序列 442
19.3.3 使用序列 443
19.3.4 修改序列 445
19.3.5 删除序列 445
19.3.6 查询序列信息 445
19.3.7 利用OEM管理序列 445
19.4 同义词 446
19.4.1 同义词的概念 446
19.4.2 创建同义词 447
19.4.3 在DML语句中使用同义词 447
19.4.4 删除同义词 447
19.4.5 查询同义词信息 447
19.4.6 利用OEM管理同义词 448
19.5 数据库链接 449
19.5.1 数据库链接概述 449
19.5.2 创建数据库链接 450
19.5.3 在DML中使用数据库链接 451
19.5.4 修改数据库链接 451
19.5.5 删除数据库链接 451
19.5.6 查询数据库链接信息 452
19.5.7 利用OEM管理数据库链接 452
实践指导 453
第四篇 维护篇 456
第20章 数据库创建与配置 456
20.1 创建数据库概述 456
20.1.1 创建数据库的方法 456
20.1.2 创建数据库前的规划 457
20.1.3 创建数据库的先决条件 457
20.2 使用DBCA创建数据库 458
20.3 设置DBA认证方式 462
20.3.1 DBA职责 462
20.3.2 DBA权限 463
20.3.3 DBA认证方式 464
20.3.4 使用操作系统认证 465
20.3.5 使用口令文件认证 466
20.3.6 共享与禁用口令文件 467
20.3.7 修改口令文件 468
20.4 手动创建数据库 468
20.4.1 手动创建数据库的步骤 468
20.4.2 CREATE DATABASE语句 469
20.4.3 手动创建数据库实例 471
实践指导 477
第21章 数据库启动与关闭 478
21.1 数据库启动与关闭概述 478
21.1.1 Oracle数据库启动过程 478
21.1.2 Oracle数据库关闭过程 479
21.1.3 数据库启动与关闭的工具 479
21.2 启动Oracle数据库 479
21.2.1 启动数据库前的准备 479
21.2.2 Oracle数据库启动模式 481
21.3 改变数据库的状态 484
21.3.1 改变数据库的启动模式 484
21.3.2 数据库读写状态转换 484
21.3.3 数据库受限与非受限状态转换 485
21.4 关闭Oracle数据库 486
21.4.1 正常关闭数据库 486
21.4.2 事务关闭数据库 486
21.4.3 立即关闭数据库 487
21.4.4 终止关闭数据库 487
21.4.5 数据库关闭超时 487
实践指导 524
第23章 Oracle数据库安全管理 525
23.1 Oracle数据库安全控制策略 525
23.2 用户管理 526
23.2.1 预定义用户 526
23.2.2 用户属性 527
23.2.3 创建用户 528
23.2.4 用户身份认证 530
23.2.5 修改用户 531
23.2.6 删除用户 533
23.2.7 查询用户信息 534
23.3 资源限制与口令管理 534
23.3.1 资源限制与口令管理概述 534
23.3.2 资源限制参数介绍 536
23.3.3 口令管理参数介绍 537
23.3.4 创建概要文件 537
23.3.5 将概要文件分配给用户 538
23.3.6 修改概要文件 539
23.3.7 删除概要文件 539
23.3.8 查询概要文件信息 540
23.4 权限管理 541
23.4.1 权限概述 541
23.4.2 系统权限分类 541
23.4.3 系统权限的授权 546
23.4.4 系统权限的回收 547
23.4.5 对象权限分类 549
23.4.6 对象权限的授权 551
23.4.7 对象权限的回收 552
23.4.8 查询权限信息 554
23.5 角色管理 556
23.5.1 角色概述 556
24.4 用户管理的脱机备份 587
24.4.1 脱机备份概述 587
24.4.2 脱机完全备份 588
24.4.3 脱机备份表空间与数据文件 589
24.5 用户管理的联机备份 590
24.5.1 联机备份概述 590
24.5.2 联机备份表空间与数据文件 591
24.5.3 备份控制文件 592
24.5.4 备份归档重做日志文件 593
24.5.5 数据库挂起状态备份 594
24.5.6 联机完全备份数据库 595
24.6 Oracle数据库恢复的工作机制 595
24.6.1 数据库恢复原理 595
24.6.2 数据库恢复操作基本步骤 596
24.6.3 数据库恢复分类 596
24.7 数据库恢复的原则与策略 597
24.8 数据库实例恢复过程 598
24.9 非归档模式下的介质恢复 598
24.10 归档模式下的完全介质恢复 600
24.10.1 完全恢复概述 600
24.10.2 数据库关闭状态下的完全恢复 601
24.10.3 数据库打开状态下的完全恢复 602
24.11 归档模式下的不完全介质恢复 603
24.11.1 不完全恢复概述 603
24.11.2 归档模式下不完全恢复步骤 604
24.12 控制文件的恢复 605
24.12.1 丢失多路复用控制文件的一个成员 606
24.12.2 丢失所有当前的控制文件 606
24.12.3 重建控制文件 608
实践指导 609
第25章 基于RMAN的备份与恢复 611
25.1 RMAN概述 611
25.1.1 RMAN介绍 611
25.1.2 RMAN运行环境组件 612
25.1.3 RMAN基本概念 614
25.1.4 RMAN预定义配置参数 616
25.2 RMAN基本操作 617
25.2.1 连接数据库 617
25.2.2 创建恢复目录 618
25.2.3 注册数据库 618
25.2.4 启动与关闭数据库 619
25.2.5 执行SQL语句 619
25.2.6 SHOW命令 620
25.2.7 CONFIGURE命令 620
25.2.8 LIST命令 620
25.2.9 REPORT命令 621
25.2.10 用RMAN执行操作系统命令 621
25.3 RMAN备份的基本概念 621
25.3.1 RMAN备份对象 621
25.3.2 RMAN备份形式 622
25.3.3 RMAN备份类型 623
25.3.4 增量备份的工作机制 624
25.3.5 复合备份集 625
25.3.6 多副本备份 626
25.3.7 并行备份 627
25.4 通道分配 628
25.4.1 自动分配通道 628
25.4.2 手动分配通道 629
25.5 利用RMAN备份数据库 630
25.5.1 BACKUP命令 630
25.5.2 备份文件存储格式 632
25.5.3 备份整个数据库 633
25.5.4 备份表空间 635
25.5.5 备份数据文件 636
25.5.6 备份控制文件 636
25.5.7 备份服务器初始化参数文件 637
25.5.8 备份归档重做日志文件 638
25.5.9 非归档模式下的备份 639
25.5.10 多副本备份 640
25.5.11 增量备份 641
25.5.12 镜像复制 642
25.6 利用RMAN恢复数据库 644
25.6.1 RMAN恢复的基本概念 644
25 6.2 RESTOER与RECOVER命令 645
25.6.3 利用RMAN进行完全恢复 647
25.6.4 利用RMAN进行不完全恢复 649
25.6.5 控制文件的恢复 650
25.6.6 将数据文件恢复到新的位置 652
实践指导 654
第26章 Oracle数据库逻辑备份与恢复 656
26.1 逻辑备份与恢复概述 656
26.1.1 逻辑备份与恢复简介 656
26.1.2 数据泵技术介绍 657
26.2 创建目录对象 657
26.3 使用EXPDP导出数据 658
26.3.1 EXPDP调用模式与导出模式 658
26.3.2 EXPDP命令参数与交互式命令 659
26.3.3 EXPDP导出实例 664
26.4 使用IMPDP导入数据 665
26.4.1 IMPDP调用接口与导入模式 665
26.4.2 IMPDP命令参数与交互式命令 666
26.4.3 IMPDP导入实例 671
26.5 使用EXP/IMP导出与导入数据 673
26.5.1 EXP/IMP概述 673
26.5.2 利用EXP导出数据 674
26.5.3 利用IMP导入数据 676
实践指导 678
第27章 Oracle数据库闪回技术 679
27.1 闪回技术概述 679
27.1.1 闪回技术介绍 679
27.1.2 闪回特性分类 679
27.2 闪回查询 680
27.2.1 闪回查询概述 680
27.2.2 撤销表空间相关参数配置 681
27.2.3 闪回查询操作 681
27.3 闪回版本查询 684
27.3.1 闪回版本查询概述 684
27.3.2 闪回版本查询操作 685
27.4 闪回事务查询 687
27.4.1 闪回事务查询概述 687
27.4.2 闪回事务查询操作 688
27.5 闪回表 690
27.5.1 闪回表概述 690
27.5.2 闪回表操作 691
27.6 闪回删除 692
27.6.1 闪回删除概述 692
27.6.2 回收站的管理 693
27.6.3 闪回删除操作 695
27.7 闪回数据库 695
27.7.1 闪回数据库概述 695
27.7.2 快速恢复区的配置 696
27.7.3 闪回数据库的配置 698
27.7.4 闪回数据库操作 699
27.8 闪回数据归档 700
27.8.1 闪回数据归档概念 700
27.8.2 闪回数据归档区的管理 701
27.8.3 启用或禁用表的闪回数据归档 703
27.8.4 闪回数据归档操作示例 703
实践指导 705
第28章 使用OEM备份与恢复数据库 706
28.1 利用OEM备份与恢复数据库概述 706
28.2 物理备份数据库 706
28.2.1 配置备份设置 706
28.2.2 备份数据库 708
28.2.3 管理数据库备份 709
28.3 物理恢复数据库 710
28.3.1 配置恢复设置 710
28.3.2 恢复数据库 712
28.4 逻辑备份与恢复数据库 713
28.4.1 创建目录对象 713
28.4.2 数据导出 714
28.4.3 数据导入 715
实践指导 717
第29章 Oracle数据库性能优化 718
29.1 数据库性能优化概述 718
29.1.1 数据库性能优化的必要性 718
29.1.2 影响数据库系统性能的因素 718
29.1.3 数据库性能优化的步骤 719
29.2 数据库实例性能优化 719
29.2.1 内存结构优化概述 720
29.2.2 数据缓冲区调整 721
29.2.3 共享池调整 724
29.2.4 重做日志缓冲区调整 727
29.2.5 PGA调整 727
29.2.6 数据库碎片整理 728
29.2.7 磁盘I/O优化与调整 729
29.3 SQL语句优化 729
29.3.1 SQL语句优化概述 729
29.3.2 SQL语句执行过程 732
29.3.3 将常用程序驻留内存 732
29.3.4 有效使用索引 734
29.3.5 采用适当的多表连接技术 735
29.3.6 SQL语句使用技巧 736
29.4 其他方面性能优化 736
29.4.1 网络优化 736
29.4.2 应用程序优化 737
实践指导 738
第五篇 开发篇 740
第30章 SQL语言应用基础 740
30.1 SQL语言概述 740
30.1.1 SQL语言介绍 740
30.1.2 SQL语言的分类 740
30.1.3 SQL语言的特点 741
30.2 数据查询 741
30.2.1 数据查询的基本语法 741
30.2.2 简单查询 742
30.2.3 分组统计查询 747
30.2.4 累计统计查询 753
30.2.5 连接查询 754
30.2.6 子查询 759
30.2.7 层次查询 762
30.2.8 集合操作 764
30.3 数据操纵 766
30.3.1 插入数据 766
30.3.2 修改数据 771
30.3.3 MERGE语句 772
30.3.4 删除数据 774
30.4 事务控制 774
30.4.1 事务概述 774
30.4.2 Oracle事务处理 775
30.5 SQL函数 777
30.5.1 SQL函数分类 777
30.5.2 数值函数 777
30.5.3 字符函数 779
30.5.4 日期函数 781
30.5.5 转换函数 783
30.5.6 其他函数 786
实践指导 788
第31章 PL/SQL程序设计基础 790
31.1 PL/SQL概述 790
31.1.1 PL/SQL特点 790
31.1.2 PL/SQL功能特性 791
31.1.3 PL/SQL执行过程与开发工具 791
31.2 PL/SQL基础 792
31.2.1 PL/SQL程序结构 792
31.2.2 词法单元 794
31.2.3 数据类型 796
31.2.4 变量与常量 799
31.2.5 PL/SQL记录 800
31.2.6 编译指示 803
31.2.7 PL/SQL中的SQL语句 803
31.3 控制结构 806
31.3.1 选择结构 806
31.3.2 循环结构 809
31.9.5 变异表触发器 854
31.9.6 触发器的管理 856
实践指导 857
第32章 PL/SQL高级程序设计 859
32.1 集合 859
32.1.1 索引表 859
32.1.2 嵌套表 863
32.1.3 可变数组 866
32.1.4 集合类型在数据库中的应用 868
32.2 批绑定 870
32.2.1 批绑定概述 870
32.2.2 批DML操作 871
32.2.3 批查询 875
32.2.4 批绑定属性 876
32.3 动态SQL 877
32.3.1 动态SQL概述 877
32.3.2 动态非查询语句及单行查询语句 878
32.3.3 动态多行查询语句 882
32.3.4 动态批绑定 884
32.4 利用PL/SQL实现分页查询 886
32.4.1 利用集合实现分页查询 887
32.4.2 利用游标变量实现分页查询 889
32.4.3 分页查询在Java开发中的应用 891
实践指导 892