第一部分 Oracle数据库安装配置 3
第1章 安装配置 3
1.1 下载Oracle 11g安装包 3
1.2 安装Oracle 11g软件 4
1.2.1 检查硬件要求 4
1.2.2 检查软件要求 5
1.2.3 安装Linux操作系统 6
1.2.4 配置Oracle 11g安装环境 19
1.2.5 安装Oracle 11g数据库软件 21
1.3 配置数据库监听器 29
1.3.1 使用NETCA配置监听器 29
1.3.2 使用LSNRCTL启动监听器 32
1.4 创建数据库 33
1.5 配置客户端 43
1.5.1 安装Oracle 11g客户端软件 43
1.5.2 使用NETCA配置网络服务命名 47
1.5.3 连接数据库 51
小结 53
思考题 53
第二部分 Oracle数据库日常管理 57
第2章 数据库体系结构 57
2.1 数据库体系结构简介 57
2.2 数据库实例结构 58
2.2.1 数据库实例简介 58
2.2.2 实例内存结构 60
2.2.3 Oracle实例进程结构 66
2.3 数据库物理结构 67
2.3.1 数据文件和临时文件 68
2.3.2 控制文件 68
2.3.3 在线日志文件 69
2.4 参数文件管理 69
2.4.1 参数文件介绍和管理 69
2.4.2 基本参数介绍 71
2.5 口令文件管理 72
2.6 数据库启动和停止 74
2.6.1 数据库启动 74
2.6.2 数据库停止 78
小结 80
思考题 80
第3章 网络配置 82
3.1 网络服务组件 82
3.1.1 Oracle Net 82
3.1.2 Oracle Net Listener 83
3.2 数据库服务注册 84
3.2.1 服务的概念 85
3.2.2 服务注册 86
3.3 监听器配置 87
3.3.1 监听器配置文件 87
3.3.2 监听器配置与管理 89
3.4 客户端连接 95
3.4.1 配置本地命名解析 95
3.4.2 本地命名解析文件 99
小结 101
思考题 101
第4章 逻辑存储结构 102
4.1 逻辑结构 102
4.1.1 逻辑结构简介 102
4.1.2 区管理方式 103
4.1.3 段空间管理方式 104
4.2 数据块 107
4.2.1 数据块结构 107
4.2.2 行数据存储格式 109
4.3 区 110
4.4 段 111
4.4.1 用户段创建 112
4.4.2 临时段和undo段 112
4.5 表空间 113
4.5.1 表空间介绍 113
4.5.2 表空间基本操作 114
4.6 相关视图 119
小结 121
思考题 121
第5章 用户权限管理 123
5.1 用户管理 123
5.1.1 创建用户 123
5.1.2 修改用户 127
5.1.3 概要文件 129
5.1.4 删除用户 132
5.1.5 相关视图 132
5.2 权限管理 132
5.2.1 系统权限 133
5.2.2 对象权限 135
5.2.3 相关视图 137
5.3 角色管理 138
5.3.1 自定义角色 138
5.3.2 角色授予与回收 139
5.3.3 相关视图 140
5.4 安全审计 141
5.4.1 标准审计 141
5.4.2 精度审计 146
5.4.3 相关视图 147
小结 149
思考题 149
第6章 REDO与UNDO 150
6.1 REDO 150
6.1.1 REDO概述 150
6.1.2 日志组 151
6.1.3 日志维护 152
6.1.4 相关视图 156
6.2 UNDO 156
6.2.1 UNDO概述 156
6.2.2 UNDO段空间使用 158
6.2.3 UNDO管理 159
6.2.4 相关视图 160
6.3 检查点 162
小结 164
思考题 164
第7章 备份恢复与闪回技术 165
7.1 备份恢复概述 165
7.1.1 备份文件 165
7.1.2 数据库备份 166
7.1.3 数据库恢复 167
7.2 恢复管理器 171
7.2.1 恢复管理器介绍 171
7.2.2 RMAN命令介绍 173
7.3 闪回技术 184
7.3.1 闪回查询 184
7.3.2 闪回数据 185
7.3.3 闪回删除 186
7.3.4 闪回版本查询 187
7.3.5 闪回事务 188
7.3.6 闪回数据库 188
7.3.7 闪回归档 189
小结 190
思考题 190
第三部分 Oracle数据库开发 193
第8章 Schema对象 193
8.1 表 193
8.1.1 数据类型 193
8.1.2 堆表 196
8.1.3 临时表 199
8.1.4 索引组织表 200
8.1.5 分区表 201
8.1.6 相关视图 210
8.2 视图 211
8.2.1 普通视图 211
8.2.2 物化视图 213
8.2.3 相关视图 216
8.3 索引 217
8.3.1 索引类别 217
8.3.2 索引维护 219
8.3.3 相关视图 221
8.4 簇 221
8.5 序列 223
8.6 同义词 225
8.7 数据库链接 226
8.8 约束 227
8.8.1 约束分类 227
8.8.2 约束操作 228
8.8.3 相关视图 232
小结 233
思考题 233
第9章 SQL开发 234
9.1 结构化查询语言(SQL)简介 234
9.2 数据操纵语句 235
9.2.1 INSERT语句 235
9.2.2 UPDATE语句 239
9.2.3 DELETE语句 240
9.2.4 MERGE语句 241
9.3 查询语句 242
9.3.1 单表查询 242
9.3.2 连接查询 250
9.3.3 子查询 257
9.3.4 高级查询 262
9.4 事务控制语句 269
9.4.1 Oracle事务开始结束条件 269
9.4.2 事务控制语句 270
小结 271
思考题 271
第10章 内置函数 273
10.1 内置函数简介 273
10.2 字符函数 273
10.3 数字函数 277
10.4 日期函数 279
10.5 转换函数 282
10.6 正则表达式函数 285
小结 287
思考题 287
第11章 PL/SQL基础 288
11.1 PL/SQL简介 288
11.2 基本块结构 288
11.3 变量类型 290
11.3.1 标量数据类型 290
11.3.2 复合数据类型 292
11.3.3 集合运算符 297
11.3.4 集合方法 298
11.4 变量声明赋值 299
11.5 控制结构 300
11.5.1 条件语句 300
11.5.2 循环语句 302
11.6 游标 306
11.6.1 隐式游标 306
11.6.2 显式游标 307
11.7 批语句 310
11.7.1 BULK COLLECT INTO语句 310
11.7.2 FORALL语句 312
11.8 异常处理 313
11.8.1 预定义异常 314
11.8.2 用户定义异常 314
11.9 动态SQL 316
小结 317
思考题 318
第12章 PL/SQL程序设计 319
12.1 函数 319
12.2 过程 324
12.3 调用过程和函数 325
12.4 包 326
12.4.1 包规范 326
12.4.2 包体 328
12.5 触发器 329
12.5.1 数据定义触发器 330
12.5.2 数据操作触发器 332
12.5.3 复合触发器 334
12.5.4 INSTEAD-OF触发器 335
12.5.5 系统事件触发器 336
12.5.6 触发器编译和启用 337
12.6 相关视图 337
小结 338
思考题 338
第四部分 Oracle数据库工具使用 343
第13章 工具使用 343
13.1 SQL Plus 343
13.1.1 启动SQL Plus 343
13.1.2 SQL Plus环境变量设置 344
13.1.3 SQL Plus配置 346
13.1.4 SQL Plus连接数据库 347
13.1.5 SQL Plus命令 350
13.2 SQL Loader 359
13.2.1 启动SQL Loader 360
13.2.2 SQL Loader命令行参数 361
13.2.3 控制文件格式说明 366
13.2.4 指定加载数据文件 367
13.2.5 指定数据分隔方式 368
13.2.6 指定条件 369
13.2.7 多表导入 370
13.2.8 指定列及数据类型 371
13.3 EXPDP 373
13.3.1 启动EXPDP 374
13.3.2 EXPDP导出模式 375
13.3.3 EXPDP命令行参数 375
13.3.4 交互模式 381
13.4 IMPDP 383
13.4.1 启动IMPDP 383
13.4.2 IMPDP导入模式 384
13.4.3 IMPDP命令行参数 385
13.4.4 交互模式 389
小结 390
思考题 391