第1章Oracle 12c和云计算 1
1.1大数据与云计算 2
1.1.1大数据 2
1.1.2云计算 3
1.2 Oracle 12c支持云计算 4
1.2.1 Oracle 12c数据库简介 4
1.2.2具备云计算能力 4
1.2.3简化数据库的整合 4
1.2.4简化大数据分析 5
1.2.5管理数据库云 6
1.3 Oracle 12c体系结构 6
1.4安装Oracle 12c 9
1.4.1安装准备 9
1.4.2安装过程 10
第2章 CDB和PDB操作 17
2.1多租户环境下用户的操作及工具 18
2.1.1多租户环境 18
2.1.2多租户环境的操作工具 20
2.2创建CDB数据库 20
2.2.1使用DBCA创建 22
2.2.2使用SQL语句手工创建 25
2.3操作CDB数据库 25
2.3.1使用SQL PLUS远程连接CDB数据库 28
2.3.2使用SQL Developer远程连接CDB数据库 29
2.4创建PDB数据库 30
2.4.1使用DBCA创建 30
2.4.2使用SQL DEVELOPER创建 33
2.4.3使用SQL语句手工创建 35
2.5打开与关闭PDB数据库 36
2.5.1启动PDB数据库 36
2.5.2关闭PDB数据库 38
2.5.3退出PDB数据库 39
2.6建立演示数据库 39
2.7操作演示数据库 46
第3章Oracle 12c服务与SQL PLUS 51
3.1 Oracle 12c网络配置及服务 52
3.1.1配置Net Manager 52
3.1.2 OracleOraDB12Home1TNSListener服务 53
3.1.3 OracleServiceDEMO服务 54
3.2企业管理器 54
3.3 SQL PLUS命令 56
3.4 NLS参数设置 72
3.5 SQLPLUS设置Oracle 12c环境参数 76
3.5.1 SQL PLUS位于Oracle 12c服务器端的设置 76
3.5.2 SQL PLUS位于客户端的设置 78
3.6数据字典 78
第4章PL/SQL语言基础 80
4.1 PL/SQL简介 81
4.2 PL/SQL数据类型 82
4.2.1标量类型 82
4.2.2 LOB类型 87
4.2.3复合类型 87
4.2.4 %TYPE和%ROWTYPE定义数据类型 91
4.3 PL/SQL程序块结构 92
4.3.1 PL/SQL语法结构 93
4.3.2变量声明 93
4.3.3变量赋值 94
4.3.4绑定变量 95
4.3.5常量 96
4.3.6使用PL/SQL处理查询 97
4.4 PL/SQL控制结构 97
4.4.1顺序控制 97
4.4.2条件控制 97
4.4.3循环控制 100
4.5异常和异常处理 103
4.5.1内部定义异常 104
4.5.2预定义异常 105
4.5.3用户自定义异常 106
4.6 PL/SQL常用函数 107
4.6.1数学函数 108
4.6.2字符函数 110
4.6.3日期时间函数 110
第5章 表空间概要用户角色 113
5.1表空间 114
5.1.1永久表空间 115
5.1.2临时表空间 119
5.1.3撤销表空间 122
5.1.4修改表空间 124
5.1.5查询表空间 125
5.1.6删除表空间 126
5.2概要 128
5.2.1创建概要 128
5.2.2修改概要 131
5.2.3查询概要 131
5.2.4删除概要 132
5.3用户 133
5.3.1创建用户 133
5.3.2创建模式 136
5.3.3用户授权 137
5.3.4撤销用户权限 140
5.3.5用户及用户权限查询 141
5.3.6修改用户 142
5.3.7删除用户 143
5.4角色 144
5.4.1创建角色 144
5.4.2角色授权 146
5.4.3撤销角色权限 147
5.4.4角色及角色权限查询 147
5.4.5修改角色 148
5.4.6打开/关闭角色 148
5.4.7删除角色 149
5.5 Oracle 12c逻辑结构 150
第6章 数据表 152
6.1表类型 153
6.2表中约束 155
6.3创建表的前提 158
6.4堆表 160
6.5索引表 162
6.6聚簇表 163
6.7散列聚簇表 167
6.8外部表 170
6.9临时表 173
6.10嵌套表 175
6.11分区表 178
6.11.1范围分区表与间隔分区表 179
6.11.2散列分区表 182
6.11.3列表分区表 183
6.11.4组合分区表 184
6.11.5系统分区表 187
6.11.6引用分区表与间隔引用分区表 189
6.12使用ALTER TABLE修改表 192
第7章 数据查询 198
7.1基本查询 199
7.1.1基本查询语法格式 199
7.1.2相关子查询与不相关子查询 205
7.1.3嵌套查询的4种形式 206
7.1.4 UNION [ALL] INTERSECT MINUS查询形式 208
7.2查询子句 211
7.2.1带SAMPLE参数的查询 211
7.2.2使用闪回查询 212
7.2.3 GROUPBY子句 213
7.2.4 ORDER BY子句 214
7.2.5 PIVOT子句与UNPIVOT子句 215
7.2.6按分区查询 216
7.3 WITH语句查询 217
7.3.1 WITH+函数 218
7.3.2 WITH+子查询 219
7.3.3WITH+递归子查询 220
7.4层次查询 221
7.5输出查询结果 223
第8章 表的DML操作 227
8.1插入数据 228
8.1.1常规方法插入数据 229
8.1.2直接路径方法插入数据 230
8.1.3多表数据插入 231
8.2更新数据 233
8.2.1非分区表数据更新 233
8.2.2分区表数据更新 234
8.3删除数据 234
8.3.1删除非分区表数据 234
8.3.2删除分区表数据 235
8.4合并数据 235
8.4.1带有UPDATE或INSERT的MERGE操作 236
8.4.2带有UPDATE和INSERT的MERGE操作 237
第9章 视图物化视图物化视图日志 239
9.1关系视图 241
9.1.1关系视图定义 241
9.1.2查看视图定义 244
9.1.3删除视图 245
9.1.4视图查询 245
9.1.5视图解析 245
9.2物化视图 246
9.2.1创建物化视图 247
9.2.2查看物化视图定义 249
9.3物化视图日志 249
第10章 索引聚簇序列同义词 251
10.1索引 252
10.1.1创建索引 253
10.1.2查询索引 256
10.1.3删除索引 257
10.2聚簇 257
10.2.1索引聚簇创建与应用 257
10.2.2散列聚簇创建与应用 258
10.2.3查询聚簇 259
10.2.4删除聚簇 259
10.3序列 259
10.3.1序列创建及应用 260
10.3.2查询序列 260
10.3.3删除序列 261
10.4同义词 261
10.4.1同义词创建及应用 262
10.4.2查询同义词 263
10.4.3删除同义词 263
第11章 包包体过程函数 264
11.1包 265
11.1.1创建包 265
11.1.2查询包 267
11.1.3删除包 268
11.2包体 268
11.2.1包体创建与调用 268
11.2.2查询包体 271
11.2.3删除包体 271
11.3过程 271
11.3.1过程创建与调用 272
11.3.2查询过程 274
11.3.3删除过程 275
11.4函数 275
11.4.1函数创建与调用 275
11.4.2查询函数 278
11.4.3删除函数 279
11.5综合应用例子 279
第12章 触发器游标静态/动态PL SQL 285
12.1触发器 286
12.1.1触发器创建与应用 286
12.1.2查询触发器 297
12.1.3删除触发器 297
12.2游标 298
12.2.1游标的创建与应用 298
12.2.2查询游标 314
12.2.3游标应用综合举例 314
12.3静态PL SQL 319
12.4动态PL SQL 320
12.4.1本地动态PL SQL 320
12.4.2 DBMS_ SQL包 324
12.5综合应用例子 325
第13章 数据库安全 329
13.1数据库安全概述 330
13.2用户标识与鉴别 330
13.2.1用户标识种类 330
13.2.2密码 331
13.2.3密码文件 335
13.3存取控制 336
13.4应用上下文 337
13.4.1应用上下文的概念 337
13.4.2应用上下文的创建与调用 337
13.4.3读取应用上下文属性值 339
13.5 Wallet技术 339
13.5.1使用OWM创建Wallet 340
13.5.2服务器端Wallet应用 340
13.5.3客户端Wallet应用 344
13.5.4 Wallet与数字证书 347
13.6透明数据加密 350
13.7审计 353
13.7.1审计功能的开启和关闭 353
13.7.2创建权限审计 355
13.7.3创建行为审计 356
13.7.4创建角色审计 356
13.7.5打开审计策略 356
13.7.6查询审计策略 358
13.8 SQL注入 358
13.8.1 SQL注入攻击概述 358
13.8.2 SQL注入攻击类型 359
13.8.3防止SQL注入攻击措施 365
第14章 事务并发控制 370
14.1事务 371
14.1.1事务概念 371
14.1.2设置事务属性 373
14.1.3保存点 374
14.1.4提交事务 376
14.1.5回滚事务 377
14.1.6自治事务 377
14.2并发控制 379
14.2.1数据并发性与一致性 379
14.2.2事务隔离 380
14.2.3封锁机制 382
14.2.4自动锁 385
14.2.5对查询结果加锁 387
14.2.6手动锁 389
第15章RMAN技术及应用 392
15.1 RMAN简介 393
15.2启动RMAN 393
15.3 CATALOG备份模式与NOCATALOG备份模式 397
15.4通道配置与操作 401
15.5 RMAN备份操作 405
15.5.1冷备份与热备份 406
15.5.2BACKUP操作 407
15.5.3 COPY与BACKUP AS COPY的区别 412
15.6 RMAN还原与恢复操作 413
15.6.1还原(RESTORE)与恢复(RECOVER)的区别 413
15.6.2 RESTORE 414
15.6.3 RECOVER 415
15.7 RMAN其他常用命令 416
15.7.1 RUN 417
15.7.2 SET 418
15.7.3 LIST 419
15.7.4 REPORT 419
15.7.5 CONFIGURE 420
15.7.6 CROSSCHECK 421
15.7.7 VALIDATE 421
15.7.8 DELETE 422
15.7.9 CHANGE 423
15.7.10HOST 423
15.7.11 CREATE 424
15.7.12 SHOW 426
15.7.13 DUPLICATE 426
15.7.14 REGISTER 428
15.7.15 ADVISE FAILURE 429
15.7.16 REPAIR FAILURE 430
第16章 闪回技术 432
16.1闪回技术简介 433
16.2闪回数据库配置 434
16.2.1自动撤销段配置 434
16.2.2闪回事务配置 435
16.2.3授予必要权限 435
16.3应用开发中的闪回技术 436
16.3.1闪回查询 436
16.3.2闪回版本查询 439
16.3.3闪回事务查询 441
16.3.4闪回数据文档 441
16.4数据库管理中的闪回技术 445
16.4.1还原点技术 445
16.4.2闪回表 448
16.4.3闪回删除 450
16.4.4闪回数据库 451
16.5回收站操作 452
参考文献 454