第一部分 Oracle入门 2
第1章 基础知识 2
1.1 数据库系统 2
1.1.1 数据库系统的概念 2
1.1.2 数据库系统的硬件 3
1.1.3 数据库系统的软件 3
1.2 关系数据库 3
1.2.1 关系数据库的特征 3
1.2.2 关系数据库的逻辑模型 4
1.2.3 关系数据库的实现 5
1.3 Oracle数据库的特点 5
1.4 OCP考试 6
第2章 安装Oracle服务器 8
2.1 安装方法:使用Universal Installer 8
2.1.1 安装系统需求 8
2.1.2 安装准备工作 10
2.1.3 选择安装环境 11
2.2 安装数据库服务器 13
2.2.1 企业版安装 14
2.2.2 自定义安装 19
2.2.3 安装考虑事项 20
2.3 安装客户机 21
2.4 后期处理工作 24
2.4.1 查看系统服务 25
2.4.2 操作系统安全设置 25
第3章 创建数据库 28
3.1 准备工作 28
3.1.1 规划数据库 28
3.1.2 检查系统资源和配置 29
3.1.3 确定数据库创建方式 29
3.2 OFA特性 30
3.3 创建数据库:使用DBCA 31
3.3.1 选择数据库模板 32
3.3.2 配置和创建数据库 34
3.3.3 管理数据库模板 40
3.4 后期处理工作 41
3.4.1 默认的数据库用户账户和口令 41
3.4.2 默认的表空间与数据文件 43
3.4.3 默认的初始化参数文件 43
3.4.4 默认的控制文件与重做日志文件 44
3.5 设置DBA认证方式 44
3.5.1 特殊系统权限:SYSDBA和SYSOPER 44
3.5.2 选择DBA认证方式 45
3.5.3 使用操作系统认证方式 46
3.5.4 使用口令文件认证方式 47
3.5.5 管理口令文件 48
3.6.3 创建初始化参数文件 50
3.6.2 确定DBA认证方式 50
3.6 手工创建数据库 50
3.6.1 确定全局数据库名与实例名 50
3.6.4 连接和启动实例 52
3.6.5 创建数据库 52
3.6.6 创建附加的表空间 55
3.6.7 创建数据字典视图 55
3.7 使用服务器端初始化参数文件 56
3.7.1 服务器端初始化参数文件的概念 56
3.6.8 创建服务器端参数文件 56
3.7.2 创建服务器端初始化参数文件 57
3.7.3 ALTER SYSTEM语句的影响范围 58
3.7.4 导出服务器端初始化参数文件 59
3.7.5 查看初始化参数的设置 60
3.8 创建数据库的初始化参数 60
3.8.1 设置初始化参数的基本规则 60
3.8.2 指定全局数据库名和SID 61
3.8.4 指定数据库块的大小 62
3.8.3 指定控制文件 62
3.8.5 指定与SGA区相关的参数 63
3.8.6 指定最大并发进程数 64
3.8.7 指定撤销空间的管理方式 64
3.9 习题 65
第4章 启动和关闭数据库 67
4.1 启动数据库与实例 67
4.1.1 启动数据库的步骤 67
4.1.2 启动数据库的工具 68
4.1.3 启动数据库的准备 68
4.1.4 指定初始化参数文件 69
4.1.5 进入启动模式 70
4.1.6 转换启动模式 72
4.1.7 切换受限和只读状态 72
4.1.8 强行启动数据库 73
4.2.2 正常关闭方式(NORMAL) 74
4.2 关闭数据库与实例 74
4.2.1 数据库的关闭步骤 74
4.2.3 立即关闭方式(IMMEDIATE) 75
4.2.4 事务关闭方式(TRANSACTIONAL) 75
4.2.5 终止关闭方式(ABORT) 76
4.3 进入和查询特殊状态 77
4.3.1 静默状态 77
4.3.2 挂起状态 78
4.4 启动和关闭数据库 80
4.4.1 启动控制台 80
4.4.2 选择和连接数据库 80
4.4.3 启动和关闭数据库 81
4.5 启动和关闭数据库服务 83
4.5.1 Oracle系统服务 83
4.5.2 启动数据库服务 84
4.5.4 设置服务启动类型 85
4.5.3 关闭数据库服务 85
4.6 习题 86
第二部分 Oracle体系结构 89
第5章 Oracle存储结构 89
5.1 逻辑存储结构概述 89
5.1.1 逻辑结构单元类型 89
5.1.2 逻辑结构单元关系 90
5.2.2 块的结构 91
5.2.1 块的概念 91
5.2 块的管理 91
5.2.3 块的存储空间管理 93
5.3 区的管理 96
5.3.1 区的概念 96
5.3.2 区的分配方式 97
5.3.3 区的存储空间分配算法 99
5.4.2 段的类型 100
5.4.1 段的概念 100
5.4 段的管理 100
5.3.4 区的回收 100
5.4.3 自动撤销管理 106
5.5 物理存储结构概述 108
5.6 表空间 109
5.6.1 表空间的概念 109
5.6.2 特殊类型的表空间 109
5.6.3 多个表空间的优势 111
5.6.4 表空间的存储管理方式 112
5.6.5 联机表空间与脱机表空间 114
5.7 数据文件 115
5.7.1 数据文件的概念 115
5.7.2 脱机和临时数据文件 116
5.8 控制文件 116
5.8.1 控制文件的概念 116
5.9.1 重做日志文件的概念 117
5.8.2 复合控制文件 117
5.9 重做日志文件 117
5.9.2 重做记录 118
5.9.3 写入重做日志文件 118
5.9.4 复合重做日志文件 120
5.9.5 归档重做日志 121
5.10 数据字典 124
5.10.1 数据字典的概念 124
5.10.2 数据字典的结构 125
5.10.3 数据字典的Oracle使用方式 125
5.10.4 数据字典的用户使用方式 125
5.10.5 V$动态性能表 126
5.11 习题 127
6.1 Oracle软件结构 129
6.1.1 实例的概念 129
第6章 Oracle软件结构 129
6.1.2 实例的组成 130
6.2 实例内存结构 130
6.2.1 实例内存结构的数据 130
6.2.2 实例内存结构的组成 130
6.3 SGA区 131
6.3.1 设置SGA区 131
6.3.2 设置数据库缓存 133
6.3.3 设置重做日志缓存 136
6.3.4 设置共享池 136
6.3.5 设置大型池 138
6.4 PGA区 138
6.4.1 PGA区基础 138
6.4.2 设置SQL工作区 139
6.4.3 查询PGA区 141
6.5 实例进程结构 141
6.5.2 用户进程 142
6.5.1 进程类型 142
6.5.3 Oracle进程 143
6.6 后台进程 144
6.6.1 DBWR (数据库写进程) 145
6.6.2 LGWR (日志写进程) 146
6.6.3 CKPT (检查点进程) 148
6.6.4 SMON (系统监视进程) 149
6.6.5 PMON (进程监视进程) 150
6.6.6 PECO (恢复进程) 150
6.6.7 ARCn (归档进程) 150
6.6.8 Dnnn (调度进程) 151
6.7 数据库操作模式 151
6.7.1 专用服务器操作模式 151
6.7.2 共享服务器操作模式 153
6.7.4 调试进程 155
6.7.3 服务进程 155
6.8 习题 156
第7章 数据库模式对象 158
7.1 模式 158
7.1.1 模式的概念 158
7.1.2 模式对象的类型 159
7.1.3 非模式对象的类型 159
7.1.4 区分模式与用户 159
7.1.5 选择和切换模式 160
7.2 表 161
7.2.1 表结构 161
7.2.2 数据存储方式 163
7.2.3 ROWID 164
7.2.4 数据完整性约束 166
7.3 视图 167
7.3.1 视图基础 167
7.3.2 查询视图 168
7.3.3 更新视图 169
7.3.4 内嵌视图 170
7.4 索引 171
7.4.1 索引基础 171
7.4.2 索引类型 172
7.4.3 复合索引 176
7.5 索引化表 177
7.5.1 索引化表的概念 177
7.5.2 索引化表与普通表的区别 178
7.5.3 索引化表的优点及使用 178
7.5.4 索引化表的溢出存储 179
7.6 其他模式对象 180
7.6.1 簇 180
7.6.2 序列 181
7.6.3 同义词 181
7.6.4 PL/SQL存储过程和存储函数 182
7.6.6 分区表和索引 183
7.6.5 触发器 183
7.7 习题 184
第8章 数据库保护与安全 187
8.1 数据并发性和一致性 187
8.1.1 并发性与一致性的概念 187
8.1.2 理解隔离等级 187
8.1.3 设置隔离等级 190
8.1.4 选择隔离等级 190
8.1.5 锁机制 190
8.2 数据完整性 191
8.2.1 数据完整性的概念 191
8.2.2 完整性规则 192
8.2.3 完整性约束 192
8.2.4 约束检查机制 198
8.2.5 约束检查延迟 199
8.3.1 用户身份认证方式 200
8.3 数据库访问控制 200
8.3.3 PUBLIC用户组 202
8.3.2 用户表空间 202
8.3.4 用户资源限制 203
8.3.5 概要文件 204
8.4 权限与角色 205
8.4.1 权限 205
8.4.2 角色 207
8.5 数据库审计 208
8.5.1 审计的作用 208
8.5.2 审计的类型 208
8.5.3 审计追踪记录 208
8.6 习题 209
9.1 OEM的体系结构 212
9.1.1 三层体系结构 212
第9章 OEM基础 212
第三部分 DBA架构与管理基础 212
9.1.2 OEM布置策略 215
9.2 配置和管理OMS 216
9.2.1 EMCA基础 216
9.2.2 安装OMS 218
9.2.3 配置OMS使用资料档案库 219
9.2.4 删除资料档案库 226
9.2.5 启动本地OMS服务 229
9.2.6 查看OMS服务状态 230
9.2.7 停止本地OMS服务 232
9.3 使用控制台:独立方式 233
9.3.1 控制台概述 233
9.3.2 以独立方式启动控制台 234
9.3.3 为独立控制台添加数据库 235
9.3.4 创建独立资料档案库 236
9.4.1 以连接到OMS方式启动控制台 241
9.4 使用控制台:连接到OMS方式 241
9.4.2 为控制台搜索管理节点 243
9.4.3 配置OEM报告服务 246
9.5 管理OEM管理员账户 247
9.5.1 OEM超级管理员与一般管理员 247
9.5.2 创建管理员帐户 248
9.5.3 设置目标访问权 249
9.5.4 设置首选项 250
9.6 利用Web浏览器启动控制台 251
9.6.1 客户端配置 252
9.6.2 服务器配置 252
9.6.3 启动控制台 253
9.6.4 配置Apache 254
9.7 习题 255
10.1.1 设置共享服务器操作模式 257
10.1 管理服务器操作模式 257
第10章 管理进程和会话 257
10.1.2 设置共享连接初始化参数 260
10.1.3 指定初始启动的调度进程数量 260
10.1.4 指定初始启动的服务进程数量 261
10.1.5 增加调度进程 262
10.1.6 终止调度进程 262
10.1.7 改变服务进程数量 263
10.1.8 查询共享服务器环境信息 263
10.2 监视进程状态 265
10.2.1 跟踪文件和警告文件的概念 265
10.2.2 使用跟踪文件和警告文件 266
10.2.3 跟踪文件和警告文件的存储位置 266
10.3 管理用户会话 267
10.3.1 管理用户的目的 267
10.3.2 查看用户会话信息 267
10.3.3 中止会话 268
10.3.4 用控制台管理会话 269
10.4 管理事务 270
10.4.1 事务的基本概念 270
10.4.2 语句级回退事务 272
10.4.3 开始和结束事务 272
10.4.4 提交事务 272
10.4.5 回退事务 273
10.5 习题 275
第11章 管理控制文件和重做日志文件 277
11.1 管理控制文件 277
11.1.1 控制文件管理策略 277
11.1.2 创建复合控制文件 278
11.1.3 创建新的控制文件 279
11.1.4 备份控制文件 281
11.1.6 查询控制文件信息 282
11.1.5 删除控制文件 282
11.1.7 用控制台管理控制文件 284
11.2 管理重做日志 285
11.2.1 重做日志管理策略 285
11.2.2 创建重做日志组 287
11.2.3 创建成员日志文件 287
11.2.4 改变重做日志文件名称和位置 288
11.2.5 删除重做日志组 289
11.2.6 删除成员日志文件 289
11.2.7 手工日志切换 290
11.2.8 清空重做日志组 291
11.2.9 用控制台管理重做日志 291
11.2.10 查询重做日志文件信息 294
11.3 管理数据库归档模式 295
11.3.1 设置初始归档模式 295
11.3.2 改变数据库归档模式 295
11.3.4 禁用自动归档功能 296
11.3.3 启用自动归档功能 296
11.3.5 执行手工归档操作 297
11.3.6 设置归档目标 297
11.3.7 指定归档目标的状态 299
11.3.8 设置可选或强制归档目标 300
11.3.9 设置归档进程的跟踪级别 300
11.3.10 管理归档的控制台方法 301
11.3.11 查询归档信息 302
11.4 日志分析 304
11.4.1 LogMiner工具概述 304
11.4.2 创建LogMiner字典文件 305
11.4.3 指定分析的日志文件 305
11.4.4 运行LogMiner 306
11.4.5 查看分析结果 307
11.4.7 日志分析实例 308
11.4.6 结束LogMiner 308
11.5 习题 310
第12章 管理表空间和数据文件 313
12.1 创建表空间 313
12.1.1 表空间创建方式 313
12.1.2 创建字典管理方式的表空间 314
12.1.3 创建本地管理方式的表空间 317
12.1.4 创建临时表空间 319
12.1.5 利用控制台创建表空间 321
12.2 管理表空间 323
12.2.1 表空间管理策略 323
12.2.2 设置表空间默认存储参数 324
12.2.3 产生和合并存储碎片 325
12.2.4 监视存储碎片状态 327
12.2.5 改变表空间可用性 328
12.2.6 设置只读表空间 330
12.2.8 利用控制台管理表空间 332
12.2.7 删除表空间 332
12.2.9 查询表空间信息 335
12.3 管理数据文件 338
12.3.1 数据文件管理策略 338
12.3.2 添加表空间数据文件 339
12.3.3 改变数据文件大小 340
12.3.4 改变数据文件可用性 342
12.3.5 改变数据文件名称和位置 342
12.3.6 利用控制台管理数据文件 344
12.3.7 查询数据文件信息 346
12.4 习题 348
第13章 管理撤销空间 351
13.1 设置撤销空间管理的方式 351
13.1.1 撤销空间管理基础 351
13.1.2 自动撤销管理 352
13.2.1 创建撤销表空间 353
13.2 创建和管理撤销表空间 353
13.1.3 手工撤销管理 353
13.2.2 修改撤销表空间 354
13.2.3 删除撤销表空间 355
13.2.4 切换撤销表空间 355
13.2.5 控制撤销记录保留时间 356
13.2.6 避免“快照太阳”错误 356
13.2.7 利用控制台管理撤销表空间 357
13.2.8 查询撤销表空间信息 358
13.3 管理回退段 359
13.3.1 回退段管理策略 360
13.3.2 创建回退段 362
13.3.3 更改回退段的存储参数 363
13.3.4 缩减回退段 364
13.3.5 更改回退段的可用性 364
13.3.6 显式分配回退段 365
13.3.7 删除回退段 365
13.3.8 利用控制台管理回退段 366
13.3.9 查询回退段信息 367
13.4 习题 369
第14章 管理模式对象——表与约束 371
14.1 创建表 371
14.1.1 表创建策略 371
14.1.2 创建表:CREATE TABLE语句 373
14.1.3 指定表空间:TABLESPACE子句 375
14.1.4 指定表存储参数:STORAGE子句 375
14.1.5 指定块空间管理参数:PCTFREE、PCTUSED、INITRANS和MAXTRANS 377
14.1.6 指定重做日志文件:LOGGING子句 380
14.1.7 指定并行处理服务进程:PARALLEL子句 380
14.1.8 指定缓存:CACHE子句 381
14.1.9 创建临时表:CREATE GLOBAL TEMPORARY TABLE语句 381
14.1.10 利用控制台创建表 381
14.2.1 增加和删除字段 386
14.2 修改表 386
14.2.2 修改表参数设置 387
14.2.3 重建表存储结构 388
14.2.4 手工分配表存储空间 388
14.2.5 手工回收表存储空间 389
14.2.6 删减表 392
14.2.7 删除表 394
14.2.8 分析表 394
14.2.9 重命名表 398
14.2.10 自动收集表信息 399
14.2.11 利用控制台修改表 399
14.2.12 查询表信息 402
14.3 定义和管理约束 402
14.3.1 定义约束 402
14.3.2 添加和删除约束 408
14.3.3 禁用和激活约束 409
14.3.4 验证约束 411
14.3.5 检查延迟约束 412
14.3.6 保存违反约束的记录 413
14.3.7 利用控制台创建和修改约束 414
14.3.8 查询约束信息 416
14.4 习题 417
第15章 管理其他模式对象 420
15.1 创建索引和索引化表 420
15.1.1 索引创建策略 420
15.1.2 指定索引选项 422
15.1.3 创建B树索引 423
15.1.4 创建位图索引 424
15.1.5 创建反序索引 424
15.1.6 创建函数索引 424
15.1.7 创建索引化表(IOT) 425
15.1.8 设置溢出存储 426
15.1.9 定义约束时创建索引 428
15.1.10 利用控制台创建索引 429
15.2 修改索引和索引化表 431
15.2.1 修改索引存储参数 432
15.2.2 合并索引 432
15.2.3 重建索引 433
15.2.4 监视索引 433
15.2.5 删除索引 434
15.2.6 维护索引化表 434
15.2.7 查询排序:ORDER BY 436
15.2.8 利用控制台修改索引 436
15.2.9 查询索引信息 437
15.3 创建分区表和分区索引 437
15.3.1 分区的概念 437
15.3.2 确定是否分区 438
15.3.3 创建分区表 438
15.3.4 建立分区表索引 444
15.3.5 管理和维护分区表 446
15.4 创建和管理其他模式对象 447
15.4.1 创建簇和聚簇表 448
15.4.2 创建聚簇索引 449
15.4.3 修改簇 449
15.4.4 创建视图 450
15.4.5 判断视图可更新字段 452
15.4.6 查看视图可更新字段 455
15.4.7 重定义视图 456
15.4.8 删除视图 456
15.4.9 创建序列 457
15.4.10 修改序列 458
15.4.11 创建同义词 458
15.4.12 删除同义词 459
15.4.13 查询簇、视图、序列和同义词信息 459
15.5 习题 460
第16章 数据库安全管理 462
16.1 管理概要文件 462
16.1.1 资源限制参数 462
16.1.2 激活和禁用资源限制 463
16.1.3 设置组合资源限制 464
16.1.4 口令策略参数 465
16.1.5 验证口令复杂度 466
16.1.6 创建概要文件 466
16.1.7 指定概要文件 467
16.1.8 修改概要文件 467
16.1.9 删除概要文件 468
16.1.10 利用控制台管理概要文件 468
16.1.11 查看概要文件信息 470
16.2 管理用户 471
16.2.1 用户属性 471
16.2.2 创建用户 472
16.2.3 修改用户 473
16.2.4 删除用户 474
16.2.5 操作系统认证方式 475
16.2.6 利用控制台管理用户 475
16.2.7 查看用户信息 477
16.3 管理权限和角色 477
16.3.1 系统权限 478
16.3.2 对象权限 481
16.3.3 数据字典保护 482
16.3.4 预定义角色 484
16.3.5 创建角色 484
16.3.6 授予权限或角色 485
16.3.7 回收权限或角色 487
16.3.8 激活与禁用角色 488
16.3.9 利用控制台管理权限和角色 490
16.3.10 查看权限和角色信息 491
16.4 习题 493
附录 习题解答 496
附1 第3章习题解答 496
附2 第4章习题解答 497
附3 第5章习题解答 497
附4 第6章习题解答 498
附5 第7章习题解答 499
附6 第8章习题解答 500
附7 第9章习题解答 501
附8 第10章习题解答 502
附9 第11章习题解答 503
附10 第12章习题解答 504
附11 第13章习题解答 506
附12 第14章习题解答 506
附13 第15章习题解答 508
附14 第16章习题解答 509