第1章 Oracle 12c数据库安装与配置 1
1.1 安装准备 1
1.1.1 软件与硬件需求 1
1.1.2 注意事项 1
1.2 安装Oracle 12c数据库服务器 1
1.3 检查数据库服务器的安装结果 11
1.3.1 已安装的Oracle产品 11
1.3.2 系统服务 11
1.3.3 文件体系结构 12
1.3.4 网络配置 13
1.4 Oracle 12c客户端的安装与配置 14
1.5 卸载Oracle 12c产品 16
练习题1 16
第2章 Oracle数据库管理与开发工具 17
2.1 Oracle企业管理器 17
2.1.1 Oracle企业管理器简介 17
2.1.2 启动EM Database Express 17
2.1.3 EM Database Express功能介绍 18
2.2 SQL*Plus 19
2.2.1 SQL*Plus简介 19
2.2.2 启动SQL*Plus 20
2.2.3 SQL*Plus常用命令 21
2.3 SQL Developer 24
2.3.1 SQL Developer简介 24
2.3.2 创建数据库连接 25
2.3.3 SQL Developer基本操作 26
2.4 网络配置与管理工具 27
2.4.1 网络配置助手 27
2.4.2 网络管理工具 27
练习题2 29
第3章 Oracle数据库系统结构 30
3.1 Oracle数据库系统结构概述 30
3.2 Oracle数据库存储结构 30
3.2.1 存储结构概述 30
3.2.2 物理存储结构概述 31
3.2.3 逻辑存储结构概述 32
3.3 Oracle数据库内存结构 33
3.3.1 Oracle内存结构概述 33
3.3.2 系统全局区(SGA) 34
3.3.3 程序全局区(PGA) 36
3.3.4 自动内存管理 36
3.4 Oracle数据库后台进程 38
3.4.1 Oracle进程概述 38
3.4.2 Oracle后台进程 38
3.5 数据字典 40
3.5.1 数据字典概述 40
3.5.2 数据字典的结构 41
3.5.3 数据字典的使用 42
练习题3 43
第4章 案例数据库的创建与客户端的连接 46
4.1 案例数据库分析与设计 46
4.1.1 案例数据库的分析 46
4.1.2 案例数据库概念结构设计 46
4.1.3 案例数据库逻辑结构设计 46
4.2 案例数据库的创建 50
4.3 客户端与案例数据库的连接配置 52
练习题4 54
第5章 数据库存储设置与管理 55
5.1 数据库存储设置与管理概述 55
5.2 表空间的设置与管理 55
5.2.1 表空间介绍 55
5.2.2 创建表空间 56
5.2.3 修改表空间大小 57
5.2.4 修改表空间的可用性 58
5.2.5 修改表空间的读写性 59
5.2.6 设置默认表空间 59
5.2.7 表空间的备份 59
5.2.8 删除表空间 60
5.2.9 查询表空间信息 60
5.3 数据文件的设置与管理 61
5.3.1 数据文件介绍 61
5.3.2 创建数据文件 61
5.3.3 修改数据文件的大小 61
5.3.4 改变数据文件的可用性 61
5.3.5 改变数据文件的名称或位置 62
5.3.6 查询数据文件信息 63
5.4 控制文件的设置与管理 63
5.4.1 控制文件介绍 63
5.4.2 创建控制文件 64
5.4.3 添加多路复用控制文件 65
5.4.4 备份控制文件 65
5.4.5 删除控制文件 66
5.4.6 查询控制文件信息 66
5.5 重做日志文件设置与管理 66
5.5.1 重做日志文件介绍 66
5.5.2 查询重做日志文件信息 67
5.5.3 创建重做日志文件组及其成员 67
5.5.4 重做日志文件切换 68
5.5.5 修改重做日志文件的名称或位置 68
5.5.6 删除重做日志文件组及其成员 69
5.6 归档日志文件设置与管理 69
5.6.1 归档日志文件介绍 69
5.6.2 数据库归档模式的设置 70
5.6.3 归档目标设置 71
5.6.4 查询归档信息 71
练习题5 72
第6章 数据库对象的创建与管理 76
6.1 Oracle数据库对象概述 76
6.1.1 模式的概念 76
6.1.2 案例数据库模式的创建 76
6.2 表的创建与管理 77
6.2.1 利用CREATE TABLE语句创建表 77
6.2.2 案例数据库中表的创建 80
6.2.3 向案例数据库表导入初始数据 81
6.2.4 利用子查询创建表 82
6.2.5 修改表 82
6.2.6 修改约束 83
6.2.7 查询表 84
6.2.8 删除表 84
6.3 索引的创建与管理 85
6.3.1 索引概述 85
6.3.2 使用CREATE INDEX语句创建索引 86
6.3.3 案例数据库中索引的创建 86
6.3.4 删除索引 87
6.3.5 查询索引 87
6.4 视图的创建与管理 88
6.4.1 视图概述 88
6.4.2 使用CREATE VIEW语句创建视图 88
6.4.3 案例数据库中视图的创建 89
6.4.4 视图操作的限制 89
6.4.5 修改视图定义 90
6.4.6 删除视图 90
6.4.7 查询视图信息 90
6.5 序列 90
6.5.1 序列的概念 90
6.5.2 使用CREATE SEQUENCE语句创建序列 91
6.5.3 案例数据库中序列的创建 91
6.5.4 序列的使用 92
6.5.5 修改序列 92
6.5.6 查看序列信息 93
6.5.7 删除序列 93
6.6 分区表与分区索引 93
6.6.1 分区的概念 93
6.6.2 分区方法 93
6.6.3 创建分区表 94
6.6.4 创建分区索引 100
6.7 其他对象 101
6.7.1 临时表 101
6.7.2 外部表 102
6.7.3 索引组织表 105
练习题6 106
第7章 数据操纵与事务处理 109
7.1 数据插入 109
7.1.1 利用INSERT INTO语句插入数据 109
7.1.2 利用子查询插入数据 109
7.1.3 向多个表中插入数据 110
7.2 数据修改 113
7.3 数据合并 113
7.4 数据删除 115
7.5 事务控制 115
7.5.1 事务概念 115
7.5.2 Oracle事务的隔离级别 116
7.5.3 Oracle事务处理 116
练习题7 117
第8章 数据查询 119
8.1 SELECT语句介绍 119
8.2 简单查询 119
8.2.1 无条件查询 119
8.2.2 有条件查询 120
8.2.3 查询排序 122
8.2.4 查询统计 123
8.3 分组查询 124
8.4 多表查询 125
8.4.1 交叉连接 125
8.4.2 内连接 126
8.4.3 外连接 127
8.5 子查询 129
8.5.1 无关子查询 129
8.5.2 相关子查询 130
8.5.3 FROM子句中的子查询 130
8.5.4 DDL语句中的子查询 131
8.5.5 使用WITH子句的子查询 131
8.6 合并操作 131
8.6.1 并集运算 132
8.6.2 交集运算 132
8.6.3 差集运算 133
8.7 层次查询 133
8.8 TOP-N查询 135
8.9 SQL内置函数 136
8.9.1 数值函数 137
8.9.2 字符函数 138
8.9.3 日期函数 139
8.9.4 转换函数 140
8.9.5 其他函数 140
练习题8 142
第9章 PL/SQL语言基础 146
9.1 PL/SQL语言简介 146
9.2 PL/SQL程序结构 146
9.3 词法单元 147
9.4 数据类型、变量与常量 149
9.4.1 数据类型 149
9.4.2 变量与常量 150
9.5 PL/SQL程序中的SQL语句 151
9.6 控制结构 152
9.6.1 选择结构 152
9.6.2 循环结构 154
9.6.3 跳转结构 155
9.7 游标 155
9.7.1 游标的概念与分类 155
9.7.2 显式游标操作过程 156
9.7.3 显式游标属性 157
9.7.4 显式游标的检索 157
9.7.5 隐式游标 159
9.7.6 游标变量 160
9.8 异常处理 161
9.8.1 异常概述 161
9.8.2 异常处理过程 162
9.8.3 异常的传播 165
练习题9 165
第10章 PL/SQL程序开发 167
10.1 存储过程 167
10.1.1 创建存储过程 167
10.1.2 调用存储过程 168
10.1.3 案例数据库中存储过程的创建 169
10.2 函数 170
10.2.1 创建函数 170
10.2.2 调用函数 172
10.2.3 案例数据库中函数的创建 172
10.3 包 173
10.3.1 创建包 173
10.3.2 调用包 175
10.4 触发器 175
10.4.1 触发器概述 175
10.4.2 DML触发器概述 175
10.4.3 创建DML触发器 176
10.4.4 变异表触发器 178
10.4.5 案例数据库触发器的创建 179
练习题10 180
第11章 数据库启动与关闭 183
11.1 数据库启动与关闭概述 183
11.1.1 数据库启动与关闭的步骤 183
11.1.2 数据库启动的准备 184
11.2 在SQL*Plus中启动与关闭数据库 185
11.2.1 在SQL*Plus中启动数据库 185
11.2.2 在SQL*Plus中关闭数据库 187
11.2.3 数据库状态转换 188
11.3 Windows系统中数据库的自动启动 188
练习题11 189
第12章 安全管理 191
12.1 用户管理 191
12.1.1 用户管理概述 191
12.1.2 创建用户 192
12.1.3 修改用户 193
12.1.4 用户的锁定与解锁 193
12.1.5 删除用户 194
12.1.6 查询用户信息 194
12.2 权限管理 194
12.2.1 权限管理概述 194
12.2.2 系统权限的授予与回收 195
12.2.3 对象权限的授予与回收 196
12.2.4 查询权限信息 197
12.3 角色管理 198
12.3.1 角色概念 198
12.3.2 系统预定义角色 198
12.3.3 自定义角色 199
12.3.4 利用角色进行权限管理 200
12.3.5 查询角色信息 200
12.4 概要文件管理 201
12.4.1 概要文件概述 201
12.4.2 概要文件中参数介绍 201
12.4.3 创建概要文件 202
12.4.4 修改概要文件 203
12.4.5 删除概要文件 203
12.4.6 查询概要文件 203
12.5 审计 203
12.5.1 审计介绍 203
12.5.2 创建统一审计策略 205
12.5.3 管理统一审计策略 207
12.5.4 精细审计 208
12.6 案例数据库安全控制的实现 209
练习题12 209
第13章 备份与恢复 212
13.1 备份与恢复概述 212
13.1.1 备份与恢复的概念 212
13.1.2 Oracle数据库备份类型 212
13.1.3 Oracle数据库恢复类型 213
13.2 物理备份数据库 213
13.2.1 冷备份 213
13.2.2 热备份 213
13.3 物理恢复数据库 214
13.3.1 非归档模式下数据库的恢复 214
13.3.2 归档模式下数据库的完全恢复 214
13.3.3 归档模式下数据库的不完全恢复 217
13.4 利用RMAN备份与恢复数据库 220
13.4.1 RMAN介绍 220
13.4.2 RMAN基本操作 220
13.4.3 RMAN备份与恢复概述 222
13.4.4 利用RMAN备份数据库 222
13.4.5 利用RMAN恢复数据库 224
13.5 逻辑备份与恢复数据库 226
13.5.1 逻辑备份与恢复概述 226
13.5.2 使用EXPDP导出数据 227
13.5.3 利用IMPDP导入数据 228
练习题13 230
第14章 闪回技术 234
14.1 闪回技术概述 234
14.1.1 闪回技术介绍 234
14.1.2 闪回技术分类 234
14.2 闪回查询 235
14.2.1 闪回查询概述 235
14.2.2 撤销表空间相关参数配置 235
14.2.3 闪回查询操作 235
14.3 闪回版本查询 237
14.4 闪回事务查询 239
14.5 闪回表 239
14.6 闪回删除 241
14.6.1 闪回删除概述 241
14.6.2 “回收站”的管理 241
14.6.3 闪回删除操作 242
14.7 闪回数据库 243
14.7.1 闪回数据库概述 243
14.7.2 闪回数据库的配置 243
14.7.3 闪回数据库操作 244
14.8 闪回数据归档 245
14.8.1 闪回数据归档概念 245
14.8.2 创建闪回数据归档区 246
14.8.3 启用表的闪回数据归档 246
14.8.4 闪回数据归档操作案例 247
练习题14 248
第15章 初始化参数文件管理 252
15.1 数据库初始化参数文件概述 252
15.2 创建数据库服务器初始化参数文件 253
15.3 数据库初始化参数介绍 254
15.4 修改数据库初始化参数 255
15.5 导出服务器初始化参数文件 256
15.6 查看数据库初始化参数设置 257
练习题15 257
第16章 多租户数据库 258
16.1 多租户数据库概述 258
16.2 多租户数据库系统结构 258
16.2.1 多租户数据库结构 258
16.2.2 多租户数据库管理工具 260
16.3 创建CDB与PDB 260
16.3.1 创建CDB 260
16.3.2 创建PDB 262
16.3.3 移除PDB 266
16.4 管理CDB和PDB 266
16.4.1 CDB与PDB管理概述 266
16.4.2 连接CDB和PDB 268
16.4.3 启动与关闭CDB和PDB 269
16.4.4 修改CDB和PDB 271
16.4.5 使用ALTER SYSTEM语句修改CDB和PDB 273
16.5 多租户数据库安全管理 274
16.5.1 管理公共用户和本地用户 274
16.5.2 管理公共授权和本地授权 276
16.5.3 管理公共角色和本地角色 277
16.6 多租户数据库备份与恢复 277
16.6.1 利用RMAN备份数据库 278
16.6.2 利用RMAN完全恢复数据库 279
练习题16 281
第17章 基于Oracle数据库的应用系统开发 282
17.1 人力资源管理系统开发 282
17.1.1 主要界面设计 282
17.1.2 建立数据库连接 283
17.1.3 员工管理功能的实现 284
17.1.4 函数调用 286
17.1.5 存储过程调用 287
17.2 图书管理系统设计与开发 288
17.2.1 图书管理系统需求分析 288
17.2.2 数据库设计 288
17.2.3 图书管理系统数据库实现 292
17.2.4 图书管理系统主要界面设计 295
17.2.5 图书管理系统主要功能实现 299
17.3 餐饮评价系统设计与开发 303
17.3.1 餐饮评价系统需求分析 303
17.3.2 数据库设计 304
17.3.3 主要界面设计 305
17.3.4 系统主要功能实现 308
练习题17 311
附录A 实验 312
实验1 Oracle数据库安装与配置 312
实验2 Oracle数据库物理存储结构管理 312
实验3 Oracle数据库逻辑存储结构管理 313
实验4 Oracle数据库对象管理 314
实验5 SQL语句应用 316
实验6 PL/SQL程序设计 318
实验7 Oracle数据库安全管理 319
实验8 Oracle数据库备份与恢复 320
参考文献 322