第Ⅰ部分 SQL语言与PL/SQL语言 1
第1章 数据库的概念与Oracle 9i的安装 1
1.1 实体—关系模型 2
1.2 关系数据库系统概述 3
1.3 Oracle数据库的历史与Oracle 9i 4
1.4 Oracle数据库的安装 6
1.5 本章小结 15
1.6 习题 15
2.1 Oracle的数据类型 16
第2章 SQL语言基础 16
2.2 SQL的基本语法 18
2.2.1 数字运算符和比较运算符 18
2.2.2 逻辑运算符 22
2.2.3 简单的查询 23
2.3 SQL*Plus工具和SQL*Plus工作单 24
2.4 函数 27
2.4.1 单行SQL字符函数 28
2.4.2 转换格式函数 29
2.4.3 多行函数 30
2.6 习题 31
2.4.4 DECODE函数 31
2.5 本章小结 31
第3章 数据操作和数据库对象 33
3.1 多表查询 33
3.1.1 简单的两表查询 33
3.1.2 三表查询和多表查询 33
3.1.3 一些连接操作设置符号 34
3.2 数据修改 37
3.2.1 数据的插入 37
3.3 事务控制命令 38
3.2.3 数据的删除 38
3.2.2 数据的修改 38
3.4 表的创建与修改 39
3.4.1 生成一个简单表 39
3.4.2 表的重命名与删除 41
3.5 视图 42
3.6 其他数据库对象和数据字典 43
3.6.1 索引(Index) 43
3.6.2 约束 44
3.6.6 数据字典 46
3.6.5 触发器 46
3.6.3 同义词 46
3.6.4 过程、函数和包 46
3.7 本章小结 47
3.8 习题 47
第4章 PL/SQL语言 50
4.1 PL/SQL简介 50
4.2 PL/SQL块结构与用途 50
4.3 常量与变量 51
4.3.1 变量声明 51
4.3.2 常量 52
4.3.3 单字符分界符和双字符分界符 53
4.3.4 标识符 54
4.4 执行一个PL/SQL块 54
4.5 条件语句 55
4.6 循环 56
4.7 游标 59
4.8 出错处理 61
4.9 本章小结 62
4.10 习题 62
5.1 企业管理器 65
第Ⅱ部分 Oracle数据库结构与管理 65
第5章 Oracle的管理界面 65
5.2 Oracle Net Manager 67
5.3 登录方式 68
5.4 启动和关闭数据库服务器 69
5.5 配置系统初始化参数 71
5.6 本章小结 72
5.7 习题 72
6.1 系统全局区 73
第6章 Oracle服务器的例程结构 73
6.1.1 数据库高速缓冲区 74
6.1.2 共享存储区 75
6.1.3 重做日志缓冲区 76
6.1.4 Java存储区 76
6.1.5 大型存储区 76
6.1.6 空池 76
6.2 进程全局区 76
6.4 Oracle进程 77
6.3 用户全局区 77
6.4.1 服务器进程 78
6.4.2 后台进程 79
6.4.3 从属进程 81
6.5 本章小结 82
6.6 习题 82
第7章 Oracle数据库的物理结构 84
7.1 数据文件 84
7.2 控制文件 84
7.2.2 控制文件的生成 86
7.2.1 多路控制文件 86
7.2.3 查询控制文件信息 87
7.3 重做日志文件 88
7.3.1 管理重做日志文件 88
7.3.2 日志转换(Log Switch) 88
7.3.3 检查点 89
7.3.4 多路日志文件 89
7.4 归档日志文件 91
7.4.1 设置归档路径 91
7.4.2 设置ARCHIVELOG/NOARCHIVELOG模式 92
7.4.3 查询日志和归档信息 93
7.5 本章小结 94
7.6 习题 94
第8章 Oracle数据库的逻辑结构 96
8.1 表空间 96
8.1.1 表空间管理 97
8.1.2 管理数据文件 103
8.1.3 数据文件信息查询 104
8.2 数据块 105
8.3 扩展区 106
8.4 段 107
8.4.1 数据段和索引段 107
8.4.2 临时段 107
8.4.3 回滚段 108
8.5 本章小结 111
8.6 习题 111
第9章 表、索引与约束 114
9.1 数据库表的创建 114
9.1.1 生成一个简单表 114
9.1.2 指定存储参数 115
9.1.3 表分区 117
9.2 表管理 119
9.2.1 指派与回收扩展区 120
9.2.2 表重组 120
9.3 表分析 121
9.4 创建索引 123
9.4.1 索引的分类与生成 124
9.4.2 索引的修改 125
9.4.3 查询索引信息 125
9.5 数据库的完整性约束 126
9.5.1 约束的分类 127
9.5.2 约束的创建 127
9.6 本章小结 129
9.7 习题 130
第10章 概要文件、用户权限与角色 132
10.1 概要文件 132
10.2 管理用户 134
10.2.1 创建用户 134
10.2.2 修改用户信息 135
10.4 查询用户信息 136
10.2.3 删除用户 136
10.3 用户验证 136
10.5 权限与角色 139
10.5.1 对象权限 139
10.5.2 系统权限 140
10.5.3 权限回收 143
10.5.4 角色管理 144
10.6 本章小结 147
10.7 习题 148
11.1 SQL*Loader 150
第11章 常用工具 150
11.2 数据导入与导出 152
11.2.1 用EXPORT导出数据 152
11.2.2 用IMPORT导入数据 153
11.2.3 表空间传输 155
11.3 国家语言支持 155
11.4 本章小结 156
11.5 习题 157
第12章 Oracle备份与恢复机制 158
12.1 理解数据库备份 158
第Ⅲ部分 Oracle数据库的备份与恢复 158
12.2 冷备份与热备份 159
12.3 归档备份与非归档备份对恢复的影响 160
12.4 理解几种不同的恢复机制 161
12.5 本章小结 162
12.6 习题 163
第13章 非RMAN下物理备份与恢复实现 164
13.1 数据库的冷备份 164
13.2 数据库的热备份 165
13.3 控制文件的备份 166
13.4 几种不同的恢复方式 168
13.4.1 非归档日志下的数据库恢复 168
13.4.2 归档日志下对丢失部分数据文件的恢复 169
13.4.3 丢失整个数据库情况下的恢复 170
13.5 不完全恢复 171
13.5.1 基于Cancel的恢复 171
13.5.2 基于Time的恢复 172
13.7 习题 173
13.6 本章小结 173
13.5.3 基于SCN的恢复 173
第14章 逻辑备份与恢复 175
14.1 使用逻辑备份与恢复工具 175
14.2 数据库逻辑备份与恢复的实现 176
14.3 使用Oracle企业管理器 177
14.4 本章小结 181
14.5 习题 181
15.1 并行恢复的实现 182
15.2 控制文件的重建 182
第15章 Oracle恢复机制的补充 182
15.3 只读表空间的恢复 183
15.4 本章小结 185
15.5 习题 185
第16章 Oracle数据库恢复管理器和待命服务器 186
16.1 RMAN简介 186
16.1.1 Nocatalog下连接RMAN 187
16.1.2 创建恢复目录 188
16.1.3 管理恢复目录 189
16.1.4 LIST和REPORT命令 189
16.1.6 操作系统命令备份 190
16.1.5 生成存储恢复管理器语句 190
16.2 使用RMAN进行备份 191
16.2.1 备份的分类与实现 191
16.2.2 备份操作的调整 191
16.3 使用RMAN进行还原与恢复 192
16.3.1 数据文件的恢复 192
16.3.2 表空间的恢复 193
16.3.3 非归档日志下数据库的还原 193
16.4.1 考虑使用备用数据库 194
16.4 Oracle服务器的备用数据库(Standby Database) 194
16.4.2 初始化参数的配置 195
16.4.3 创建待命数据库 196
16.5 本章小结 198
16.6 习题 198
第Ⅳ部分 性能调整 199
第17章 性能调整概要 199
17.1 调整目标与计划的制定 199
17.2 调整内容 200
17.3 常用调整工具 200
17.5 习题 202
17.4 本章小结 202
第18章 Oracle内存调整 203
18.1 共享存储区的调整 203
18.1.1 调整库高速缓存与数据字典高速缓存 204
18.1.2 共享存储区的“命中率” 204
18.1.3 提高共享存储区的性能 208
18.2 数据库高速缓冲区的调整 210
18.2.1 存取区缓存管理机制 210
18.2.2 测试数据库高速缓冲区的性能 210
18.2.3 提高数据库高速缓冲区的性能 213
18.3 重做日志缓冲区的调整 214
18.3.1 测试重做日志缓冲区的性能 215
18.3.2 提高重做日志缓冲区的性能 215
18.4 本章小结 216
18.5 习题 216
第19章 结构查询语句与应用程序设计调整 219
19.1 TKPROF工具 219
19.2 解释计划 219
19.3 使用AUTOTRACE工具选项 222
19.4 理解Oracle的最佳性能 224
19.5 设置优化模式 225
19.5.1 例程级优化模式 226
19.5.2 会话级优化模式 226
19.5.3 语句级优化模式 227
19.6 应用程序的性能 227
19.6.1 提高执行路径的效率 227
19.6.2 通过索引与聚簇来最小化I/O 228
19.7 OLTP和DSS系统的性能调整要求 232
19.9 习题 233
19.8 本章小结 233
第20章 物理I/O调整 235
20.1 数据文件的调整 235
20.2 数据库写进程的调整 237
20.3 段与数据块的调整 238
20.4 检查点进程的调整 239
20.5 归档日志进程的调整 240
20.6 排序区的调整 241
20.7 回滚段的调整 243
20.7.1 回滚段的作用 243
20.7.3 测试回滚段I/O性能 244
20.7.2 回滚段的种类 244
20.7.4 提高回滚段I/O性能 245
20.8 本章小结 246
20.9 习题 246
第21章 调整竞争 248
21.1 锁 248
21.1.1 数据锁 249
21.1.2 字典锁 250
21.1.3 死锁 251
21.2 闩的调整 253
21.3 Freelist的竞争 255
21.4 本章小结 256
21.5 习题 257
第22章 Oracle资源管理 258
22.1 资源管理概况 258
22.2 资源管理配置 259
22.3 资源管理器的管理 263
22.4 使用SQL*Plus创建资源计划和使用者组 264
22.5 本章小结 266
22.6 习题 266
23.1 考虑使用Oracle Expert 267
第23章 Oracle性能调整工具 267
23.2 Oracle Expert的使用 268
23.2.1 设定范围 270
23.2.2 收集统计 272
23.2.3 复查 276
23.2.4 生成建议案 280
23.2.5 脚本的生成 281
23.3 本章小结 282
23.4 习题 282
24.1 Oracle Net Manager功能简介 283
第24章 Oracle Net Manager基本架构 283
第Ⅴ部分 网络管理 283
24.2 Oracle监听器 284
24.3 概要文件 284
24.4 网络服务命名 285
24.5 Oracle Net Manager网络协议堆栈段 285
24.5.1 典型的OSI协议通信栈 286
24.5.2 Oracle Net Manager客户端/服务器中的堆栈 286
24.6 Oracle连接管理器 288
24.7 域 289
24.8 本章小结 290
24.9 习题 291
第25章 Oracle网络服务配置 292
25.1 配置监听器 292
25.2 本地命名服务器配置 294
25.3 主机命名法 296
25.4 Oracle命名服务器配置 297
25.5 多线程服务器配置与高级网络安全 304
25.5.1 多线程服务器配置 304
25.5.2 高级网络安全 307
25.7 习题 308
25.6 本章小结 308
第26章 出错处理 310
26.1 服务器端异常处理 310
26.2 命名服务器异常处理 311
26.3 客户机异常处理 311
26.4 NET8日志文件 312
26.5 NET8跟踪文件 312
26.6 本章小结 314
26.7 习题 314