第1章 Oracle 10g体系结构 1
1.1 Oracle 10g体系结构概述 1
1.2 Oracle服务器的内存结构 3
1.2.1 系统全局区 3
1.2.2 程序全局区 4
1.3 Oracle服务器的进程结构 5
1.3.1 服务器端后台进程 5
1.3.2 服务器进程结构 7
1.4 Oracle数据库的物理结构 8
1.4.1 数据文件 8
1.4.2 重做日志文件 9
1.4.3 控制文件 9
1.4.4 其他文件 10
1.5 Oracle数据库的逻辑结构 11
1.5.1 表空间 11
1.5.2 段 14
1.5.3 区间 15
1.5.4 数据块 15
1.6 Oracle 10g网格基础架构 15
1.7 数据字典 16
1.7.1 数据字典 16
1.7.2 动态性能监视视图 16
1.7.3 常用数据字典 17
本章小结 19
综合应用与习题一 20
第2章 Oracle数据库常用工具 21
2.1 SQL*Plus 21
2.1.1 SQL*Plus的作用 21
2.1.2 SQL*Plus的启动和退出 21
2.1.3 SQL*Plus常用命令 22
2.2 iSQL*PLUS 28
2.3 企业管理器 30
2.3.1 企业管理器 30
2.3.2 Oracle企业管理器 32
本章小结 33
综合应用与习题二 33
第3章 网络连接配置与系统安全 35
3.1 Oracle Net 35
3.1.1 Oracle Net概述 35
3.1.2 服务器监听程序配置 36
3.1.3 Oracle Net客户端配置 37
3.2 系统与对象权限管理 39
3.2.1 数据库系统特权 40
3.2.2 对象权限 41
3.2.3 数据库系统特权的授予与回收 42
3.2.4 对象权限的授予与回收 43
3.3 用户与角色 45
3.3.1 配置身份验证 45
3.3.2 创建与管理用户 47
3.3.3 角色管理 49
3.4 概要文件 51
3.4.1 创建概要文件 51
3.4.2 分配概要文件 55
3.5 同义词 56
3.6 建立安全策略 57
本章小结 58
综合应用与习题三 58
第4章 Oracle数据库创建与表空间维护 62
4.1 创建Oracle数据库 62
4.1.1 创建Oracle数据库概述 62
4.1.2 OFA与OMF 63
4.1.3 使用数据库配置助手(DBCA)创建数据库 65
4.1.4 手工创建Oracle数据库 67
4.1.5 数据库创建失败后的处理 72
4.2 管理表空间 72
4.2.1 表空间管理概述 72
4.2.2 表空间的创建与删除 74
4.2.3 表空间维护 76
4.2.4 回退段的创建与删除 78
本章小结 79
综合应用与习题四 79
第5章 表 81
5.1 Oracle数据库方案对象与数据类型 81
5.1.1 Oracle数据库方案对象 81
5.1.2 Oracle数据类型 82
5.2 创建表的语法 83
5.2.1 基本规则 83
5.2.2 创建表的语法图 83
5.3 基本关系表 85
5.3.1 最简单的表创建语法 85
5.3.2 利用查询创建表 86
5.3.3 存储参数 87
5.3.4 完整性约束 88
5.4 按索引组织的表 92
5.5 簇表 93
5.5.1 创建簇表 93
5.5.2 创建簇索引 94
5.5.3 删除簇 94
5.6 分区表 95
5.6.1 范围分区表 95
5.6.2 散列分区表 97
5.6.3 列表分区表 100
5.6.4 组合分区表 101
5.7 外部表 102
5.8 对象表 105
5.9 嵌套表 107
5.10 管理表 108
5.10.1 存储参数 109
5.10.2 表结构维护 110
5.10.3 数据完整性约束维护 112
5.10.4 表的删除与截断 114
本章小结 114
综合应用与习题五 115
第6章 索引与视图 117
6.1 管理索引 117
6.1.1 索引概述 117
6.1.2 创建唯一索引 120
6.1.3 创建位图索引 120
6.1.4 创建基于函数的索引 121
6.1.5 设置与约束相关的索引 122
6.1.6 创建簇索引 123
6.1.7 对索引创建分区 123
6.1.8 索引的删除与重建 125
6.1.9 索引的维护 125
6.1.10 索引使用的标识 127
6.2 视图的创建与使用 127
6.2.1 创建与删除视图 127
6.2.2 对视图执行DML操作的限制 129
6.2.3 内嵌视图 130
本章小结 131
综合应用与习题六 131
第7章 其他常用方案对象 132
7.1 序列 132
7.1.1 序列创建与删除语法 132
7.1.2 序列的使用 133
7.2 数据库链接 135
7.3 实体化视图日志 136
7.4 实体化视图 137
本章小结 140
综合应用与习题七 140
第8章 Oracle支持的SQL 142
8.1 Oracle的数据操纵语言 142
8.1.1 INSERT语句 142
8.1.2 UPDATE语句 144
8.1.3 DELETE语句 146
8.1.4 MERGE语句 147
8.1.5 事务控制命令 148
8.2 Oracle支持的查询 149
8.2.1 SELECT语句 149
8.2.2 虚表与伪列 152
8.2.3 表的连接 152
8.2.4 子查询 154
8.2.5 集合运算 158
8.2.6 层次树型查询 162
8.2.7 With子句 163
8.3 Oracle支持的SQL函数 164
8.3.1 单行函数 164
8.3.2 分组函数 168
8.3.3 DateTime函数 169
8.3.4 OLAP函数 172
8.4 用于数据分析的SQL 173
8.4.1 多表插入与旋转插入 173
8.4.2 Top-n查询 175
8.4.3 ROLLUP与CUBE 176
本章小结 180
综合应用与习题八 180
第9章 PL/SQL 183
9.1 PL/SQL基础 183
9.1.1 PL/SQL程序块的结构 183
9.1.2 PL/SQL基本语法规则 184
9.1.3 复合数据类型 189
9.1.4 PL/SQL程序的用途 193
9.2 PL/SQL中的SELECT语句 193
9.3 流程控制语句 196
9.3.1 分支语句 196
9.3.2 循环控制语句 197
9.3.3 跳转控制语句 198
9.4 游标 199
9.4.1 游标的概念 199
9.4.2 游标的定义和使用 199
9.4.3 游标的属性 201
9.4.4 用于游标的FOR循环 202
9.4.5 用于游标的SELECT和UPDATE语句 202
9.5 例外 203
9.5.1 例外的分类与捕获 203
9.5.2 Oracle预定义例外 204
9.5.3 处理非预定义例外 206
9.5.4 用户自定义例外 207
9.5.5 RAISE_APPLICATION_ERROR过程 208
9.6 存储过程和函数 209
9.6.1 存储过程/函数的作用 209
9.6.2 存储过程 209
9.6.3 函数 211
9.6.4 参数的传递形式 213
9.6.5 局部子程序 213
9.6.6 子程序嵌套调用时的例外处理 214
9.6.7 子程序的管理 214
9.7 包 216
9.7.1 包概述 216
9.7.2 包的创建与删除 217
9.7.3 包内元素的引用 219
9.7.4 无体包 219
9.7.5 重载 220
9.7.6 向前引用声明 221
9.7.7 一次(One-Time-only)过程 222
9.7.8 常用内置程序包 222
9.8 数据库触发器 227
9.8.1 数据库触发器概述 227
9.8.2 触发器设计指南 228
9.8.3 DML触发器 228
9.8.4 DDL触发器 232
9.8.5 系统事件触发器 233
9.8.6 对触发器主体过程的调用 234
9.8.7 防止从变异(Mutating)的表中读取数据 235
9.8.8 触发器的运用场合 236
9.8.9 管理数据库触发器 240
9.9 大对象类型(LOB) 241
9.9.1 大对象类型基础 241
9.9.2 DBMS LOB程序包 242
9.9.3 BFILE列的使用 245
9.9.4 从LONG向LOB迁移数据 246
9.9.5 临时LOB对象 246
9.10 数据对象参照依赖与子程序重新编译 247
9.11 虚拟专用数据库 249
9.11.1 虚拟专用数据库的引入 249
9.11.2 创建应用上下文环境 249
9.11.3 创建安全策略函数 251
9.11.4 应用安全策略 253
9.11.5 安全策略的运行模式与管理 255
本章小结 256
综合应用与习题九 257
第10章 数据管理 260
10.1 SQL*Loader 260
10.1.1 基本概念 260
10.1.2 SQL*Loader的语法及参数 261
10.1.3 控制文件 263
10.2 传统数据导入/导出工具 265
10.2.1 EXP 265
10.2.2 IMP 267
10.3 数据泵 269
10.3.1 EXPDP 269
10.3.2 IMPDP 271
10.4 闪回技术 273
本章小结 278
综合应用与习题十 278
第11章 数据库管理 279
11.1 初始化参数和系统性能调整 279
11.1.1 初始化参数概述 279
11.1.2 初始化参数文件 280
11.1.3 影响Oracle数据库系统性能的参数 282
11.2 启动与停止数据库 283
11.2.1 数据库的启动过程 283
11.2.2 使用SQL*Plus启动数据库 284
11.2.3 关闭Oracle数据库 284
11.2.4 改变数据库的可用性 286
11.3 控制文件管理 287
11.3.1 什么是控制文件 287
11.3.2 控制文件的内容 288
11.3.3 在SPFILE中使用多个控制文件 288
11.3.4 在PFILE中使用多个控制文件 288
11.3.5 获取控制文件的相关信息 288
11.4 重做日志管理 289
11.4.1 数据库运行模式 289
11.4.2 重做日志的写入 290
11.4.3 日志归档与维护联机重做日志 291
11.4.4 获取联机重做日志的相关信息 293
本章小结 293
综合应用与习题十一 293
附录 Oracle 10g的安装与卸载 295
参考文献 308