第1章 Oracle 12c简介 1
1.1 Oracle 12c简介 1
1.2 Oracle 12c产品系列 2
1.3 Oracle 12c新特性 2
1.3.1 插接式数据库PDB 2
1.3.2 高可用性 4
1.3.3 XMLDB 6
1.3.4 In-Memory数据库内存选件 6
1.3.5 Oracle JSON文档存储 7
1.3.6 其他新特性 7
练习 7
第2章 Oracle 12c的安装 9
2.1 安装前配置Linux系统 9
2.1.1 配置Linux交换空间 10
2.1.2 创建Oracle用户和用户组 10
2.1.3 配置/etc/sysctl.conf文件 10
2.1.4 其他配置 11
2.2 安装Oracle 12c 12
2.3 数据库连接测试 25
2.4 Oracle企业管理器 28
2.5 安装后的检测 30
2.5.1 查看环境变量 30
2.5.2 查看目录及文件 31
2.5.3 查看Oracle进程 32
2.5.4 查看监听器状态 32
2.6 设置开机启动 34
练习 36
训练任务 37
第3章 网络配置及管理工具 38
3.1 OracleNet Services 39
3.2 服务器模式和数据库连接方式 39
3.2.1 专用服务器模式 40
3.2.2 共享服务器模式 40
3.2.3 配置数据库支持共享模式 41
3.2.4 检测数据库的服务器模式 42
3.2.5 连接到不同的服务器模式 44
3.2.6 查看服务器连接进程 45
3.3 TNS网络配置文件 46
3.3.1 lsnrctl和listener.ora 46
3.3.2 监听器的动态注册 47
3.3.3 监听器的静态注册 50
3.3.4 tnsnames.ora 51
3.3.5 sqlnet.ora 52
3.4 SQL*Plus 54
3.4.1 SQL*Plus连接数据库 54
3.4.2 SQL*Plus命令列表 57
3.4.3 SQL*Plus参数 58
3.4.4 SQL*Plus替换变量 59
3.4.5 绑定变量 60
3.4.6 预设变量 61
3.4.7 PL/SQL程序的运行 61
3.5 Oracle SQL Developer 62
3.5.1 SQL Developer连接Oracle 63
3.5.2 DataModeler 65
3.6 执行计划与SQL优化 68
3.6.1 授予查询执行计划的权限 69
3.6.2 分析和比较执行计划 70
3.6.3 统计信息与动态采样 74
3.6.4 SQL语句的优化 79
3.6.5 自适应查询优化 81
练习 85
训练任务 86
第4章 数据库管理与配置 88
4.1 常用的数据库配置查询方法 89
4.2 使用dbca管理数据库实例 90
4.2.1 新建数据库实例 90
4.2.2 删除一个容器数据库CDB 91
4.3 在数据库实例之间切换 91
4.4 配置插接式数据库PDB 92
4.4.1 通过SQL语句创建插接式数据库 92
4.4.2 通过dbca创建插接式数据库 93
4.4.3 克隆插接式数据库pdb 96
4.4.4 删除插接式数据库pdb 96
4.4.5 插接式数据库的拔出与插入 97
4.5 数据库的启动与关闭 97
4.5.1 启动数据库 98
4.5.2 启动异常处理 101
4.5.3 关闭数据库 101
4.6 数据库参数配置 102
练习 103
训练任务 104
第5章 Oracle 12c数据库结构 105
5.1 Oracle 12c体系结构 106
5.1.1 数据库物理存储结构 107
5.1.2 逻辑存储结构 107
5.2 Oracle 12c内存结构 109
5.2.1 基本内存结构 109
5.2.2 PGA概述 110
5.2.3 SGA概述 110
5.2.4 In-Memory列存储 112
5.3 服务器进程 117
5.3.1 后台进程 118
5.3.2 定时执行作业任务 120
练习 123
训练任务 125
第6章 数据库存储管理 126
6.1 表空间和数据文件的管理 127
6.2 创建表空间 128
6.3 查看表空间信息 131
6.4 设置表空间 132
6.4.1 修改表空间名称 132
6.4.2 修改表空间大小 132
6.4.3 切换表空间状态 133
9.4 使用MERGE合并行 215
9.5 数据库事务 216
9.5.1 事务的提交和回滚 217
9.5.2 事务的开始与结束 219
9.5.3 保存点 219
9.5.4 事务的ACID特性 220
9.5.5 锁 226
练习 239
训练任务 240
第10章 SQL语言基础 242
10.1 SQL语言概述 243
10.2 选择部分列 243
10.3 WHERE子句 244
10.4 列算术运算 246
10.5 禁止重复行 247
10.6 排序 248
10.7 表别名及多表查询 248
10.8 子查询 251
10.8.1 单行子查询 251
10.8.2 多行子查询 252
10.8.3 TopN查询 253
10.8.4 分页查询 254
10.9 递归查询 256
练习 259
训练任务 260
第11章 使用函数 261
11.1 单行函数 262
11.1.1 字符处理函数 262
11.1.2 数值函数 266
11.1.3 类型转换函数 269
11.1.4 日期和时间函数 271
11.1.5 正则表达式函数 272
11.2 分组查询及聚合函数 276
11.3 SQL语句优化 279
练习 283
训练任务 284
第12章 PL/SQL语言 286
12.1 PL/SQL简介 287
12.1.1 PL/SQL基本结构 288
12.1.2 变量和常量 289
12.1.3 可变数组 291
12.1.4 运算符 293
12.1.5 条件 294
12.1.6 循环 297
12.2 异常处理 299
12.2.1 预定义异常 299
12.2.2 自定义异常 300
12.2.3 引发应用程序异常 301
12.3 游标 303
12.3.1 游标的基本操作 303
12.3.2 游标FOR循环 306
12.3.3 引用游标 307
12.3.4 修改或删除游标结果集 308
12.4 存储过程 309
12.4.1 创建存储过程 310
12.4.2 调用存储过程 312
12.5 自定义函数 313
12.5.1 函数的创建与调用 313
12.5.2 函数参数的调用形式 314
12.6 删除过程和函数 315
12.7 块内存储过程和函数 315
12.8 过程与函数的比较 316
12.9 包 318
12.9.1 创建包 318
12.9.2 调用包 319
12.10 触发器 320
12.10.1 创建触发器 320
12.10.2 触发器的管理 324
12.10.3 行级触发器 325
12.10.4 系统级触发器 326
练习 328
训练任务 329
第13章 备份与恢复 331
13.1 备份与恢复概述 332
13.2 脱机备份与恢复 333
13.3 用户管理备份与恢复 334
13.4 RMAN工具 339
13.4.1 备份集与镜像复制 339
13.4.2 启动RMAN并连接到数据库 340
13.4.3 备份失效(Expired) 341
13.4.4 备份过期(Obsolete) 341
13.4.5 RMAN备份和恢复命令 343
13.4.6 实用案例:完全恢复一个PDB 347
13.4.7 实用案例:不完全恢复一个PDB 349
13.4.8 RMAN批处理 351
13.5 闪回技术Flashback 352
13.5.1 Flashback Database 353
13.5.2 FlashbackTable 354
13.5.3 回收站 355
13.6 数据导出与导入 356
13.6.1 Oracle目录对象 357
13.6.2 数据导出 358
13.6.3 数据导入 359
练习 362
训练任务 363
第14章 小型商品销售系统 365
14.1 小型商品销售系统E-R模型 366
14.1.1 实体模型 366
14.1.2 实体联系模型 367
14.2 数据表的设计 368
14.3 用户创建与空间分配 370
14.4 创建表,约束和索引 372
14.5 创建触发器、序列和视图 375
14.6 创建程序包、函数和过程 378
14.7 数据库测试 380
14.8 应用程序开发 385
14.8.1 IDE选择 385
14.8.2 程序目录结构和通用模块 385
14.8.3 配置文件详述 386
14.8.4 管理主界面与登录程序设计 389
14.8.5 程序主要模块 390
附录 练习答案与训练任务的实现 404
第1章 Oracle 12c简介 404
第2章 Oracle 12c的安装 404
第3章 网络配置及管理工具 406
第4章 数据库管理与配置 410
第5章 Oracle 12c数据库结构 412
第6章 数据库存储管理 415
第7章 用户及权限管理 417
第8章 数据库的对象管理 418
第9章 表数据维护 421
第10章 SQL语言基础 422
第11章 使用函数 423
第12章 PL/SQL语言 424
第13章 备份与恢复 428