第1章 安装与卸载 1
1.1 数据库技术简介 1
1.1.1 数据处理技术的3个阶段 1
1.1.2 数据模型 2
1.1.3 数据库系统的组成 4
1.2 Oracle数据库简介 5
1.2.1 Oracle数据库的发展历史 5
1.2.2 Oracle 10g的产品构成 5
1.2.3 Oracle 10g数据库的新特性 6
1.2.4 Oracle 10g的网络资源 8
1.3 Oracle 10g for Windows XP的安装 8
1.3.1 安装环境要求 8
1.3.2 安装Oracle 10g数据库 9
1.3.3 与Oracle数据库系统的有关服务 13
1.3.4 初识Oracle的管理工具 14
1.3.5 删除Oracle 10g数据库 18
1.4 配置网络 19
1.4.1 监听程序配置 19
1.4.2 命名方法配置 23
1.4.3 网络服务名配置 26
思考与练习 30
上机实验 30
第2章 体系结构 31
2.1 物理存储结构 31
2.1.1 数据文件 31
2.1.2 控制文件 32
2.1.3 日志文件 33
2.1.4 参数文件 35
2.1.5 其他文件 36
2.2 逻辑存储结构 37
2.2.1 表空间 37
2.2.2 段 38
2.2.3 区间 40
2.2.4 数据块 40
2.3 内存结构 40
2.3.1 SGA 40
2.3.2 PGA 42
2.3.3 大池 42
2.3.4 Java池 42
2.4 后台进程 44
2.5 Oracle实例 47
思考与练习 47
上机实验 48
第3章 管理数据库 49
3.1 创建数据库 49
3.1.1 使用DBCA创建数据库 49
3.1.2 使用命令方式创建数据库 57
3.2 启动和关闭数据库 60
3.2.1 启动数据库 60
3.2.2 关闭数据库 61
3.3 删除数据库 62
3.3.1 使用DBCA删除数据库 62
3.3.2 使用命令方式删除数据库 63
3.4 管理初始化参数文件 63
3.4.1 SPFILE和PFILE相互转换 64
3.4.2 修改初始化参数 65
3.4.3 查看初始化参数 67
3.4.4 有关初始化参数的数据字典 67
3.5 管理控制文件 69
3.5.1 创建控制文件 69
3.5.2 重定位控制文件 70
3.5.3 删除控制文件 70
3.5.4 有关控制文件的数据字典 70
3.6 数据字典 71
3.6.1 数据字典表 71
3.6.2 动态性能视图 72
3.7 克隆数据库 73
3.7.1 克隆数据库简介 73
3.7.2 克隆数据库实例 73
思考与练习 76
上机实验 76
第4章 管理数据 78
4.1 SQL*Plus 78
4.1.1 SQL*Plus简介 78
4.1.2 启动和退出SQL*Plus 78
4.1.3 交互式命令 80
4.1.4 编辑和运行语句 82
4.1.5 格式化输出 86
4.1.6 自定义SQL*Plus环境 88
4.2 SQL语言基础 89
4.2.1 概述 89
4.2.2 使用SELECT语句查询数据 91
4.2.3 使用INSERT语句插入数据 96
4.2.4 使用UPDATE语句更新数据 98
4.2.5 使用DELETE语句删除数据 98
4.2.6 事务控制命令 99
思考与练习 101
上机实验 102
第5章 存储管理 104
5.1 表空间 104
5.1.1 创建表空间 104
5.1.2 管理表空间 108
5.1.3 非标准数据块大小的表空间 111
5.1.4 表空间的联机和脱机 112
5.1.5 与表空间相关的数据字典 113
5.2 数据文件 114
5.2.1 创建数据文件 114
5.2.2 向表空间添加数据文件 115
5.2.3 改变数据文件的大小 116
5.2.4 数据文件的联机和脱机 117
5.3 临时表空间 118
5.3.1 创建临时表空间 119
5.3.2 创建临时表空间组 119
5.3.3 管理临时表空间组 121
5.4 日志文件 121
5.4.1 创建重做日志组及成员 122
5.4.2 移动重做日志文件 123
5.4.3 删除重做日志组及成员 124
5.4.4 日志切换 124
5.4.5 清除重做日志文件 125
5.4.6 设置数据库为归档模式 126
5.4.7 LogMiner工具的使用 127
5.5 OMF 130
5.5.1 什么是OMF 130
5.5.2 启用OMF 131
5.5.3 使用OMF 132
思考与练习 133
上机实验 134
第6章 对象管理 135
6.1 表管理 135
6.1.1 表简介 135
6.1.2 创建表 137
6.1.3 将普通表转变为分区表 137
6.1.4 修改和删除表 144
6.1.5 向表中插入数据 147
6.1.6 有关表的数据字典 149
6.2 视图管理 151
6.2.1 视图简介 151
6.2.2 创建视图 152
6.2.3 修改和删除视图 153
6.2.4 在视图中操作数据 154
6.2.5 有关视图的数据字典 154
6.3 索引管理 155
6.3.1 创建索引 156
6.3.2 修改、重建和删除索引 158
6.3.3 有关索引的数据字典 159
6.4 同义词管理 160
6.4.1 同义词简介 160
6.4.2 创建同义词 161
6.4.3 通过私有同义词访问其他模式中的对象 163
6.4.4 删除同义词 164
6.4.5 有关同义词的数据字典 164
6.5 序列管理 165
6.5.1 创建序列 165
6.5.2 删除序列 167
6.5.3 有关序列的数据字典 167
6.6 簇管理 168
6.6.1 簇简介 168
6.6.2 创建簇 168
6.6.3 修改和删除簇 170
6.6.4 簇的应用实例 170
6.7 数据库链接 171
6.7.1 数据库链接简介 171
6.7.2 创建数据库链接 172
思考与练习 172
上机实验 173
第7章 Oracle安全管理 175
7.1 用户管理 175
7.1.1 创建用户 175
7.1.2 修改用户 180
7.1.3 删除用户 181
7.1.4 有关用户的数据字典 181
7.2 权限管理 182
7.2.1 系统权限 182
7.2.2 对象权限 184
7.2.3 授予和撤销系统权限 184
7.2.4 授予和撤销对象权限 185
7.2.5 有关权限的数据字典 186
7.3 角色管理 187
7.3.1 系统预定义角色 187
7.3.2 用户自定义角色 188
7.3.3 为角色授予和撤销权限 189
7.3.4 将角色授予用户和其他角色 190
7.3.5 删除角色 190
7.3.6 有关角色的数据字典 191
7.4 概要文件管理 193
7.4.1 创建概要文件 193
7.4.2 将概要文件分配给用户 195
7.4.3 修改和删除概要文件 196
7.4.4 有关概要文件的数据字典 197
7.5 审计管理 198
7.5.1 激活审计 198
7.5.2 审计的类型 200
7.5.3 审计的操作 201
7.5.4 停止审计 204
7.5.5 关于审计的实例 205
7.5.6 有关审计的数据字典 206
思考与练习 207
上机实验 208
第8章 备份和恢复 209
8.1 备份和恢复概述 209
8.1.1 数据库故障类型 209
8.1.2 备份与恢复的内容 210
8.1.3 数据库备份的分类 211
8.1.4 备份与恢复策略 212
8.2 脱机备份和恢复 212
8.2.1 脱机备份 212
8.2.2 脱机恢复 214
8.3 联机备份和恢复 214
8.3.1 切换到归档模式 214
8.3.2 用命令方式实现联机备份 215
8.3.3 联机恢复概述 217
8.3.4 用命令方式实现联机恢复 218
8.4 导出和导入 220
8.4.1 用EXP命令实现导出 220
8.4.2 用IMP命令实现导入 244
8.4.3 传输表空间 226
8.5 数据泵技术 227
8.5.1 用EXPDP命令实现导出 227
8.5.2 用IMPDP命令实现导入 230
8.6 在OEM中导入/导出数据 233
8.6.1 用导出向导实现逻辑备份 233
8.6.2 用导入向导实现逻辑恢复 237
8.7 恢复管理器 240
8.7.1 恢复管理器简介 240
8.7.2 恢复管理器的相关术语 241
8.7.3 使用恢复管理器进行备份 242
8.7.4 使用恢复管理器进行恢复 247
8.8 闪回技术 250
8.8.1 闪回简介 250
8.8.2 闪回数据库 250
8.8.3 闪回表 252
8.8.4 闪回删除 253
8.8.5 闪回版本查询 254
8.8.6 闪回事务查询 254
8.9 SQL*Loader工具的使用 255
思考与练习 256
上机实验 257
第9章 PL/SQL语言基础 258
9.1 PL/SQL基础 258
9.1.1 变量及声明 258
9.1.2 数据类型 259
9.1.3 表达式 260
9.1.4 PL/SQL程序块结构 260
9.1.5 绑定变量 261
9.2 PL/SQL控制结构 262
9.2.1 选择结构 262
9.2.2 循环结构 264
9.2.3 GOTO结构 265
9.2.4 NULL结构 266
9.3 PL/SQL记录和表类型 267
9.3.1 使用%TYPE 267
9.3.2 记录类型 267
9.3.3 使用%ROWTYPE 268
9.3.4 表类型 268
9.4 游标 269
9.4.1 游标的基本操作 269
9.4.2 游标的属性操作 271
9.4.3 参数化游标和隐式游标 273
9.4.4 游标变量 274
9.5 过程和函数 275
9.5.1 过程的基本操作 276
9.5.2 参数设置与传递 278
9.5.3 函数的基本操作 281
9.5.4 内置子程序和本地子程序 283
9.6 触发器 285
9.6.1 触发器的类型 285
9.6.2 创建触发器 285
9.6.3 触发器的基本操作 291
9.6.4 触发器的新值和旧值 292
9.7 程序包 293
9.7.1 程序包的基本操作 293
9.7.2 系统预定义程序包 295
9.7.3 创建程序包的实例 296
9.8 异常处理 297
9.8.1 系统预定义异常 298
9.8.2 用户自定义异常 299
9.8.3 EXCEPTION_INIT语句 300
9.8.4 RAISE_APPLICATION_ERROR过程 300
思考与练习 302
上机实验 303
附录 习题参考答案 305
参考文献 336