目录 1
前言 1
第一部分 SQL和SQL*PLus 1
第1章 关系数据库和SQL综述 1
1.1 关系数据库 1
1.1.1 概念模型 1
1.1.2 数据模型 2
1.2 SQL综述 4
1.3 SQL*Plus综述 6
1.4 小结 8
第2章 基本查询 9
2.1 简单查询语句 9
2.2 使用WHERE子句 12
2.3 使用ORDER BY子句 16
2.4 小结 18
2.5 习题 18
第3章 使用SQL*Plus 20
3.1 启动SQL*Plus 20
3.2 连接命令 22
3.3 编辑命令 23
3.4 文件操纵命令 24
3.5 格式命令 26
3.6 交互式命令 28
3.7 显示和设置环境变量 30
3.8 小结 33
3.9 习题 33
第4章 复杂查询 35
4.1 数据分组 35
4.1.1 分组函数 35
4.1.2 GROUP By子句和HAVING子句 37
4.1.3 ROLLUP CUBE 39
4.2 连接查询 40
4.2.1 相等连接 41
4.2.2 不等连接 42
4.2.3 自连接 42
4.2.4 内连接和外连接 43
4.3 子查询 46
4.3.1 单行子查询 46
4.3.2 多行子查询 47
4.3.4 其他子查询 48
4.3.3 多列子查询 48
4.4 合并查询 50
4.5 其他复杂查询 52
4.6 小结 55
4.7 习题 55
第5章 单行函数 58
5.1 数字函数 58
5.1.1 常用数字函数 58
5.1.2 其他数字函数 59
5.2 字符函数 61
5.2.2 字符操纵函数 62
5.2.1 大小写转换函数 62
5.2.3 其他字符函数 64
5.3 日期函数 64
5.3.1 常用日期函数 65
5.3.2 Oracle9i新增日期函数 66
5.4 转换函数 67
5.4.1 TO_CHAR 68
5.4.2 TO_DATE 70
5.4.3 TO_NUMBER 70
5.5 其他常用函数 71
5.4.4 TO_TIMESTAMP 71
5.7 习题 75
5.6 小结 75
第6章 操纵数据 77
6.1 插入数据 77
6.1.1 使用VALUES子句插入数据 77
6.1.2 使用子查询插入数据 79
6.2 更新数据 80
6.2.1 使用表达式更新数据 80
6.3 删除数据 81
6.2.2 使用子查询更新数据 81
6.4 控制事务 82
6.4.1 事务和锁 83
6.4.2 提交事务 83
6.4.3 回退事务 84
6.4.4 只读事务 85
6.5 小结 85
6.6 习题 86
7.1 Oracle Server 88
第7章 Oracle体系结构 88
第二部分 系统管理 88
7.2 系统全局区(SGA) 89
7.2.1 共享池 90
7.2.2 数据高速缓存 91
7.2.3 重做日志缓冲区 93
7.2.4 大缓存池和Java池 93
7.3 后台进程 94
7.4 Oracle物理结构 97
7.4.1 数据库文件 97
7.4.2 其他文件 98
7.5 Oracle逻辑结构 101
7.6 Oracle Server工作原理 102
7.6.1 连接到Oracle Server 102
7.6.2 连接和会话 104
7.6.3 处理查询操作 105
7.6.4 处理DML语句 106
7.6.5 处理COMMIT 107
7.7 小结 107
7.8 习题 108
8.1.1 SQL*Plus 110
第8章 开始使用Oracle Server 110
8.1 常用工具 110
8.1.2 iSQL*Plus 112
8.1.3 PL/SQL Developer 114
8.1.4 Oracle Enterprise Manager 118
8.1.5 Net Manager 119
8.2 数据库管理员 123
8.3 管理初始化参数 124
8.3.1 参数文件 124
8.3.2 显示和设置初始化参数 126
8.4 启动和停止Oracle Server 127
8.4.1 启动Oracle Server 127
8.4.2 停止Oracle Server 129
8.5 小结 130
8.6 习题 131
第9章 数据字典和动态性能视图 132
9.1 数据字典 132
9.1.1 ALL_XXX 133
9.1.2 USER_XXX 133
9.1.4 数据字典内容 134
9.1.3 DBA_XXX 134
9.2 常用数据字典 136
9.3 动态性能视图 138
9.4 常用动态性能视图 139
9.5 小结 143
9.6 习题 143
第10章 管理表空间和数据文件 145
10.1 数据库逻辑结构 145
10.2 建立表空间 147
10.2.1 建立常用表空间 148
10.2.2 建立UNDO表空间 149
10.2.3 建立临时表空间 149
10.2.4 建立非标准块表空间 150
10.2.5 使用OMF建立表空间 150
10.3 改变表空间状态 151
10.4 删除表空间 152
10.5 扩展表空间 153
10.6 移动数据文件 154
10.6.1 在OPEN状态下移动数据文件 154
10.6.2 在MOUNT状态下移动数据文件 155
10.7 显示表空间和数据文件信息 156
10.8 小结 157
10.9 习题 158
第11章 管理对象空间 160
11.1 段 160
11.1.1 段分类 161
11.1.2 显示段信息 165
11.2 区 166
11.2.1 区存储参数 166
11.2.2 使用区存储参数 167
11.3 数据块 168
11.2.3 显示区信息 168
11.3.1 块空间参数 169
11.3.2 使用块空间参数 170
11.3.3 显示块空间参数 170
11.4 小结 171
11.5 习题 171
第12章 管理表 173
12.1 表简介 173
12.1.1 行格式 174
12.1.2 常用数据类型 174
12.2 建表 176
12.1.3 ROWID 176
12.2.1 建立普通表 177
12.2.2 建立分区表 177
12.2.3 建立簇表 183
12.2.4 建立索引组织表 188
12.2.5 建立临时表 189
12.2.6 建立外部表 190
12.3 修改表 191
12.3.1 修改普通表 191
12.3.3 修改簇 193
12.3.2 修改分区表 193
12.3.4 修改索引组织表 194
12.3.5 修改外部表 195
12.4 截断和删除表 195
12.5 显示表信息 196
12.6 小结 197
12.7 习题 198
第13章 管理索引 200
13.1 索引简介 200
13.2.1 建立B*-树索引 201
13.2 建立索引 201
13.2.2 建立位图索引 203
13.2.3 建立反向索引 205
13.2.4 建立函数索引 206
13.2.5 建立全局索引和分区索引 207
13.3 修改索引 207
13.4 删除索引 208
13.5 显示索引信息 208
13.6 小结 209
13.7 习题 210
14.1 约束简介 212
第14章 维护数据完整性 212
14.2 维护约束 215
14.2.1 定义约束 215
14.2.2 增加约束 216
14.2.3 修改约束名 217
14.2.4 删除约束 217
14.3 禁止和激活约束 217
14.3.1 约束状态 217
14.3.2 期约束检查 219
14.3.4 激活约束 220
14.3.3 禁止约束 220
14.4 显示约束信息 221
14.3.5 修正约束数据 221
14.5 小结 222
14.6 习题 222
第15章 管理用户、口令和资源 224
15.1 用户、方案和PROFILE 224
15.2 管理用户 225
15.2.1 建立用户 226
15.2.2 特权用户 228
15.2.4 删除用户 229
15.2.3 修改用户 229
15.3 使用PROFILE管理口令 230
15.3.1 账户锁定 230
15.3.2 终止口令 231
15.3.3 口令历史 232
15.3.4 口令校验 233
15.4 使用PROFILE管理资源 234
15.4.1 限制会话资源 234
15.4.2 限制调用资源 235
15.5 显示用户和PROFILE信息 236
15.4.3 修改PROFILE 236
15.4.4 删除PROFILE 236
15.6 小结 238
15.7 习题 238
第16章 管理权限和角色 240
16.1 权限和角色 240
16.2 管理系统权限 243
16.2.1 授予系统权限 243
16.2.2 显示系统权限 244
16.2.3 收回系统权限 245
16.3.1 授予对象权限 246
16.3 管理对象权限 246
16.3.2 显示对象权限 248
16.3.3 收回对象权限 249
16.4 管理角色 250
16.4.1 预定义角色 251
16.4.2 建立自定义角色 252
16.4.3 角色授权 252
16.4.4 激活和禁止角色 253
16.4.7 显示角色信息 255
16.4.5 修改角色 255
16.4.6 删除角色 255
16.4.8 使用OS角色 257
16.5 精细访问控制 259
16.5.1 应用上下文 260
16.5.2 实现精细访问控制 261
16.6 小结 264
16.7 习题 264
第三部分 备份与恢复 267
第17章 备份和恢复简介 267
17.1 备份和恢复的基本概念 267
17.1.2 恢复简介 268
17.1.1 备份简介 268
17.1.3 备份与恢复原则 269
17.2 Oracle故障分类 270
17.2.1 语句失败 270
17.2.2 用户错误 271
17.2.3 进程故障 271
17.2.4 网络故障 271
17.2.5 例程故障 272
17.2.6 介质失败 272
17.3.1 多元化控制文件 273
17.3 备份与恢复配置 273
17.3.2 多元化重做日志 274
17.3.3 改变日志操作模式 275
17.3.4 配置自动归档 277
17.3.5 多元化归档日志 279
17.4 小结 280
17.5 习题 281
第18章 物理备份 282
18.1 冷备份 282
18.2 热备份 283
18.2.1 联机备份 284
18.2.2 脱机备份 285
18.3 备份控制文件 286
18.3.1 建立控制文件副本 286
18.3.2 备份到跟踪文件 286
18.4 备份其他文件 288
18.5 查看备份信息 288
18.6 小结 289
18.7 习题 290
19.1.1 转储文件到不同位置 291
第19章 完全恢复 291
19.1 准备恢复 291
19.1.2 恢复命令 292
19.1.3 诊断文件丢失或损坏 293
19.1.4 应用归档日志 294
19.2 在NOARCHIVELOG模式下的物理恢复 295
19.3 在ARCHIVELOG模式下的物理恢复 296
19.3.1 恢复SYSTEM和UNDO表空间 297
19.3.2 恢复在关闭状态下意外丢失的数据文件 298
19.3.3 恢复在打开状态下意外丢失的数据文件 299
19.3.4 恢复未备份的数据文件 300
19.4 恢复控制文件 301
19.5 恢复重做日志 302
19.6 查看恢复文件 303
19.7 小结 304
19.8 习题 304
第20章 不完全恢复 306
20.1 不完全恢复简介 306
20.1.1 不完全恢复分类 307
20.2 基于时间恢复 308
20.1.2 不完全恢复命令 308
20.3 基于终止恢复 309
20.4 基于控制文件副本恢复 310
20.5 基于表空间的时间点恢复 312
20.6 小结 313
20.7 习题 313
第21章 逻辑备份与恢复 315
21.1 导出和导入简介 315
21.2 导出 316
21.2.1 导出表 317
21.2.2 导出方案 318
21.2.3 导出数据库 318
21.3 导入 320
21.3.1 导入表 320
21.3.2 导入方案 321
21.3.3 导入数据库 322
21.4 搬移表空间 323
21.5 小结 326
21.6 习题 326
习题参考答案 327