第1章 DBA的任务 1
1.1 什么是DBA 2
1.1.1 取决于所在机构 2
1.1.2 DBA来自何处 2
1.2 成为DBA的途径 3
1.2.1 系统管理员(SA) 3
1.2.2 开发人员/程序员 3
1.2.3 系统设计者/数据模型制作者 3
1.2.4 其他途径 4
1.3 DBA的类型 4
1.3.1 应用程序DBA 4
1.3.2 系统DBA 4
1.3.3 维护DBA 4
1.4 数据库管理的原则 5
1.4.1 数据保护 5
1.4.2 数据的可利用性 6
1.5 数据库管理的责任 7
1.5.1 数据库的技术责任 7
1.5.2 非技术责任 10
1.5.3 需要的技能 11
1.6 IT机构内的任务 14
1.6.1 系统管理员 14
1.6.2 程序员/开发人员 15
1.6.3 管理部门 16
1.6.4 顾客和终端用户 16
1.6.5 机构外部 17
1.7 DBA的思想形式 17
1.8 小结 18
第2章 Oracle服务器的体系结构 19
2.1 与数据库服务器有关的Oracle产品 20
2.1.1 SQL*Plus 20
2.1.2 Server Manager 21
2.1.3 Net8 21
2.2 数据库与实例的比较 22
2.3 Oracle的文件类型 23
2.3.1 控制文件 23
2.3.2 数据文件 24
2.3.3 系统 24
2.3.4 数据 25
2.3.5 索引 25
2.3.6 临时文件 26
2.3.7 回滚 26
2.3.8 在线重写日志 28
2.4 存储器结构 29
2.4.1 共享全局区域(SGA) 29
2.4.2 共享池 32
2.4.3 重写日志缓冲区 33
2.4.4 大池 33
2.4.5 Java池 34
2.5 Oracle进程 35
2.5.1 服务器进程 35
2.5.2 后台进程 37
2.5.3 系统监控进程(SMON) 37
2.5.4 进程监控进程(PMON) 38
2.5.5 数据库写进程(DBWn) 38
2.5.6 写日志进程(LGWR) 38
2.5.7 检查点进程(CKPT) 39
2.5.8 归档进程(ARCn) 40
2.5.9 恢复进程(RECO) 40
2.5.10 作业队列进程(SNPnn) 40
2.5.11 队列监控进程(QMNnn) 40
2.5.12 调度程序进程(Dnnn) 40
2.5.13 共享服务器进程(Snnn) 40
2.6 事务控制 40
2.7 各种各样的数据库文件 42
Oracle数据库参数和日志文件 43
2.8 小结 44
第3章 规划数据库 45
3.1 系统体系结构 46
3.1.1 双层基本客户机服务器体系结构(2层) 46
3.1.2 三层客户机服务器体系结构 48
3.2 容量规划/估计 48
3.2.1 技术方面的容量估计问题 49
3.2.2 非技术方面的容量估计问题 50
3.3 *佳灵活性结构 51
3.3.1 /u01上的文件 52
3.3.2 数据文件和其他OFA协议 54
3.4 应用程序和数据库的考虑 55
3.4.1 联机事务处理(OLTP) 55
3.4.2 决策支持系统(DSS) 56
3.5 混合系统 57
3.6 小结 62
第4章 机器的设置及安装 63
4.1 安装之前的设置 64
4.1.1 收集信息 64
4.1.2 配置系统 67
4.1.3 Oracle环境设置 71
4.2 安装Oracle 74
4.2.1 安装过程 74
4.2.2 安装验证 78
4.2.3 应用补丁 79
4.3 小结 79
第5章 创建数据库 80
5.1 生成创建脚本 81
5.1.1 脚本的使用 81
5.1.2 数据库配置助手 82
5.1.3 定制脚本 88
5.2 创建数据库 90
5.2.1 运行脚本 90
5.2.2 查看创建的日志 91
5.2.3 检查数据库实例 91
5.2.4 编译无效对象 92
5.2.5 清理失败的数据库 94
5.3 创建后的工作 94
5.3.1 修改密码 94
5.3.2 修改oratab文件 96
5.3.3 创建对init.ora的软链接 96
5.4 为新数据库配置Net8 97
5.4.1 tnsnames.ora 97
5.4.2 listener.ora 98
5.4.3 listener 99
5.5 定制.profile文件 100
5.6 小结 101
第6章 日常工作 102
6.1 数据库视图 103
6.2 Oracle的启动和关闭 104
6.2.1 数据库阶段 104
6.2.2 数据库的启动 105
6.2.3 数据库的关闭 107
6.3 用户管理 109
6.3.1 创建用户 109
6.3.2 特权 110
6.3.3 角色 111
6.3.4 限额 111
6.3.5 数据表、索引、序列的创建和维护 112
6.3.6 识别对象和同义词 114
6.4 空间管理 116
6.4.1 存储分层结构 116
6.4.2 表空间的管理 118
6.5 监控 120
6.5.1 验证数据库及连通性 120
6.5.2 警告日志 120
6.5.3 监控数据库对象 122
6.5.4 设置和监控cron作业 122
6.5.5 监控备份 124
6.5.6 监控导出 124
6.5.7 监控文件系统的空间 125
6.5.8 电子监控和通知 126
6.6 小结 127
第7章 GUI管理产品 128
7.1 Oracle企业管理器 129
7.1.1 结构 129
7.1.2 安装 131
7.1.3 OEM控制 140
7.1.4 OEM工具 143
7.2 TOAD 147
7.3 小结 149
第8章 DBA实用工具 150
8.1 导出和导入 151
8.1.1 导出和导入综览 151
8.1.2 使用导出 151
8.1.3 导出类型 152
8.1.4 使用导入 156
8.2 常用导入/导出用法 160
逻辑备份 160
8.3 采用导入/导出对维护的好处 163
8.3.1 重建表 163
8.3.2 错误检查 163
8.3.3 行计数 164
8.3.4 普通错误 164
8.4 **导出和导入技术 165
8.4.1 利用压缩和管道来导出和导入 165
8.4.2 编辑转储文件 167
8.4.3 调整参数 167
8.5 使用SQL*Loader 168
SQL*Loader装载类型 170
8.6 使用LogMiner 173
8.7 小结 175
第9章 备份和恢复 176
9.1 备份的重要性 177
9.2 备份的类型 177
9.2.1 逻辑备份 178
9.2.2 物理备份 178
9.3 数据库所受的损坏 179
9.3.1 对数据库的影响 179
9.3.2 增加容错能力 181
9.4 执行备份和恢复 184
9.4.1 冷备份和恢复 184
9.4.2 冷备份和NOARCHIVELOG方式 185
9.4.3 ARCHIVELOG方式的冷备份 185
9.4.4 热备份和恢复 186
9.4.5 软件和参数文件的备份 199
9.5 综合计划和测试 199
9.5.1 计划 200
9.5.2 测试 201
9.6 小结 202
第10章 出现故障时应采取的措施 203
10.1 对故障的反应 204
10.1.1 收集信息 204
10.1.2 系统级的问题鉴别 205
10.1.3 鉴别技术问题 206
10.2 文件和空间管理 211
10.2.1 调整数据文件的大小 211
10.2.2 数据文件的移动和改名 212
10.3 锁定 214
10.3.1 DML锁定 215
10.3.2 DDL锁定 217
10.4 "Snapshot Too Old"回滚错误 218
10.5 小结 219
第11章 Oracle服务器调整 220
11.1 数据库调整方法 221
11.2 诊断工具:UTLBSTAT/UTLESTAT和STATSPACK 222
11.2.1 UTLBSTAT/UTLESTAT 222
11.2.2 STATSPACK 224
11.3 调整内存结构 226
11.3.1 比率 227
11.3.2 数据库缓冲区高速缓存 227
11.3.3 重写日志缓冲区 228
11.3.4 库高速缓存 228
11.3.5 数据字典高速缓存 229
11.3.6 磁盘分类 229
11.4 调整回滚段 230
11.4.1 OLTP的回滚段 230
11.4.2 批量作业的回滚段 230
11.4.3 监控回滚段的使用 231
11.5 避免文件冲突 232
11.6 等待事件 233
11.6.1 V$SYSTEM_EVENT 233
11.6.2 V$SESSION_EVENT 234
11.6.3 V$SESSION_WAIT 234
11.7 本地管理表空间 235
11.8 调整表 236
11.8.1 索引结构表 236
11.8.2 分区表 237
11.8.3 行迁移和链接 238
11.9 索引 240
11.10 小结 241
第12章 Unix操作系统的体系结构 242
12.1 基本概念 243
12.2 Unix系统的内核 243
12.2.1 Unix进程 244
12.2.2 Unix系统的存储管理 247
12.2.3 文件系统及文件 249
12.2.4 输入输出子系统 253
12.3 Unix系统中进程的启动与关闭 253
12.4 Unix系统的硬件体系结构 254
12.4.1 单处理器计算机 255
12.4.2 对称式多处理器计算机 255
12.4.3 集群计算机 256
12.4.4 MPP和NUMA 256
12.5 小结 257
第13章 Unix服务器的监控 258
13.1 监控服务器的必要性 259
13.2 监控服务器概述 260
13.3 监控内存的分配 260
13.3.1 共享内存和信号量 260
13.3.2 SGA的分配 262
13.3.3 私有共享内存 263
13.3.4 共享内存和信号量的释放 264
13.3.5 监控内存 268
13.4 监控磁盘的输入/输出 270
13.4.1 RAID 271
13.4.2 原始分区 273
13.4.3 异步输入输出 273
13.4.4 监控磁盘的输入输出 274
13.5 监控CPU 276
13.6 监控网络 280
13.7 小结 282
第14章 补丁和升级 284
14.1 什么是补丁和升级 285
14.2 安装补丁的时机和方法 287
14.2.1 概述 287
14.2.2 安装系统补丁 288
14.2.3 补丁示例 291
14.3 升级的时机和方法 294
14.3.1 概述 294
14.3.2 进行升级 294
14.3.3 升级示例 296
14.4 其他考虑 298
14.5 小结 299
第15章 升迁 301
15.1 什么是升迁 302
15.2 升迁数据库的理由 302
15.3 准备工作 303
15.3.1 规划 303
15.3.2 数据库测试 304
15.3.3 应用程序测试 304
15.3.4 升迁测试 305
15.4 升迁方法 306
15.4.1 导出/导入 306
15.4.2 mig 307
15.4.3 ODMA 307
15.4.4 源数据库的版本 307
15.4.5 允许的升迁时间 308
15.4.6 DBA技巧 308
15.5 ODMA的使用 308
15.5.1 概述 308
15.5.2 用ODMA进行升迁的步骤 309
15.6 小结 317
第16章 数据库服务器中的Java 318
16.1 了解Oracle内置Java的作用和发展前景 319
16.2 Java概述 320
16.3 Oracle对Java的支持 322
16.3.1 数据库之外的Java 322
16.3.2 数据库内的Java 323
16.4 管理数据库内的Java 325
16.4.1 Java参数配置 325
16.4.2 安装Java 326
16.4.3 卸载Java 327
16.4.4 创建、加载和运行Java程序 328
16.4.5 为Java配置MTS和IIOP 331
16.4.6 加载EJB和CORBA服务器 332
16.5 小结 333
第17章 WebDB/Oracle Portal 334
17.1 什么是WebDB/Oracle Portal 335
17.2 WebDB/Oracle Portal的体系结构 336
17.3 安装 336
17.4 基本的WebDB维护 344
17.5 登录站点 345
17.6 WebDB和Oracle Portal的主要区别 351
17.7 小结 352
第18章 Internet应用服务器(iAS) 353
18.1 Web环境 354
18.1.1 技术设计 356
18.1.2 可扩充性 356
18.1.3 可用性 357
18.2 了解并使用iAS 357
18.2.1 模块 359
18.2.2 Oracle Forms、Reports和Discover 359
18.2.3 Oracle Portal 359
18.2.4 PSP和JSP 359
18.2.5 iFS 359
18.2.6 Oracle 8i JVM 360
18.2.7 Database Cache和Web Cache 360
18.3 安装 360
18.4 定位配置文件和控制Apache 368
18.5 小结 369
第19章 9i服务器的新特点 370
19.1 安装9i服务器 371
19.2 设置**性和注册 373
19.3 生成服务器参数文件(SPFILE) 374
19.4 使用Oracle管理的文件 378
19.5 使用动态存储器参数和多块容量 382
19.6 使用撤销表空间 384
19.7 综合范例模式 387
19.8 其他特性和变化 388
19.9 小结 389
第20章 DBA的成长 390
20.1 DBA的成长 391
20.2 动力 391
20.3 继续教育 391
20.3.1 传统的教育 391
20.3.2 Oracle大学课程 392
20.3.3 第三方的Oracle课程 392
20.3.4 自学 393
20.3.5 应急技术 393
20.4 获得认证 394
20.4.1 能够获得认证的途径 394
20.4.2 准备 395
20.4.3 参加考试 396
20.4.4 认证的好处 396
20.5 和其他DBA联络 396
20.5.1 技术上的好处 396
20.5.2 职业上的好处 397
20.5.3 顾问/合同与带薪雇员 398
20.6 学习系统管理和体系结构 398
20.7 学习Java 399
20.8 小结 399
附录A 基本的Unix命令 400
附录B Vi编辑器 405
附录C 脚本 407
附录D 术语汇编 412