本书的使用对象 1
本书的组织 1
引言 1
本书使用的约定 2
第一部分 Windows NT环境下Oracle数据库系统初探 5
第1章 Windows NT与Orackle8i的体系结构 5
1.1 Windows NT基础知识 5
1.1.1 Windows NT体系结构 5
1.2 Windows NT环境下Oracle 8i数据库系统体系结构 8
1.3 Windows NT系统服务 9
1.3.1 后台进程与线程 9
1.4 Oracle数据库存储结构 10
1.5 数据库文件 11
1.5.1 初始化文件 12
1.5.5 数据文件 14
1.5.3 Redo日志文件 14
1.5.4 存档日志文件 14
1.6 数据库逻辑组件 15
1.6.1 数据块(data block) 15
1.6.2 数据区(cxient) 15
1.6.3 段(segment) 16
1.6.4 表空间(tablespace) 16
1.7 数据字典表与视图 16
1.8 小结 19
1.9 问与答 19
1.10 工作室 19
测验 19
练习 19
2.1 Windows NT注册表 20
第2章 用于Oracle 8i数据库的Windows NT系统工具 20
2.2 控制面板 22
2.3 磁盘管理器(CDisk Adminstrator) 24
2.3.1 Oracle 8安.装中的RAID级 24
2.4 事件查看器 26
2.5 性能监视器 29
2.5.1 监视Oracle 8i数据库对象 29
2.6 用户管理器 32
2.7 Windows NT诊断器(Windows NT Diagnostics) 35
2.8 磁盘修复工具(Repair Disk Utility) 36
2.10 Windows NT资源管理器(Windows NT Explore) 38
2.13 小结 39
2.14 问与答 39
2.12 获得Windows NT网络命令帮助 39
2.11 其他Windows NT系统工具 39
2.15 工作室 40
测验 40
练习 40
第3章 为Oracle 8i数据库系统配置Windows NT服务器* 41
3.1 作出选择 41
3.1.1 Windows NT系统上运行Oracle数据库基本的硬件需求 45
3.2 Windows NT工作站与Windows NT服务器 47
3.2 工作组与网域 48
3.3.1 工作组模型 48
3.3.2 网域模型 49
3.3.3 在Windows NT网域之间建立委托关系 49
3.4 应用服务包(Service Packs) 53
3.4.1 应用服务包后运行Windows NT修复安装 55
练习 57
测验 57
3.5 小结 57
3.6 问与答 57
3.7 工作室 57
第4章 在Windows NT系统安装Oracle 8i 58
4.1 系统需求 58
4.2 启动数据库内容 69
4.3 客户机/服务器安装 70
4.4 使用多线程服务器(MTS) 70
4.4.1 连接机制 71
4.4.2 多线程服务器的初始化参数 71
4.4.3 使用MTS的常见问题 73
4.5 小结 73
测验 74
练习 74
4.7 工作室 74
4.6 问与答 74
第二部分 创建数据库 77
第5章 将Oracle 7移植到Oracle 8i 77
5.1 使用MIG(移植实用程序)移植Oracle 数据库 78
5.2 使用Oracle数据移植助手 82
5.2.1 检查移植后数据库文件 84
5.3 将Oracle 数据库移植到已存在的目录结构 84
5.3.1 安装时移植Oracle 数据库 85
5.4 将Oracle数据库移植到新的目录结构 85
5.4.1 安装时移植Oracle 数据库 85
5.5 使用导入/导出方式移植数据库 85
5.6 使用Oracle Migration Assistant移植Microsoft Access 88
5.8 小结 89
5.7 移植后处理步骤 89
5.9 问与答 90
5.10 工作室 90
测验 90
练习 90
第6章 在Windows NT下创建Oracle 8i数据库 91
6.1 创建数据库为必备条件 91
6.2 为数据库选择初始化参数 92
6.3 组织数据库结构以减少争用和碎片 93
6.4 设置环境变量 94
6.5 选择数据库创建方法 95
6.5.1 使用CREATE DATABASE命令 96
6.6 删除数据库 104
6.7 小结 104
测验 105
6.8 问与答 105
6.9 工作室 105
练习 106
第7章 使用Migration Workhench将SQL Server数据库移植到Oracle 8i 107
7.1 使用Migration Workbench 108
7.1.1 学习使用Migration Workbench图形用户界面 109
7.2 保存模式对象 111
7.3 安装Oracle Migration Workbench 111
7.3.1 Oracle Migration Workbench文件位置 113
7.3.2 创建Oracle Migration Workbench存储结构 113
7.4 Oracle Migration Workbench分析器(Parser)问题 115
7.4.1 移植DATETIME数据类型 116
7.4.2 存储过程的错误处理 117
7.4.5 移植单独的SQL语句 118
7.4.4 自定义错误信息 118
7.4.3 RAISERROR语句 118
7.4.6 处理逻辑事务(Logical Transaction) 119
7.4.7 移植临时表 119
7.5 小结 122
7.6 问与答 122
7.7 工作室 122
测验 122
练习 122
第8章 在Windows NT下集成和管理Oracle8i 123
8.1 OS确认 123
8.1.1 创建一个被Windows NT确认的DBA帐户 123
8.2 Windows NT下的最优灵活体系结构(OFA) 126
8.2.1 为什么使用OFA兼容数据库 126
8.3 配置自动关闭 130
8.5 自动启动数据库 131
8.4 数据库密码加密 131
8.5.1 当数据库不能自动启动时的调试提示 132
8.6 在Windows NT下使用16位应用程序 133
8.6.1 Windows NT下的16位应用程序 134
8.6.2 在自己的NTVDM中运行16位应用程序的调试 134
8.6.3 把一个应用程序设定为Windows NT服务 135
8.7 使用Windows NT调度程序 135
8.8 使用实例管理器(ORADIM) 137
8.9 小结 139
8.10 问与答 140
8.11 工作室 140
测试 140
练习 140
9.1.1 熟悉SQL*Loader的文件 143
9.1 使用SQL*Loader 143
第三部分 使用Oracle实用工具 143
第9章 使用Oracle工具 143
9.1.2 数据装载 145
9.1.3 改善SQL Loader性能 149
9.2 EXPDRT/IMPORT实用工具 150
9.2.1 Oracle EXPORT和IMPORT参数 153
9.2.2 优化数据库输出 155
9.2.3 优化数据库输入 155
9.2.4 用EXPORT VIEWS 156
9.2.5 EXPORT/IMPORT和次序 156
9.3 小结 157
测验 158
练习 158
9.5 工作室 158
9.4 问与答 158
第10章 使用Oracle企业管理器管理Oracle8i 159
10.1 介绍OEM部件 159
10.1.1 OEM控制台 160
10.1.2 OEM容器(Repository) 160
10.1.3 通信守护进程(DAEMON) 161
10.1.4 智能代理 161
10.1.5 通用服务 161
10.1.6 应用程序接口(API) 162
10.2 OEM请求文件示例 162
10.2.1 SQLNET.ORA客户文件 162
10.2.2 TNSNAMES.ORA客户文件 163
10.2.3 TOPOLOGY.ORA客户文件 163
10.2.6 LISTENER.ORA服务文件 164
10.2.5 TNSNAMES.ORA服务文件 164
10.2.4 SQLNET.ORA服务文件 164
10.2.7 SNMP.ORA服务文件 165
10.3 使用数据库应用程序 165
10.3.1 启动和关闭数据库 167
10.3.2 使用Storage Manager管理数据库存储 168
10.4 执行高级管理任务 170
10.4.1 使用性能包 171
10.4.2 Oracle PerformANCE Manager图表 172
10.5 小结 173
10.6 问与答 173
10.7 工作室 173
测验 173
练习 174
第11章 使用Replication Manager 175
11.1 理解复制 175
11.1.1 复制配置 176
11.2 数据分发方法 177
11.2.1 冲突解决方案 178
11.3 复制术语 179
11.3.1 操作任务队列里的任务 181
11.3.2 复制数据的可替换方案 182
11.3.3 复制帐户(Replication Accounts) 183
11.4 Replication Manager的特点 184
11.5 复制时遇到的一般问题 187
11.6 小结 188
测验 189
练习 189
11.8 工作室 189
11.7 问与答 189
第12章 管理对象 190
12.1 Oracle8i中的对象 190
12.1.1 使用对象(Object)标志 191
12.2 对象参考 193
12.2.1 在列里使用REF 193
12.2.2 使用REF操作符 194
12.2.3 DEREF操作符 195
12.3 使用集合 195
12.4 实例研究:定单系统(Purchase Order System) 198
12.5 使用对象视图(Object View) 200
12.6 使用对象方法 203
练习 205
测验 205
12.9 工作室 205
12.8 问与答 205
12.7 小结 205
第四部分 数据库保护 209
第13章 Windows NT下Oracle8i的数据库安全特性 209
13.1 使用NTFS安全性 209
13.1.1 登录安全性 210
13.2 数据库安全 214
13.2.1 数据库用户 215
13.2.2 口令管理 218
13.2.3 系统权限 218
13.2.4 对象权限 219
13.2.5 角色 220
13.2.6 配置文件 223
13.3 使用视图保护应用程序的安全 225
13.4.1 使用应用程序上下文 226
13.4 使用应用程序上下文和细粒度存取控制 226
13.4.2 使用细粒度存取控制(FGAC) 227
13.5 小结 229
13.6 问与答 229
13.7 工作室 229
测验 230
练习 230
第14章 数据备份 231
14.1 失败类型 231
14.2 备份策略 232
14.2.1 增加备份率 232
14.2.2 减少备份数据的数量 232
14.3 使用备份数据库 233
14.4.1 查找外部文件的位置 235
14.4 执行冷和热备份 235
14.4.2 使用冷备份 236
14.4.3 执行热备份 239
14.4.4 归档日志和非归日志模式的对比 243
14.4.5 使用Export/Imort作为备份策略 245
14.5 小结 246
14.6 问与答 246
14.7 工作室 246
测验 246
练习 246
第15章 数据库恢复 247
15.1 理解平均恢复时间(MTTR) 247
15.2 确认失败的程度和类型 249
15.3 数据库恢复:实例研究 250
15.3.1 在用户或索引表空间数据文件的丢失 250
15.3.3 从滚回表空间丢失的数据文件中恢复 252
15.3.2 从只读表空间丢失的数据文件中恢复 252
15.3.4 从丢失的系统表空间中恢复 256
15.3.5 从丢失的控制文件中恢复 257
15.4 小结 260
15.5 问与答 260
15.6 工作室 260
测验 260
练习 261
第16章 使用Recovery Manager(RMAN) 262
16.1 介绍RMAN 262
16.2 理解RMAN部件 263
16.2.1 RMAN可执行部件 263
16.3 启动RMAN:两种方案 264
16.2.4 通道 264
16.2.3 恢复目录 264
16.2.2 目标数据库 264
16.4 使用RMAN备份 265
16.4.1 文件拷贝备份 266
16.4.2 备份集 267
16.4.3 理解增量式和累计式备份 268
16.5 使用RMAN恢复数据库 269
16.5.1 时间点恢复(Perform Point-In-Time Recovery) 270
16.6 使用RMAN执行数据库恢复(Recovery) 271
16.7 查看样本方案 273
16.7.1 情况1:故障发生在星期三备份前 273
16.7.2 情况2:故障发生在星期五备份前 274
16.7.3 情况3:故障发生在星期六备份前 274
16.8 有用的RMAN命令 274
16.9 发现并解决RMAN问题 276
练习 278
测验 278
16.10 小结 278
16.11 问与答 278
16.12 工作室 278
第五部分 优化和解决数据库冲突 281
第17章 处理冲突 281
17.1 识别回滚段的冲突 281
17.1.1 降低回滚段的冲突 283
17.2 处理多线程服务器进程(MTS)的冲突 284
17.2.1 识别分配进程的冲突 284
17.2.2 减少分配进程的冲突 284
17.2.3 识别共享服务器进程的冲突 284
17.2.4 减少共享服务器冲突 285
17.3 处理并行服务器进程的冲突 285
17.4 识别锁存器冲突 286
17.5.1 识别重做日志缓冲空间的冲突 288
17.5 处理重做日志缓冲器冲突 288
17.5.2 减少重做日志缓冲空间的冲突 289
17.5.3 识别重做日志缓冲锁存器的冲突 289
17.5.4 识别重做分配锁存器冲突 290
17.5.5 识别和减少重做拷贝锁存器的冲突 290
17.6 识别LRU锁存器冲突 290
17.6.1 减少LRU锁存器的冲突 291
17.7 识别库高速缓冲锁存器的冲突 291
17.7.1 减少库高速缓冲的冲突 292
17.8 识别自由列表(Free List)冲突 292
17.8.1 减少自由列表的冲突 294
17.9 小结 294
17.10 问与答 294
练习 295
17.11 工作室 295
测验 295
第18章 为Oracle8i优化Windows NT 296
18.1 采用Windows NT基本优化方法来提高Oracle8i的性能 296
18.1.1 选择最大的网络应用程序吞吐量 296
18.1.2 对前台应用程序选择无性能改善 297
18.1.3 使不必要的服务失效 297
18.1.4 每个系统都使用Oracle8i的一个实例 298
18.1.5 限制访问DBA和SysAdmins的当地用户数量 298
18.1.6 取消屏幕保护 298
18.1.7 不要将机器用于其他目的 298
18.1.8 使用Microsoft最新的服务包(Service Pack) 299
18.2 利用Windows NT资源工具包来优化 299
18.3.1 系统内存 302
18.3 管理系统资源 302
18.3.2 CPU 305
18.3.3 磁盘读写 306
18.3.4 网络 307
18.4 优化进程和线程的优先级 307
18.5 优化Windows NT注册表 308
18.6 其他系统配置 310
18.6.1 优化文件系统 310
18.7 小结 312
18.8 问与答 312
18.9 工作室 312
测验 312
练习 312
19.1 在Windows NT中理想优化的Oracle系统的特性 313
第19章 为Windows NT优化Oracle8i 313
19.2 用性能监视器来优化Oracle 314
19.3 优化在线事务(Transaction)进程(OLTP)系统 316
19.3.1 优化回滚段 317
19.3.2 使用离散事务 317
19.4 优化决策支持系统(DSS)和数据仓库(Data Warehousing) 319
19.4.1 使用索引 319
19.4.2 管理排序空间 319
19.4.3 管理散列(Hash)合并空间 320
19.4.4 针对星形查询设计表 322
19.4.5 优化星形查询 323
19.4.6 优化并行操作 324
19.5 小结 325
测验 326
练习 326
19.6 问与答 326
19.7 工作室 326
第20章 问题诊断 327
20.1 警告日志和跟踪文件的使用 327
20.1.1 Oracle警告日志 328
20.1.2 Oracle跟踪文件 328
20.2 数据块恶化的处理 328
20.2.1 表分析 329
20.2.2 DB_VERIFY的使用 329
20.2.3 Oracle校验和工具的使用 332
20.2.4 从恶化数据库中抢救数据 332
20.3.1 解释由utlbstat/utlestal生成的报告 335
20.3 用utlbstat和utlestat脚本进行优化 335
20.4 使用系统状态转储 337
20.4.1 系统状态转储的解释 338
20.5 使用Oracle支持(Support) 338
20.6 小结 339
20.7 问与答 339
20.8 工作室 340
测验 340
练习 340
第六部分 Windows NT簇解决方案和万维网 343
第21章 使用Oracle自动失效保护软件 343
21.1 OFS简介 343
21.2 Oracle Fail Safe组件 345
21.3 OFS术语 347
21.4 使用OFS 348
21.4.1 使用OFS的先决条件 349
21.4.2 硬件需求 349
21.4.3 失效转移的次序 350
21.4.4 数据库应用程序失效转移的效果 350
21.5 在线维护操作 351
21.5.1 用自动失效保护管理器进行基本管理操作 352
21.5.2 创建自动失效保护数据库 353
21.6 OFS故障处理 358
21.6.1 Verify Cluster 358
21.6.2 Verify Group 359
21.6.3 Verify Standalone Database 360
21.6.4 可能出现的问题 360
测试 362
21.9 工作室 362
练习 362
21.8 问与答 362
21.7 小结 362
第22章 使用Oracle并行服务器 363
22.1 使用Windows NT簇 363
22.1.1 Oracle并行服务器体系结构 364
22.1.2 系统需求 366
22.2 并行缓冲器的管理和锁定 367
22.2.1 分布式锁定管理器(DLM) 367
22.3 Oracle并行服务器的锁定类型 368
22.3.1 PCM锁定的方法 368
22.3.2 探询 369
22.3.3 Row-level锁定 369
22.3.4 使用初始化参数 371
22.3.5 将数据块映射到PCM锁定 371
22.4 在OPS中造成争用的应用程序特性 373
22.4.1 空间事务处理(ST)锁定争用 374
22.5 在Windows NT上管理OPS 375
22.5.1 备份和恢复 376
22.6 在OPS中识别问题 377
22.7 小结 377
22.8 问与答 378
22.9 工作室 378
测验 378
练习 378
第23章 实现并行处理 379
23.1 并行方法 380
23.1.1 使用并行操作的限制 380
23.2 并行查询体系结构 381
23.3 实现并行操作 382
23.3.1 使用并行查询提示 383
23.3.2 确定并行机制的级别 387
23.3.3 并行加载 388
23.3.4 并行恢复 389
23.3.5 在并行服务器环境进行并行操作 389
23.4 事务恢复和滚回段的问题 389
23.4.1 并行DML相对于人工并行机制的优点 390
23.4.2 并行DML中的锁定 390
23.5 使用事件10046来诊断并行查询 391
23.5.1 事件10046输出的解释 391
23.6 小结 392
23.7 问与答 392
23.8 工作室 393
测试 393
练习 393
24.1 Oracle的Java策略 394
第24章 Oracle和万维网的集成 394
24.1.1 使用Java数据库连接(JDBC) 395
24.1.2 使用SQLJ在Java中内嵌SQL 396
24.1.3 理解Java虚拟机 398
24.1.4 使用Enterprise JavaBeaus和CORBA 399
24.2 Java存储过程 400
24.2.1 把Java类载入数据库 401
24.3 Oracle的Internet文件系统 409
24.4 小结 410
24.5 问与答 410
24.6 工作室 411
测试 411
练习 411
附录A 测试问题解答 412