第1章 Oracle Database 12c基础知识 1
1.1 定义数据库 2
1.2 熟悉数据库的特性 4
1.2.1 共享 4
1.2.2 存储 4
1.2.3 数据一致性 5
1.2.4 数据完整性 6
1.3 了解何时使用数据库 8
1.4 了解Oracle Database 12c的架构 8
1.4.1 共享内存 9
1.4.2 系统支持进程 10
1.4.3 操作系统文件 11
1.5 处理Oracle数据库中的对象 12
1.5.1 表 13
1.5.2 视图 13
1.5.3 同义词 14
1.5.4 存储对象 15
1.6 在Oracle数据库中处理数据类型 15
1.6.1 变长字符VARCHAR2 16
1.6.2 数字 16
1.6.3 日期时间 17
1.6.4 CLOB/BLOB 18
1.7 结合:对象和数据类型 19
1.8 与数据交互 20
1.8.1 SQL*Developer 21
1.8.2 sqlplus 24
1.8.3 PL/SQL 27
1.9 了解Oracle Database 12c的新功能 28
1.9.1 可插拔数据库 28
1.9.2 应用开发 29
1.9.3 可用性 29
1.9.4 商业智能和数据仓库 30
1.9.5 压缩和归档 30
1.9.6 总体数据库功能 30
1.9.7 网格功能 31
1.9.8 可管理性 31
1.9.9 性能 31
1.9.10 安全 32
1.9.11 XML DB 32
本章能力测试 33
第2章 安装Oracle 35
2.1 研究和规划安装 36
2.1.1 定义系统需求 36
2.1.2 安装Linux 37
2.2 安装操作系统 40
2.3 熟悉Linux 44
2.4 选择要安装的组件 45
2.5 安装Oracle软件 46
2.5.1 数据库配置助手 52
2.5.2 验证安装 60
2.5.3 小结 61
本章能力测试 61
第3章 访问和获取数据 63
3.1 了解SQL语句的组成部分 64
3.1.1 DDL 64
3.1.2 DML 66
3.2 使用基本的insert和select语句 66
3.2.1 insert语句 66
3.2.2 select语句 67
3.3 使用简单的WHERE子句 68
3.3.1 在WHERE子句中使用AND/OR 71
3.3.2 在WHERE子句中使用NOT 72
3.3.3 在WHERE子句中使用范围搜索 72
3.3.4 在WHERE子句中使用搜索列表 72
3.3.5 在WHERE子句中使用模式搜索 73
3.3.6 WHERE子句:常用运算符 76
3.4 使用基本的update、delete和merge语句 77
3.4.1 update语句 77
3.4.2 delete语句 78
3.4.3 insert语句 78
3.4.4 使用基本的merge语句 78
3.5 对数据排序 81
3.6 使用函数:字符串函数、数值函数、聚合函数(不分组) 82
3.6.1 字符串函数 82
3.6.2 数值函数 83
3.6.3 聚合函数 83
3.7 使用日期和数据函数(格式化和按时间顺序排列) 83
3.7.1 日期函数 84
3.7.2 特殊格式的日期数据类型 84
3.7.3 嵌套函数 85
3.8 运用连接(ANSI与Oracle):内连接、外连接和自连接 86
3.8.1 内连接 86
3.8.2 外连接 89
3.8.3 自连接 93
3.9 学习GROUPBY和HAVING子句 94
3.9.1 GROUPBY子句 95
3.9.2 HAVING子句 95
3.10 了解子查询:简单子查询和带有相关比较连接的子查询 98
3.10.1 简单子查询 98
3.10.2 带有连接的相关子查询 99
3.11 使用集合运算符:UNION、INTERSECT、MINUS 100
3.11.1 UNION 101
3.11.2 UNIONALL 101
3.11.3 INTERSECT 102
3.11.4 MINUS 102
3.12 使用视图 103
3.13 学习序列 105
3.14 使用限制:联动到实体模型、类型、递延、执行、收集异常 106
3.14.1 联动到实体模型 107
3.14.2 类型 107
3.14.3 延迟 108
3.15 使用SQL*Plus格式化输出 108
3.15.1 页和行大小 108
3.15.2 页标题 108
3.15.3 页脚 109
3.15.4 格式化列 109
3.15.5 将SQL*Plus输出写入到文件中 111
本章能力测试 111
第4章 数据库编程 113
4.1 PL/SQL的定义和功能 114
4.2 描述基本的PL/SQL程序结构 116
4.3 定义PL/SQL数据类型 117
4.3.1 有效字符 117
4.3.2 算术运算符 117
4.3.3 varchar2数据类型 119
4.3.4 number数据类型 119
4.3.5 date数据类型 120
4.3.6 布尔数据类型 120
4.3.7 varray数据类型 121
4.4 在SQL*Plus中编写PL/SQL程序 123
4.4.1 PL/SQL程序中的SQL 125
4.4.2 PL/SQL游标 125
4.4.3 游标FOR循环 127
4.5 处理PL/SQL中的错误情况 128
4.6 在程序中包含条件 133
4.6.1 程序控制 133
4.6.2 IF逻辑结构 134
4.6.3 CASE语句 136
4.6.4 LOOP循环 137
4.6.5 WHILE循环 138
4.6.6 FOR循环 138
4.7 如何以及为何创建存储过程 141
4.8 创建和使用函数 144
4.9 调用PL/SQL程序 146
本章能力测试 147
第5章 数据库管理员 149
5.1 了解数据库管理员的职责 150
5.2 执行日常运作 151
5.2.1 架构与设计 151
5.2.2 容量规划 151
5.2.3 备份和恢复 151
5.2.4 安全 152
5.2.5 性能和调优 152
5.2.6 管理数据库对象 152
5.2.7 存储管理 152
5.2.8 变更管理 152
5.2.9 计划作业 153
5.2.10 网络管理 153
5.2.11 高可用性 153
5.2.12 故障排除 153
5.3 了解Oracle Database 12c架构 153
5.3.1 模式 153
5.3.2 段、区和块 154
5.3.3 可插拔数据库 155
5.3.4 逻辑模式结构 155
5.3.5 存储结构 156
5.4 Oracle Database 12c的操作模式 157
5.4.1 操作模式 157
5.4.2 启动容器数据库 158
5.4.3 打开数据库的其他方法 158
5.4.4 强制启动 159
5.4.5 数据库和实例的关闭 159
5.5 开始使用Oracle企业管理器 161
5.5.1 实例配置 164
5.5.2 用户会话 164
5.5.3 资源使用者组 165
5.5.4 其他工具 166
5.6 了解数据库连接 167
5.6.1 Oracle网络服务 168
5.6.2 命令行实用程序 168
5.6.3 连接 169
5.6.4 维护连接 170
5.6.5 定义位置 170
5.6.6 连接描述符 171
5.6.7 定义连接描述符 171
5.7 管理数据库对象 172
5.7.1 控制文件 172
5.7.2 重做日志 172
5.7.3 还原管理 172
5.7.4 模式对象 172
5.8 空间管理 174
5.8.1 归档日志 174
5.8.2 表空间和数据文件 174
5.9 管理用户 175
5.9.1 创建用户 176
5.9.2 编辑用户 177
5.10 管理数据库用户的权限 177
5.10.1 授权 178
5.10.2 授权的类型 178
5.10.3 取消授权 178
5.10.4 角色 178
5.10.5 Oracle定义的角色 179
5.10.6 创建并授予角色 179
5.10.7 配置文件 179
5.10.8 小结 180
本章能力测试 182
第6章 备份和恢复 183
6.1 了解RMAN 184
6.2 使用RMAN的理由 185
6.3 了解存储介质 186
6.4 检查RMAN的组件 187
6.4.1 备份 187
6.4.2 还原 187
6.4.3 恢复 187
6.5 调用RMAN 188
6.6 了解RMAN命令 189
6.7 RMAN通道综述 192
6.8 检查RMAN配置 193
6.9 探索备份命令 195
6.9.1 数据库 195
6.9.2 表空间 195
6.9.3 数据文件 195
6.9.4 控制文件 196
6.9.5 服务器参数文件 196
6.9.6 归档重做日志 196
6.10 进行增量备份 196
6.11 列出备份列表 197
6.12 查看RMAN元数据 198
6.13 使用RMAN还原 200
6.14 了解RMAN恢复 201
6.15 了解备份保留 201
6.16 检查语法 202
6.17 恢复表 202
6.18 总结 202
6.18.1 备份脚本 202
6.18.2 还原和恢复脚本 203
本章能力测试 204
第7章 高可用性:RAC、ASM和Data Guard 205
7.1 定义高可用性 206
7.2 了解真正应用集群 207
7.3 安装RAC 208
7.4 测试RAC 211
7.4.1 工作负载管理器 212
7.4.2 ASM 212
7.5 建立ASM实例 213
7.6 创建ASM磁盘组 218
7.7 使用ASMCMD和ASMLib 220
7.8 将现有的数据库转换到ASM 221
7.9 理解Data Guard 223
7.10 解释Data Guard保护模式 224
7.11 创建物理备用服务器 226
本章能力测试 229
第8章 使用和管理大型数据库 231
8.1 学会识别超大型数据库 232
8.2 使用数据分区的原因和方法 232
8.2.1 使用数据分区的原因 232
8.2.2 管理 234
8.2.3 性能 235
8.2.4 实现数据分区 236
8.2.5 定义分区的索引策略 244
8.3 压缩数据 250
8.3.1 数据压缩 250
8.3.2 索引键压缩 251
8.3.3 自动数据优化 252
8.4 使用并行处理提高性能 253
8.4.1 并行处理数据库组件 253
8.4.2 并行处理配置 253
8.4.3 调用并行执行 255
8.5 使用物化视图 256
8.5.1 物化视图的用途 256
8.5.2 查询重写 257
8.5.3 何时创建物化视图 258
8.5.4 创建物化视图 258
8.6 使用SQL聚合函数和分析函数 259
8.6.1 聚合函数 259
8.6.2 rollup扩展 259
8.6.3 cube扩展 260
8.6.4 分析函数 261
8.6.5 窗口函数 266
8.6.6 其他函数 267
8.7 创建SQL模型 268
本章能力测试 271
第9章 Oracle的工程系统:从数据库机到Exadata 273
9.1 了解Oracle数据库机 274
9.2 管理Oracle数据库机 275
9.3 了解Exadata的主要组件 276
9.4 了解Exadata存储 277
9.5 利用存储分担加快大型查询 279
9.5.1 智能扫描实践 279
9.5.2 为什么可能不会发生智能扫描 281
9.6 了解存储索引 281
9.7 使用Exadata闪存缓存 282
9.8 节省存储空间与混合列压缩 284
9.8.1 混合列压缩实践 285
9.8.2 使用DBMS_COMPRESSION估算压缩 285
9.9 使用I/O资源管理启用数据库整合 286
9.10 执行常见的Exadata管理任务 288
9.10.1 Exadata存储服务器上的用户账户 288
9.10.2 使用DCLI从存储服务器检索指标 288
9.10.3 使用EXACHK验证Exadata配置 289
9.11 使用Oracle企业管理器管理Exadata 290
本章能力测试 291
附录 能力测试答案 293