第1章 Oracle 9i简介 1
1.1 数据库管理系统 2
1.2 Oracle的数据库文件 7
1.2.1 初始化参数文件 8
1.2.2 数据库参数文件 8
1.2.3 重做日志文件 8
1.2.4 存档重做日志文件 9
第2章 Oracle 9i体系结构 10
2.1 Oracle数据库的存储结构 11
2.1.1 Oracle数据库主要的存储结构 11
2.1.2 数据库表空间 11
2.1.3 段、区间和数据块 13
2.1.4 表 15
2.2.1 Oracle实例 17
2.2 Oracle数据库的系统结构 17
2.2.2 Oracle数据库系统的内存结构 19
2.2.3 Oracle数据库系统的后台进程 21
2.2.4 Oracle数据库的各种文件 26
2.3 Oracle数据库的应用结构 28
2.3.1 多磁盘结构 28
2.3.2 磁盘映像系统 29
2.3.3 客户/服务器系统 30
2.3.4 多线程服务器系统 32
2.3.5 并行数据库系统 34
2.3.6 分布式数据库系统 35
2.3.7 Oracle WebServer系统 37
第3章 Oracle 9i的安装和工具 39
3.1 Oracle 9i for Windows 2000的安装与配置 40
3.1.1 安装Oracle 9i服务器 40
3.1.2 Oracle 9i与Windows 2000 47
3.1.3 服务器当前配置 50
3.1.4 安装Oracle 9i客户端 52
3.2 Oracle 9i基本操作 60
3.2.1 登录Oracle 9i 60
3.2.2 启动Oracle 9i数据库 63
3.2.3 关闭Oracle 9i数据库 65
3.2.4 创建ODBC数据源 66
3.3 Oracle企业管理器的其他使用 67
3.3.1 管理多个数据库 67
3.3.2 生成并查阅配置 68
第4章 用SQL语言访问数据库 70
4.1 SQL的概念 71
4.1.1 SQL的特点与命令类型 71
4.1.2 应用程序的可移植性和ANSI/ISO SQL标准 73
4.1.3 Oracle 9i中的SQL环境 74
4.2 通过查询检索数据 78
4.2.1 查询结构 79
4.2.2 建立基本查询 80
4.2.3 在查询中的SELECT子句中建立表达式 82
4.2.4 从表中检索特定行 87
4.2.5 分组和排序查询结果集中的数据 91
4.2.6 连接相关表中的数据 94
4.3 插入、更新和删除表中行 96
4.4 提交和回退事务处理 100
4.5 事务处理设计 103
4.5.1 工作单元 104
4.5.2 读写事务处理 105
4.5.3 只读事务处理 106
第5章 PL/SQL程序设计 107
5.1.1 变量及声明 108
5.1 PL/SQL基础 108
5.1.2 数据类型 109
5.1.3 表达式 110
5.1.4 PL/SQL程序块结构 111
5.1.5 PL/SQL程序运行环境 112
5.2 PL/SQL控制结构 113
5.2.1 顺序结构 113
5.2.2 选择结构 114
5.2.3 NULL结构 116
5.2.4 循环结构 117
5.3 PL/SQL记录和表 121
5.3.1 使用%TYPE 121
5.3.2 记录类型 121
5.3.3 使用%ROWTYPE 123
5.4 游标 124
5.3.4 表 124
5.4.1 游标基本操作 125
5.4.2 游标的属性操作 127
5.4.3 参数化游标和隐式游标 128
5.4.4 游标变量 129
5.5 过程与函数 131
5.5.1 过程创建和调用 131
5.5.2 过程参数设置与传递 133
5.5.3 函数的创建、查询和调用 136
5.5.4 删除过程和函数 138
5.5.5 子程序的位置 138
5.5.6 子程序的依赖性与执行权限 142
5.6 触发器 142
5.6.1 触发器的类型 143
5.6.2 建立触发器 144
5.7.1 概念 146
5.7 异常处理 146
5.7.2 声明和处理异常 147
5.7.3 处理异常的特殊方法 148
第6章 创建数据库并对表进行操作 150
6.1 初始化参数 151
6.1.1 初始化参数文件的作用 151
6.1.2 初始化参数文件的位置、组织 151
6.1.3 初始化参数的种类 152
6.1.4 初始化参数的设置 153
6.1.5 查看初始化参数 157
6.2 准备创建数据库 158
6.2.1 设计数据库逻辑结构 158
6.2.2 设计数据库物理结构 159
6.2.3 选取全局数据库名 161
6.2.4 决定字符集 162
6.3 选择创建数据库的方法 164
6.3.1 使用数据库配置助手创建数据库 165
6.3.2 手工创建一个数据库 173
6.4 添加新的表空间 178
6.4.1 建议表空间 178
6.4.2 创建表空间 179
6.4.3 设置默认存储值 183
6.5 表空间管理 184
6.5.1 查看、修改表空间特性 184
6.5.2 撤销表空间 186
6.6 区间分配 187
6.6.1 比较动态和手工区间分配 187
6.6.2 释放空闲空间 188
6.6.3 整理自由空间碎片 189
第7章 对Oracle对象进行操作 192
7.1.1 概念 193
7.1 索引 193
7.1.2 各种类型索引的比较和选择 194
7.1.3 建立索引 195
7.1.4 查询索引信息 197
7.1.5 修改与删除索引 199
7.2 聚簇 202
7.2.1 表簇 202
7.2.2 哈希簇 205
7.2.3 查看、修改和删除聚簇 207
7.3 视图 210
7.3.1 概念 210
7.3.2 创建视图 211
7.3.3 查看、修改、重建与删除视图 212
7.4.1 同义词 215
7.4 同义词和序列 215
7.4.2 序列 218
7.5 利用Oracle企业管理器的方案管理进行对象操作 221
7.5.1 管理索引 221
7.5.2 管理聚簇 227
7.5.3 管理视图 231
7.5.4 管理同义词 235
7.5.5 管理序列 237
第8章 用户账号管理和权限控制 240
8.1 用户账号管理 241
8.1.1 用户认证(User Authentication) 241
8.1.2 创建用户账号 242
8.1.3 用户配置文件 243
8.1.4 默认的数据库用户 245
8.1.5 修改用户账号 246
8.1.6 锁定和解锁用户账号 247
8.1.7 查看数据库用户信息 248
8.1.8 删除用户 250
8.2 权限管理 250
8.2.1 数据库权限的种类 250
8.2.2 授予和撤销系统权限 252
8.2.3 授予和撤销对象权限 255
8.2.4 查看权限信息 257
8.3 角色管理 259
8.3.1 创建角色 259
8.3.2 预定义角色 261
8.3.3 给角色授予权限 261
8.3.4 将角色授予用户或其他角色 263
8.3.5 设置默认角色 264
8.3.6 启用和禁用角色 265
8.3.7 从角色中撤销已授予的权限或角色 267
8.3.8 删除角色 268
8.3.9 查看角色信息 268
8.4 使用Oracle企业管理器的安全管理 271
8.4.1 管理用户账号 271
8.4.2 管理权限 275
8.4.3 管理角色 278
第9章 审计与优化 286
9.1 什么是审计 287
9.1.1 准备审计跟踪 287
9.1.2 维护审计表 288
9.1.3 审计操作 289
9.1.4 审计数据操作 292
9.2 文件和系统资源管理 292
9.2.1 组合的资源限定 292
9.2.2 创建配额文件 293
9.2.4 更改配额文件 295
9.2.3 分配配额文件 295
9.2.5 删除配额文件 297
9.3 配置文件和口令管理 298
9.3.1 口令文件的创建与删除 298
9.3.2 在口令文件中增加与删除用户 300
9.3.3 口令文件的使用与增容 300
9.4 优化的概念与原则 301
9.4.1 优化的概念 301
9.4.2 I/O优化 303
9.4.3 硬件优化 305
9.4.4 分区管理 305
9.4.5 内存优化 307
9.5 SQL优化 308
9.5.1 优化器的原理与选择 308
9.5.2 人工SQL优化 309
第10章 数据库的备份与恢复 311
10.1 数据库备份概述 312
10.1.1 数据库备份的种类 312
10.1.2 造成数据库损失并需要恢复的各种问题 312
10.1.3 数据库备份的内容 313
10.1.4 数据库的备份模式 313
10.1.5 制订备份策略 314
10.2 脱机(冷)备份 315
10.2.1 脱机备份概述 315
10.2.2 脱机备份的操作 315
10.2.3 脱机备份的特点 316
10.3 联机(热)备份 316
10.3.1 联机备份概述 316
10.3.2 使数据库运行在存档模式 317
10.3.3 联机备份的操作 317
10.4.1 使用Oracle企业管理器备份管理前的准备 319
10.3.4 联机备份的特点 319
10.4 使用Oracle企业管理器的备份管理进行备份操作 319
10.4.2 使用备份管理进行备份 322
10.5 数据库恢复概述 332
10.5.1 数据库恢复的两个阶段 333
10.5.2 实例、崩溃恢复与介质恢复 333
10.5.3 完全恢复与不完全恢复 334
10.6 用SQL命令手工进行数据库恢复操作 335
10.6.1 进行自动介质恢复 336
10.6.2 进行完全介质恢复 338
10.6.3 进行不完全介质恢复 340
10.6.4 在非存档模式下恢复数据库 341
10.7 使用Oracle企业管理器的备份管理进行恢复操作 342
第11章 用Visual C++开发Oracle 9i应用程序 348
11.1.1 Visual C++简介 349
11.1 Visual C++开发数据库应用程序概述 349
11.1.2 Visual C++开发数据库应用程序的特点 350
11.1.3 Visual C++开发数据库应用程序的各种技术 351
11.2 用MFC ODBC类开发数据库应用程序 354
11.2.1 主要的MFC ODBC类 354
11.2.2 用MFC ODBC类操作数据库的方法 355
11.3 ADO对象模型 363
11.3.1 一致数据访问UDA(Universal Data Access)介绍 363
11.3.2 ADO对象模型 364
11.4 用ADO开发数据库应用程序 365
11.4.1 ADO开发数据库应用程序的特点 365
11.4.2 ADO开发数据库应用程序的流程和方法 366
11.5 一个开发实例——学籍管理系统 373
11.5.1 学籍管理系统的界面和功能 374
11.5.2 学籍管理系统的开发过程 376
附录 建表脚本 388