译者序 1
前言 1
引言 1
第一部分 Oracle介绍 1
第1章 Oracle8简介 1
1.1 信息管理 1
1.1.1 数据库 1
贺辞 1
1.2 Oracle8与高端数据库环境 2
1.1.2 数据库管理系统 2
1.1.3 创建于Oracle7基础上的Oracle8 2
1.2.1 分区表与索引 3
1.2.2 海量用户的管理 3
1.2.3 高级队列 4
1.2.4 并行处理能力的增强 4
1.3 Oracle8与Oracle的网络计算结构(NCA) 5
1.3.1 Oracle8---对象关系型数据库管理系统 5
1.4.1 备份与恢复 6
1.4 Oracle8数据库管理与安全性 6
1.3.2 Sedona---Oracle新的应用开发环境 6
1.4.2 口令管理 7
1.5 Oracle8与分布式数据库 7
1.5.1 复制性能的增强 7
1.5.2 分布式安全域 7
1.5.3 异类数据存取 8
1.6 展望 8
第2章 基本的关系型数据库结构 9
2.1 模式-有组织的数据库对象 9
第二部分Oracle8基础 9
2.1.1 模式---一个完全的逻辑学概念 10
2.1.2 模式与数据库用户帐号的相互关系 10
2.1.3 数据字典--一个唯一的模式 10
2.2 数据库表 10
2.2.1 列与数据类型 11
2.2.2 数据完整性与完整性限制 13
2.3 视图---查看表中数据的另一种不同方法 15
2.4 索引---改进表存取的性能 17
2.3.3 其他类型的视图 17
2.3.2 可更新视图 17
2.3.1 只读视图 17
2.4.1 B树索引 18
2.4.2 位图索引 19
2.4.3 索引表 20
2.4.4 其他索引选项 20
2.5 数据簇---存储表数据的独特方法 20
2.5.1 索引数据簇 21
2.5.2 哈希簇 21
2.7 同义词---同一对象的不同名字 22
2.6 序列---有效地生成唯一值 22
2.8 模式应用示例 23
第3章 使用SQL与事务 24
3.1 SQL---与Oracle8交互 24
3.1.1 查询 24
3.1.2 DML语句 26
3.1.3 DDL语句 27
3.2 优化---可执行的SQL语句 28
3.1.5 应用的可移植性与ANSI/ISO SQL标准 28
3.1.4 DCL语句 28
3.2.1 优化统计 29
3.2.2 优化选项 29
3.2.3 提示与优化控制 29
3.3 事务---完成工作 30
3.3.1 完成所有工作或什么也不做 30
3.3.2 事务类型 30
3.3.3 设计事务 31
4.1 PL/SQL---增加SQL过程流能力 34
第4章 对服务器编程 34
4.1.1 程序块 35
4.1.2 程序注释 35
4.1.3 程序声明 35
4.1.4 程序功能 40
4.1.5 程序例外处理 48
4.2 PL/SQL程序类型 50
4.2.1 匿名PL/SQL块 50
4.2.2 存储过程和函数 50
4.2.3 包 51
4.2.4 数据库触发器 54
4.3 外部过程 55
4.4 小结 56
第5章 使用对象扩展Oracle 57
5.1 面向对象 57
5.1.1 Oracle8和面向对象数据库 57
5.1.2 面向对象数据库术语及概念 58
5.2 怎样使用对象 59
5.3.2 创建对象类型 60
5.3 使用对象类型 60
5.3.1 设计对象类型 60
5.3.3 创建与使用对象类型示例 61
5.3.4 方法详解 68
5.4 对象与视图 72
5.4.1 对象型表的对象视图 72
5.4.2 关系型表的视图 73
5.4.3 视图与INSTEAD OF触发器 76
5.5 小结 77
第三部分 Oracle8数据库结构 79
第6章 控制数据库访问 79
6.1 用户管理 79
6.1.1 用户验证 79
6.1.2 用户的缺省表空间 80
6.1.3 用户的临时空间表 80
6.1.4 用户账号的锁定与解锁 80
6.2 权限管理 80
6.2.1 数据库权限类型 81
6.2.2 授权与收回特权 82
6.2.3 使用角色管理权限 82
6.3 资源限制 84
6.3.1 表空间限额 84
6.3.2 资源限制环境文件 84
6.4 数据库审计 85
6.4.1 有选择地审计 85
6.4.2 审计记录与审计追踪 85
6.5 什么是可信任Oracle 86
6.6 小结 86
6.4.3 设置审计选项 86
第7章 数据库存储 87
7.1 表空间 87
7.1.1 SYSTEM表空间 88
7.1.2 其他表空间 88
7.1.3 联机表空间和脱机表空间 89
7.2.1 一个表空间的数据文件数量 90
7.2 数据文件详细介绍 90
7.1.5 只读表空间和可读写表空间 90
7.1.4 永久表空间和临时表空间 90
7.2.2 数据文件的空间使用 91
7.2.3 数据文件大小 92
7.2.4 数据文件损坏 92
7.2.5 联机数据文件和脱机数据文件 92
7.3 控制文件 93
7.4 段、区间和数据块 93
7.6 回滚段 94
7.5.2 临时表空间 94
7.5 数据段和索引段 94
7.5.1 临时段 94
7.6.1 Oracle怎样写回滚段 95
7.6.2 SYSTEM回滚段 95
7.6.3 多个回滚段 95
7.6.7 回滚段的其他功能 96
7.7.1 数据块分配 96
7.7 数据块 96
7.6.6 延期回滚段 96
7.6.5 公共回滚段和私有回滚段 96
7.6.4 联机回滚段和脱机回滚段 96
7.7.2 数据块可用性和空闲列表 97
7.7.3 行链接与数据块大小 97
7.8 对象存储设置 98
7.8.1 表空间配置 98
7.8.2 区间设置 99
7.8.3 数据块设置 100
7.8.4 对象存储的缺省设置 101
7.9 多媒体数据的特有数据存储 102
7.10.1 分区表 103
7.10 数据分区 103
7.10.2 在数据分区中放置记录 104
7.10.3 使用最大值(MAXVALUE) 105
7.10.4 分区索引 105
7.10.5 分区索引选项 105
7.10.6 分区扩展表名 107
7.10.7 分区管理 107
7.11 小结 107
8.1 数据库服务器与数据库实例 109
8.1.1 服务器启动与关闭 109
第8章 Oracle软件结构 109
第四部分 Oracle8软件体系结构 109
8.1.2 服务器连接 110
8.2 Oracle8进程 110
8.2.1 服务器端后台进程 110
8.2.2 支持用户连接的进程选项 112
8.2.3 Oracle特定的进程结构 113
8.3 内存区与数据缓存区 115
8.4 Oracle8内存区 116
8.4.1 高速缓存区 117
8.4.2 共享池 118
8.4.3 系统全局区(SGA) 118
8.4.4 程序全局区(PGA) 119
8.4.5 排序区 119
8.5 Oracle8网络与Net8 119
8.5.1 透明的网络底层(TNS)与其他Net8层 119
8.5.2 TNS连接、初始化与目的地 120
8.5.3 TNS监听器 121
8.5.4 TNS地址 122
8.5.5 多网络与多协议交换 123
8.5.6 Net8配置 124
8.6 小结 124
第9章 共享数据库访问机制 125
9.1 三个C--竞争性、并发性与一致性 125
9.1.1 Oracle的并发性与一致性机制 125
9.1.2 事务与冲突 125
9.1.3 隔离的级别 126
9.2.2 锁级别 128
9.2.1 自动锁与显式锁 128
9.2 Oracle的锁机制 128
9.2.3 DML锁 129
9.2.4 DDL锁 132
9.2.5 内部闩锁 132
9.3 多版本 132
9.3.1 系统修改序列号 133
9.3.4 快照太老的错误 134
9.4 记住,一切都是自动的 134
9.3.3 多版本与事务级读一致性 134
9.3.2 非块查询 134
9.5 小结 135
第10章 数据库保护 136
10.1 不同类型的问题 136
10.1.1 系统崩溃或服务器崩溃 136
10.1.2 由于用户错误、冲突或者磁盘失效导致的文件丢失 136
10.1.3 场地灾难 137
10.2 数据库保护机制一览 137
10.3 恢复管理器介绍 138
10.4.1 事务日志结构 140
10.4 事务日志或重做日志 140
10.4.2 检查点 142
10.5 保护数据库控制文件 142
10.6 数据库备份 142
10.6.1 完全数据库备份 143
10.6.2 表空间备份 144
10.6.3 恢复管理器备份概念 144
10.6.4 逻辑数据库备份 146
10.7.1 前滚和回滚恢复阶段 147
10.7 数据库恢复 147
10.7.2 崩溃恢复 149
10.7.3 介质恢复---从文件损坏中恢复 149
10.7.4 完全恢复 151
10.7.5 不完全恢复 151
10.8 恢复优化 152
10.9 日志组和控制文件受到破坏该怎么办 152
10.10 高可用性选项 152
10.10.2 超越故障节点与数据复制 153
10.10.1 备用数据库 153
10.11 小结 154
第五部分 特定Oracle环境 155
第11章 分布式数据与数据复制 155
11.1 分布式数据库库 155
11.1.1 合作与自动 156
11.1.2 客户/服务器的扩展 156
11.1.3 网络和分布式数据库系统 156
11.1.4 分布式数据库中的数据库服务与命名 156
11.1.5 数据库链接 157
11.1.6 异构型分布式数据库 159
11.2 应用程序与分布式数据库 159
11.2.1 远程查询 160
11.2.2 分布式查询 160
11.2.3 远程更新 160
11.2.4 分布式更新 160
11.2.5 远程过程调用(RPC) 160
11.2.7 分布式事务 161
11.2.6 远程事务 161
11.3 分布式数据库透明性 162
11.4 独特的分布式数据库安全问题 162
11.5 数据复制简介 163
11.5.1 数据复制的用途 164
11.5.2 数据复制的类型 164
11.6 基本复制与只读快照 164
11.6.1 复杂快照 165
11.6.3 快照刷新 166
11.6.2 快照数据存储 166
11.7 高级复制环境 167
11.7.1 多主机复制 167
11.7.2 快照节点与可更新快照 167
11.7.3 高级复制选项比较 168
11.8 高级复制系统体系结构 169
11.8.1 复制对象与复制组 169
11.8.2 主节点与快照节点 169
11.8.3 复制目录 169
11.9.2 异步(存储然后传播)数据传播 170
11.9.1 行级复制 170
11.9 Oracle的高级复制软件机制 170
11.9.3 一个示例 171
11.10 高级复制系统中的复制冲突 171
11.10.1 复制冲突的类型 171
11.10.2 避免冲突 172
11.10.3 冲突检测与解决 172
11.11.1 过程化复制 173
11.11.2 同步(实时)数据传播 173
11.11 其他的高级复制选项 173
11.12 小结 174
第12章 Oracle的并行处理选项 175
12.1 并行处理介绍 175
12.1.1 单处理器计算机与多处理器计算机 175
12.1.2 共享内存系统 175
12.1.3 共享磁盘系统 176
12.1.4 非共享系统 177
12.2 并行处理SQL 177
12.2.1 串行处理 178
12.2.2 并行SQL处理 179
12.2.3 并行SQL处理体系结构 179
12.2.4 数据分区与并行SQL处理 180
12.3 Oracle的并行服务器选项---高可用性的多个实例 181
12.3.1 什么是并行数据库访问 182
12.3.2 并行服务器体系结构 182
12.3.6 从介质失效中恢复数据库 184
12.3.5 透明的超越故障应用 184
12.3.4 自动实例恢复 184
12.3.3 并行服务器数据库管理 184
12.4 并行服务器配置的独特的数据库特性 185
12.4.1 序列生成器 185
12.4.2 数据块空闲列表 185
12.4.3 特定实例区间分配 185
12.4.4 私有回滚段 185
12.4.5 反向储值索引 186
12.5 并行SQL处理与并行服务器处理混合 186
12.6 小结 186