第一部分 数据库管理的原则 1
第1章 数据库、DBMS原理和关系型模型 1
1.1 了解数据库 1
前言页 1
1.2 理解DBMS 2
1.2.1 数据的安全 2
1.2.2 维护和实旋完整性 3
1.2.3 理解事务 3
1.3 理解RDBMS 4
1.3.1 关系模型 4
1.2.4 与数据库通信 4
1.3.2 Codd十二条法则 6
第2章 逻辑数据库的设计和标准化 8
2.1 实体关系模型 8
2.2 将实体关系图映射为关系模型 10
2.3 理解标准化 11
2.3.1 使用一个标准化例子 11
2.3.2 继续讨论范式 13
第3章 物理数据库的设计、硬件和相关问题 15
3.1 理解应用类型 15
3.2 使用定量评评估 16
3.3 使标准化 17
3.4 理解存储分层结构 18
3.5 理解RAID 19
3.6 理解DBMS中的瓶颈 20
3.7 选择平台 21
3.8 操作系统集成与通用内存/CPU建议 22
3.9 物理设计原则与常规更件设计建议 23
第4章 Oracle的解决方案 26
4.1 Oracle历史问题 26
4.2 Oracle是一个DBMS 26
4.3 Oracle是一个RDBMS吗 27
4.4 再论物理规划 28
4.5 Oracle的未来 30
第二部分 Oracle 7.xRDBMS 33
第5章 Oracle数据库体系结构 33
5.1 定义数据库 33
5.2 SYS和SYSTEM的模式 33
5.3 数据库组件 34
5.3.1 系统数据库对象 34
5.3.2 用户数据库对象 40
5.4 数据库段 41
5.4.1 表 41
5.4.2 索引 42
5.4.4 表簇 43
5.4.5 哈西簇 43
5.4.3 回滚段 43
5.5 Oracle数据字典 44
5.5.1 内部RDBMS(XS)表 44
5.5.2 数据字黄表 44
5.5.3 动态性能视图 45
5.5.4 数据字典视图 45
5.6 Oracle数据字典 45
5.6.1 视图 45
5.6.2 序列 45
5.6.4 同义词 46
5.6.5 数据库链 46
5.6.3 触发器 46
5.6.6 包、过程和函数 47
第6章 Oracle实例结构 48
6.1 介绍 48
6.2 定义实例 48
6.3 创建实例 49
6.4 Oracle实例的组成 49
6.4.1 系统全局区 50
6.4.2 Oracle后台进程 53
6.5 事务剖析 58
6.6 监控实例 58
6.6.1 使用追踪文件 58
6.6.3 使用VS表监控实例结构 59
6.6.2 通过操作系统追踪 59
7.1 创建Oracle环境 63
7.2 设计一个优化的弹性系结构 63
第7章 探讨Oracle环境 63
7.2.1 创建顶层目录 64
7.2.2 使用应用目录 64
7.2.3 管理数据库文件 65
7.2.4 命名约定 66
7.2.5 综合 67
7.3 配置Oracle环境 69
7.4 理解Oracle软件的环境变量 69
7.4.2 在UNIX上运行Oracle多种版本 70
7.4.1 ORACLE_HOME主目录 70
7.4.3 在NT环境下运行Oracle的多个版本 71
7.4.4 ORACLE_HOME目录 72
7.4.5 其他重要的配置文件 72
7.5 创建你的第一个数据库 73
7.5.1 创建初始化参数文件 73
7.5.2 创建实例 73
7.5.3 创建数据库 75
7.5.4 运行数据库创建后的步骤 75
7.5.5 创建数据库支持的对象 76
7.6 探索Oracle数据库 77
7.6.1 查看数据库 77
7.5.7 更新系统的配置文件 77
7.5.6 缺省帐户的配置文件 77
7.6.2 查看数据库段 79
7.6.3 查看各种各样的数据库对象 80
7.7 研究不熟悉的环境 80
7.7.1 研究UNIX环境 80
7.7.2 研究NT环境 81
第8章 Oracle数据库系统管理概述 82
8.1 什么是数据库的生命周期 82
8.1.1 分析阶段 82
8.1.3 实现阶段 83
8.1.2 设计阶段 83
8.1.4 维护阶段 84
8.2 DBA是什么 84
8.3 建立一个数据库的系统管理步骤 86
8.4 小结 89
第三部分 Oracle 8.x RDBMS 91
第9章 从Oracle 7.x到Oracle 8.x的移植 91
9.1 三种主要方法 91
9.2 移植工具 92
9.2.1 高层次的步骤 92
9.2.2 低层次的任务 92
9.2.3 移植前的任务 94
9.2.4 接受的标准 95
9.3 常见问题 96
9.4 移植之后的任务 96
第10章 分区 97
10.1 什么是分区 97
10.2 Oracle 8分区的一些例子 99
10.3 分区索引 101
10.4 维护操作 102
10.5 并行能力 104
10.6 附加的考虑 105
第11章 大对象的历史 107
11.1 历史 107
11.2 Oracle 7与Oracle 8结构的对比 108
11.3 LOB 109
11.3.1 使用LOB创建表 109
11.3.2 LOB存储管理 109
11.4 BFILE 110
11.5 使用LOB和BFILE的例子 111
11.6 DBMS_LOB包 112
11.7 更多的一些例子 114
11.8 最后的一些问题 115
第12章 面向对象的特性 116
12.1 背景 116
12.2 面向对象技术 117
12.3 Oracle 8对象选项 119
12.4 REF属性 120
12.5 方法 121
12.6 集合变量数组和嵌套表 122
12.7 对象视图 123
第13章 Net 8网络:新特性和概念 125
13.1 概述 125
13.2 连接管理器 125
13.3 其他新特性和概念 126
13.3.1 新的安全能力 127
13.3.2 新服务、工具和API 127
13.4 配置一些新特性 128
13.4.1 多路复用和连接共享池 128
13.4.4 监听器负载平衡 129
13.4.5 CMAN环境资源文件 129
13.4.2 网桥 129
13.4.3 防火墙 129
13.5 配置文件示例 130
第14章 Oracle 8I附加主题 132
14.1 新的ROWID 132
14.2 日令管理的增强 134
14.3 恢复管理器概念 136
14.3.1 恢复目录 136
14.3.2 RMAN命令和功能 137
14.3.3 RMAN术语 137
14.3.4 高级队列概念 139
14.3.5 约束、国家语言支持和SYS安全性 140
第15章 Oracle 8I概述 142
15.1 Oracle 8i 中的Java能力 142
15.1.1 Java虚拟机的主要部分 143
15.1.2 编写Java存储存储过程 144
15.1.3 SQLJ:Oracle 8i Java预处理器 146
15.1.4 企业级JavaBeans支持 147
15.1.5 Java和CORBA 149
15.1.6 Oracle的Java开发工具:JDeveloper 149
15.2 因特网文件系统 150
15.3 Oracle interMedia 150
15.6 Oracle 8I的可用性可恢复性 152
15.4 Oracle WebDB 152
15.7 安全性 154
15.8 其他特性 154
15.9 小结 157
第四部分 性能调整 159
第16章 性能调整基础 159
16.1 再看物理设计 159
16.2 为什么进行调整 160
16.3 调整规则 161
16.3.1 调整规则1 161
16.3.2 调整规则2 162
16.3.3 调整规则3 162
16.3.5 调整规则5 163
16.3.4 调整规则4 163
16.4 调整目标 164
16.5 使用投资的回报 164
16.5.1 步骤1:进行正确的逻辑设计 165
16.5.2 步骤2:进行正确的物理设计 165
16.5.3 步骤3:如果必要,进行重新设计 165
16.5.4 步骤4:书写高效率的应用代码 165
16.5.5 步骤5:如果必要,重写代码 165
16.5.8 步骤8:调整数据库输入/输出 166
16.5.9 步骤9:如果必要,调整操作系统输入/输出 166
16.5.7 步骤7:如果必要,调整操作系统内存结构 166
16.5.6 步骤6:调整数据库的内存结构 166
16.5.10 步骤10:如果必要,调整网络 167
16.5.11 步骤11:如果必要,调整客户端 167
16.5.12 步骤12:如果所有的调整都失败了,考虑更多的特殊解决方案 167
16.6 再看应用类型 169
16.6.1 OLTP问题 170
16.6.2 DSS问题 170
16.6.3 OLTP与DSS都需要考虑的其他问题 171
16.7 理解其准测试 171
16.8 使用Oracle 诊断工具 172
16.8.4 使用服务器管理器监控器 173
16.8.3 使用VS动态性能视图 173
16.8.2 使用EXPLAIN PLAN 173
16.8.1 使用SQL_TRACE与TKPROF 173
16.8.5 使用企业管理器性能包 174
16.8.6 使用utlbstat/utlestat与jreportl.txt 174
16.8.7 使用第三方产品 174
第17章 应用调整 175
17.1 动机 175
17.2 理解优化程序 176
17.2.1 分级访问路径 177
17.2.2 分析查询以提高效率 178
17.2.3 指定优化程序模式 179
17.2.4 理解优化术语 181
17.3 SQL TRACE与tkprof 182
17.4 理解EXPLAIN PLAN 185
17.5 鉴别典型问题 186
17.5.1 正确使用索引 186
17.5.2 应用调整的典型问题 187
17.6 重写查询 189
17.6.1 用集合操作符 189
17.6.2 使用布尔转换 190
17.7 介绍Oracle 8的新的索引特性 190
17.7.1 使用索引分区 190
17.7.5 使用反向键值索引 191
17.7.4 使用唯一索引表 191
17.7.3 使用知道分区的优化程序 191
17.7.2 使用相等分区的本地索引 191
第18章 调整内存 192
18.1 UTLBSTAT/UTLESTAT 192
18.1.1 解释结果 193
18.1.2 回顾报告文件 193
18.2 调整共享池 194
18.2.1 改进库缓存性能的方针 195
18.2.2 多线程服务器问题 198
18.3 调整数据库缓冲区缓存 198
18.4.1 什么是触发排序 202
18.4 调整排序 202
18.4.2 排序参数 203
18.4.3 其他排序微调参数 205
18.5 调整多线程服务器 205
18.6 调整锁 206
18.7 再看操作系统集成 207
第19章 调整输入/输出 209
19.1 调整表空间与数据文件 209
19.1.1 分区表空间 210
19.1.2 聚族 211
19.1.3 监控 213
19.2 调整块与区间 213
19.2.2 使用Oracle条 214
19.2.1 使用预分配值 214
19.2.3 避免碎片 215
19.3 调整回滚段 217
19.4 调整重做日志 219
19.5 Oracle 8的新输入/输出特性 220
19.5.1 分区扩展表名 220
19.5.2 直接载入INSERT 220
第20章 Oracle 8.x调整问题 222
20.1 分区 222
20.2 唯一索引表 223
20.3 并行数据控制语言 224
20.4 大池与非常大的内存 225
20.5 网络增强 227
20.6 数据库限制 228
20.7 小结 228
第五部分 管理Oracle数据库 231
第21章 管理数据库存储 231
21.1 管理数据库对象 231
21.1.1 管理Oracle块 231
21.1.2 理解PCTFREE与PCTUSED 232
21.1.3 索引与PCTUSED/PCTFREE 233
21.1.4 管理表存储区 233
21.1.5 管理索引 234
21.2.1 分裂成了碎片的表空间 235
21.2 数据库碎片 235
21.1.7 监控临时表空间和段 235
21.1.6 监控回滚段 235
21.2.2 处理分裂成碎片的表空间 237
21.2.3 对象碎片 238
21.2.4 行转移 238
21.2.5 行链接 239
21.2.6 消除链接和转移的行 239
21.3 管理回滚段 241
21.3.1 回滚段操作 241
21.3.2 设定回滚段大小 242
21.3.3 使用OPTIMAL参数 243
21.3.4 进行装载测试以获得回滚段估算 244
21.4 鉴别存储问题 245
21.4.1 开发表空间 246
21.4.2 表检查 249
21.4.3 优化簇存储 250
21.4.4 检查索引 250
21.4.5 观察回滚段的增长 251
21.4.6 管理临时表空间 252
21.5 管理增长的数据库 252
21.5.1 校正过度的表增长 252
21.5.2 合并簇 253
21.5.3 合并索引 253
21.5.4 和理表空间的增长 254
21.6 故障检查 255
21.6.1 区间限制 255
21.6.2 临时表碎片 255
21.7 方案:监控数据库的增长 255
第22章 鉴别资源密集型用户 259
22.1 不同的资源 259
22.2 CPU 261
22.2.1 CPU预览 262
22.2.2 寻找CPU密集型用户 263
22.3 文件输入/输出 275
22.3.1 输入/输出预览 276
22.3.2 寻找输入/输出密集型用户 279
22.3.3 磁盘队列 282
22.4 内存 282
22.4.1 进程内存分类 284
22.4.2 内存预览 285
22.4.3 寻找内存密集型用户 286
22.4.4 缓冲区高速缓存 289
22.4.5 其享池 290
22.4.6 递归调用 291
22.4.7 分页 291
22.4.8 分页错误 292
23.1 用户验证 294
23.1.1 数据库验证 294
第23章 安全管理 294
23.1.2 外部验证 296
23.1.3 企业验证 297
23.2 数据库权限管理 298
23.2.1 理解安全角色 301
23.2.2 理解管理 302
23.3 Oracle企业安全管理器 302
23.4 监控数据库资产 302
23.4.1 审计登录 302
23.4.2 审计数据库操作 303
23.4.3 审计数据库对象上的DML 303
23.5 保护数据完整性 304
23.4.4 管理审计 304
23.6 Oracle 8I因特网安全特性 305
23.6.1 使用数字证书 305
23.6.2 使用RADIUS协议的高级验证 305
23.7 防火墙支持 306
23.8 好的粒状存取控制 306
23.9 数据库资源管理器 306
23.10 硬件安全 307
23.11 恢复丢失的数据 307
23.11.1 操作系统备份 307
23.11.2 逻辑备份 307
24.1 备份策略 309
第24章 备份与恢复 309
24.2 理解物理数据丢失与逻辑数据丢失 310
24.3 使用逻辑备份 313
24.3.1 完全逻辑备份 316
24.3.2 指定用户模式的逻辑备份 316
24.3.3 指定表的逻辑备份 317
24.4 使用冷物理备份 317
24.4.1 命令行驱动冷物理备份 318
24.4.2 桌面驱动冷备份 319
24.5 使用热物理备份 321
24.5.1 理解复杂性 321
24.5.2 命令行驱动热物理备份 322
24.5.3 桌面驱动热物理备份 323
24.6 使用恢复管理器进行物理备份 324
24.7 从逻辑备份中恢复 326
24.7.1 从逻辑备份完全恢复 328
24.7.2 使用逻辑备份进行部分恢复 329
24.8 使用物理恢复 329
24.8.1 物理地重建一个数据库 330
24.8.2 完全恢复 331
24.8.3 不完全恢复 336
24.9 测试策略 340
24.10 问题解决策略 341
24.11 项目:被破坏的归档日志不同涵意 341
第25章 完全整性管理 343
25.1 实现锁 343
25.1.2 锁的概念 344
25.1.1 锁的需要 344
25.1.3 锁的类型 345
25.1.4 人工锁定 348
25.1.5 数据库死锁 349
25.2 分析Vslock 349
25.2.1 案例1:专用锁定的表 350
25.2.2 案例2:会话更新专用锁定表的行 351
25.2.3 案例3:一个会话试图更新另一会话更新过的行 352
25.3 监控系统中的锁 353
25.4 避免锁:可能的解决策略 359
25.5 锁定与分布式数据库 361
25.6.1 闩的功能 366
25.6 使用闩实现锁 366
25.6.2 分析与闩相关的视图 367
25.6.3 闩竞争约束 367
第六部分 Oracle接口和应用工具 375
第26章 管理员使用SQL*Plus 375
26.1 系统管理的SQL*Plus 375
26.1.1 使用SQL*Plus环境变量 376
26.1.2 激活/访问SQL*Plus 377
26.1.3 编辑SQL命令 377
26.1.4 输入并编辑SQL*Plus命令 378
26.1.5 在SQL*Plus中使用你的操作系统编辑器 379
26.1.6 运行SQL*Plus/SQL命令 380
26.2 使用SQL*Plus的COPY命令 383
26.3 使用SQL创建创建SQL 385
26.4 在SQL*Plus中对用户权限的限制 386
26.4.1 禁用一个SQL命令 388
26.4.2 重新允许使用一个SQL命令 388
26.4.3 禁用SET ROLE 389
26.4.4 禁用角色 390
26.5 追踪SQL语句 390
26.5.1 理解执行计划 392
26.5.2 使用AUTOTRACE功能 393
26.6 SQL*Plus 8.1版的增强 395
27.1 理解企业管理体系结构 397
第27章 Oracle企业管理器 397
27.2 开始学习 399
27.3 使用控制台功能 400
27.3.1 理解集成的控制台功能 401
27.3.2 使用导航器浏览数据库 402
27.3.3 使用组使数据库形象化 403
27.3.4 使用作业使数据库系统管理任务自动化 403
27.3.5 使用事件管理响应变化 404
27.4 使用数据库管理工具 405
27.4.1 管理实例 406
27.4.2 管理模式 407
27.4.3 管理安全性 408
27.4.5 执行SQL 409
27.4.4 管理存储 409
27.4.7 管理数据 410
27.4.8 管理软件 410
27.4.6 管理可恢复性 410
27.5 使用诊断包 411
27.5.1 性能监控与追踪 411
27.5.2 追踪数据库活动 411
27.5.3 监控会话 411
27.5.4 使用容量计划器与锁管理器 412
27.6 使用调整包 412
27.6.1 管理表空间 413
27.6.2 使用Oracle专家 413
27.7 使用企业增值产品 414
27.6.3 使用SQL分析 414
27.8 小结 415
第28章 PL/SQL基础 416
28.1 理解PL/SQL 416
28.2 理解PL/SQL引擎 417
28.2.1 适合客户/服务器环境 417
28.2.2 适合客户环境 420
28.2.3 对比服务器端与客户端开发 420
28.3 在工具箱里增加PL/SQL 421
28.3.1 加强SQL脚本 421
28.3.2 简化数据库管理 421
28.4 开始学习PL/SQL 422
28.3.3 以较少的争论得到较好的信息 422
28.3.4 设计更好的数据应用 422
28.4.1 理解事情的模式 423
28.4.2 基本PL/SQL开发环境 424
28.4.3 存取数据字典 425
28.5 语言教程 425
28.5.1 编码规定 426
28.5.2 特殊字符 426
28.5.3 PL/SQL的块结构 427
28.5.4 声明变量 438
28.5.6 循环 448
28.5.5 赋值 448
28.5.7 使用游标 451
28.5.8 例外处理 456
28.5.9 使用子程序 461
28.6 Oracle 8I专有的功能 468
28.6.1 本地动态SQL 468
28.6.2 成批捆绑 468
第29章 使用存储子过程、包与提供的包 469
29.1 定义存储子过程与包 469
29.2 建立与使用存储过程 470
29.2.1 从SQL调用存储子过程 473
29.2.2 从PL/SQL调用存储子过程 474
29.3 使用SHOW ERRORS调试 475
29.4 检查存储程序或包的状态 479
29.5 建立与使用包 480
29.5.1 包声明与包体 480
29.5.2 比较公有声明与私有声明 483
29.5.3 引用包元素 483
29.6 Oracle 8i数据库提供的包 484
29.6.1 在服务器内交互 484
29.6.2 在服务器以外交互 485
29.6.3 从服务器获取更多的信息 485
29.7 描述提供的包 485
29.8 开始学习Oracle 8i提供的包 486
29.8.1 定位DBMS包 487
29.8.2 确定包已正确安装 487
29.9 使用Oracle 8i提供的包 488
29.9.1 使用DBMS_APPLICATION_INFO监控 488
29.9.2 使用BDMS_DDL重新编译包 489
29.9.3 使用DBMS_OUTPUT格式输出 492
29.10 小结 494
第30章 使用导入与导出 495
30.1 理解导出与导入的目的与能力 495
30.2 理解行为 497
30.3 控制配置导用与导入 498
30.4.1 当表存在时识别行为 503
30.4 导出与导入会话预排 503
30.4.2 重亲组组一个碎片表空间 504
30.4.3 在模式间移动数据库对象 506
30.4.4 多个对象与多个对象类型 507
30.4.5 分区级导入 508
30.4.6 当表空间不匹配时识别行为 508
30.4.7 在表空间之间移动数据库对象 509
30.5 使用SH OW与INDEXFILE选项 509
30.6 便携式表空间 511
第31章 SQL*Loader 512
31.1 运行SQL*Loader 512
31.2 SQL*Loader组件 513
31.2.2 SQL*Loader输出 514
31.2.1 SQL*Loader输入数据 514
31.2.3 控制文件语法 515
31.3 SQL*Loader示例一览 516
31.3.1 例子1:装载定长数据 518
31.3.2 例子2:装载变长数据 520
31.3.3 例子3:装载嵌套数据 521
31.3.4 例子4:条件装载 522
31.3.5 例子5:装载到分区表 524
31.4 常规路径装载与直拉发路径装载 527
31.4.1 使用常规路径装载 527
31.4.2 使用直接路径装载 528
31.4.3 装载嵌套列、嵌套表与变长数组 529
31.4.4 使用SQL*Loader装载LOBS 530
31.4.5 SQL*Loader性能提示 531
31.5 小结 531
第32章 系统管理员设计器 532
32.1 设计器:Oracle 8i的常用计算机辅助工程解决方案 532
32.1.1 系统开发生命周期 533
32.1.2 上游CASE与下游CASE 533
3.2.2 设计器一览 533
32.2.1 设计器/2000R1.3.2的改变 534
32.2.2 设计器组件 535
32.2.3 设计编辑器 536
32.2.4 理解知识库 537
32.2.5 使用图表 538
32.2.6 设计器使用的图表技术 539
32.2.7 生成器 540
32.2.8 模型重建机制 541
32.2.9 Oracle CASE交换机 541
32.2.10 使用设计器的瀑布定向方法 542
32.3 设计器和理 544
32.3.1 理解知识库 544
32.3.2 知识库大小 545
32.3.3 保护设计器知识库 545
32.3.4 共享对象与传送对象 546
32.3.7 移植应用 549
32.3.6 版本控制与改变控制 549
32.3.5 使用知识库的引用完整性 549
32.3.8 移动主存取控制元素 550
32.3.9 在文档中放置设计器图表 551
32.3.10 使用设计器的逆向工程 552
32.3.11 使用设计器进行数据管理配置 553
32.4 提高设计器性能 555
32.4.1 优化客户机 555
32.4.2 优化网络 555
32.4.3 优化设计器 555
32.4.4 优化数据库服务器 555
32.5.1 使用API 556
32.5 应用编程界面 556
32.5.2 API视图与包 557
32.5.3 API限制 557
32.6 故障检定设计器 558
32.6.1 检查常见错误 558
32.6.2 使用诊断和追踪 558
32.6.3 从设计器有效地生成开发器应用的技巧 560
32.6.4 设计器与Ocracle 8i 562
第七部分 Oracle网络 565
第33章 Oracle网络基础 565
33.1 理解Oracle网络产品特性 565
33.1.1 理解系统管理与管理组件 566
33.1.3 理解可选择的安全性扩展名 567
33.1.2 网络命名规定 567
33.3 网络协议堆栈 568
33.2 SQL*Net与Net8体系结构 568
33.3.1 Oracle协议适配器 569
33.3.2 透明网络底层 569
33.4 使用开放系统互连参考模型 569
33.4.1 基层 570
33.4.2 接口 571
33.4.3 协议堆栈 571
33.4.4 TCP/IP协议堆栈 571
33.5 理解SQL*Net操作 573
33.6.1 计划网络设计 574
33.6.2 配置文件一览 574
33.6 安装与配置SQL*Net 574
33.6.3 准备安装SQL*Net 575
33.6.4 安装32位SQL*Net 577
33.6.5 使用Oracle客户软件管理器组件 578
33.6.6 使用Oracle客户软件管理器安装SQL*Net 579
33.7 小结 580
第34章 高级安全选项 581
34.1 强力安全方针基础 581
34.2 因特网使用三层应用设计 582
34.3 防火墙:它们是什么?不是什么 583
34.3.1 在计算机资源中锁定端口 583
34.3.2 计算机资源间网络通信的约束 583
34.3.4 限制Web服务器与数据库交互 584
34.3.3 约束通信方向 584
34.4 使用高级安全选项 585
34.3.5 防火墙类型 585
34.5 启用数据加密与校验 586
34.6 ASO支持的RADIUS协议设备 587
34.7 安全套接字层协议 588
34.8 Oracle工具包的支持 588
34.9 理解多功能线程服务器 589
34.9.1 多线程服务器结构 589
34.9.2 配置多线程服务器 590
34.10 使用Oracle连接管理器 591
34.10.1 配置连接多路技术 591
34.9.3 管理多线程服务器 591
34.10.2 配置多协议支持 592
34.11 实例学习 592
34.12 小结 593
第八部分 Oracle应用服务器 595
第35章 Oracle应用服务器概述 595
35.1 Oracle应用服务器介绍 595
35.2 理解因特网计算 595
35.3 理解Oracle应用服务器 596
35.3.1 HTTP监听层 597
35.3.5 JCORBA与企业级Java Beans 598
35.3.4 插件 598
35.3.3 应用层 598
35.3.2 Oracle应用服务器层 598
35.4 使用Oracle应用服务器提供基本服务 599
35.4.1 事务服务 599
35.4.2 插件之间交换服务 599
35.4.3 永久存储服务 599
35.4.4 验证服务 599
第36章 Oracle应用服务器组件 600
36.1 分析HTTP监听层 600
36.1.1 获得更详细的细节 600
36.1.4 路径映射 601
36.1.5 解析域名 601
36.1.3 文件的内存映射 601
36.1.2 理解HTTP监听器的体系结构 601
36.1.6 HTTP监听器配置参数 602
36.1.7 第三方HTTP监听器 603
36.2 分析应用服务器层 604
36.2.1 WRB调度器 604
36.2.2 IPC支持 605
36.2.3 应用服务器层组件 605
36.3 分析应用层 606
36.3.1 使用RL/SQL插件 606
36.3.3 WRB应用程序界面 608
36.3.4 理解插件与ICX 608
36.3.2 WRB SDK的孩子:C Web插件 608
36.3.5 WRB记录器应用程序界面 616
36.3.6 使用Jweb插件 618
36.3.7 使用 Perl插件 621
36.3.8 企业级Java Beans与JCORBA 621
36.4 小结 622
第37章 安装与配置OAS 623
37.1 在Sun Solaris上安装Oracle应用服务器 623
37.1.1 硬件与软件需求 623
37.1.2 安装完成后重新链接可执行文件 624
37.1.4 设置预备环境变量 625
37.1.3 进行预安装工作 625
37.1.5 设计创建文件的权限代码 626
37.1.6 从起始文件更新环境 626
37.2 在Windows NT上安装Oracle应用服务器 626
37.3 理解Oracle应用服务器的是新安装特性 627
37.3.1 鉴别产品依赖性 628
37.3.2 设计路径结构 628
37.4 安装Oracle应用服务器 629
37.5 使用Oracle应用服务器的结点管理器 629
37.6 创建一个HTTP监听器 630
37.7 安装PL/SQL工具包 631
37.8 创建一个新的PL/SQL插件 632
37.10 安装的其他有用提示 634
37.9 疑难解答 634
第38章 并行查询管理 635
38.1 介绍 635
第九部分 并行环境与分布式环境 635
38.2 并行加载 636
38.3 并行恢复 636
38.4 并行传播 637
38.5 并行SQL执行 637
38.6 可以并行的SQL操作 638
38.7 理解并行度 639
38.7.1 决定并行度 639
38.8 理解查询服务器进程 640
38.7.2 当没有足够的查询伺服器时 640
38.9 分析对象以更新统计 641
38.10 理解9,3,1算法 641
38.11 理解并行DML 641
38.12 OPS环境下的并行执行 642
38.13 Oracle 8i中的改变 643
38.14 调整并行查询 643
38.15 疑难解答 643
第39章 并行服务器管理 644
39.1 理解并行服务器的优点 644
39.2 单实例与行服务器数据库的比较 645
39.2.1 厂商接口 646
39.2.2 使用并行缓存管理锁进程 647
39.2.3 使用并行缓存管理锁参数 650
39.2.4 并行服务器初始参数 656
39.2.5 并行服务器的回滚段考虑 659
39.2.6 重做日志与并行服务器实例 660
39.2.7 使用空闲列表组以避免竞争 661
39.3 决定何时并行服务器可以解决一个商务需要 664
39.4 为超越故障设计一个并行数据库 664
39.5 为可伸缩性设计一个并行数据库 666
39.5.1 应用分区与功能分区 666
39.5.3 物理表分区 669
39.5.2 部门与线型商务分区 669
39.5.4 事务分区 670
39.5.5 索引与可伸缩性考虑 670
39.5.6 序列生成器与多实例 671
39.6 并行服务器创建的特殊考虑 671
39.7 怎样监控与调整并行服务器 673
39.7.1 VSLOCK_ACTIVITY 673
39.7.2 VSBH 674
39.7.3 VSCACHE与VSPING 675
39.7.4 并行服务器的调整策略 676
39.8 附加的提示与注意事项 677
40.1 理解分布式数据库 678
40.1.1 描述每种类型的数据库 678
第40章 分布式数据库管理 678
40.1.2 数据库命名规定 679
40.1.3 归档透明性 679
40.1.4 使用Oracle安全服务器与全局用户 680
40.1.5 SQL*Net 681
40.2 使用一个分布数据库 681
40.2.1 设置一个分布式系统 682
40.2.2 识别分布式系统中的潜在问题 684
40.3 使用分布式事务 685
40.3.1 理解两阶段提交 685
40.2.3 调整分布式系统 685
40.3.2 悬面未决事务的处理 686
40.4 理解只读快照 688
40.5 在列级创建一个只读快照 688
40.5.1 设置一个快照 689
40.5.2 使用快照刷新组 690
40.6 快速快照刷新 690
40.6.1 确定快照中的潜在问题 690
40.6.2 理解快照的限制 692
40.6.3 调整快照 693
40.6.4 使用快照的初始化参数 694
41.1 什么是复制 695
41.2 多重主机复制 695
第41章 复制管理 695
41.2.1 主群组 696
41.2.2 快照组 697
41.3 传播的类型 699
41.3.1 异步传播 699
41.3.2 同步传播 700
41.4 复制的类型 700
41.4.1 行级复制 700
41.4.2 串行传播 701
41.4.3 并行传播 701
41.5 冲突解决 702
41.5.1 冲突的类型 702
41.4.4 过程化复制 702
41.5.2 避免冲突 703
41.5.3 鉴别冲突 703
41.5.4 解决冲突 705
41.6 快照 709
41.7 一些有用的工具 710
41.8 Oracle 8与Oracle 8i的新功能 710
41.8.1 Oracle 8复制的新功能 710
41.8.2 Oracle 8i 复制的新功能 710
41.9 小结 710
附录 711
A 介绍在Solaris系统上的Oracle 711
B Windows NT上的Oracle 721