标题：ORACLE数据库管理与维护
作者简介
张天慧，现任职华硕集团昌硕科技（上海）有限公司DBA，曾任华硕电脑DBA、NCR专业顾问、台湾积体电路约聘DBA、远传电信DBA，以及和信电信DBA，具有美商甲骨文OCP（Oracle Certified Pro.fessional）认证资格，并拥有8年以上数据库开发与DBA经验。Oracle数据库管理、备份与复原、性能调优SQL Serve数据库管理、备份与复原、性能调优Teradata数据库仓储管理Linux/UNIX系统管理。
编辑推荐
Oracle作为世界级知名的企业级数据库软件，其用户市场涵盖全球各行各业。《专家精讲：Oracle数据库管理与维护》作者拥有多年的Oracle实践专业经验，用以传授专业级数据库管理员应具备的知识与技能.从数据库结构到性能调试均通过实例进行说明，《专家精讲：Oracle数据库管理与维护》是不可多得的Oracle实务指南。分析数据库管理员的工作职责与权利义务。详细介绍Oracle数据库系统的运作原理与组成架构。针对常用的。基本对象”及拓展应用的“高可用性对象”进行详尽说明。详解Oracle数据库的安装、设置，以及安全认证方式。深入剖析Oracle网络连接架构与设置。详细介绍OracIe数据库的备份与恢复，并列举多项功能强大的复原管理工具。针对数据库、实体结构与Instarice讲解性能调试的重要性，并以实例示范。专章解析Oracle Statspack及Oracle Optimizer。完整说明索引与SQL语法的有效运用。
目录
第1篇 数据库管理员的角色与职责
第1章 数据库管理员的工作内容 3
1.1 数据库管理员的种类及定位 4
1.1.1 数据库管理员的类型 4
1.1.2 数据库管理员的定位 5
1.2 数据库管理员的工作内容 7
1.3 数据库管理员应该具备的认知与特性 10
1.4 结束语 12
第2章 Oracle数据库管理员的工作清单 13
2.1 Oracle数据库概论 14
2.1.1 Oracle数据库结构 15
2.1.2 Oracle实例 16
2.2 每日例行工作 16
2.3 每周例行工作 21
2.4 每月例行工作 23
2.5 结束语 27
第2篇 Oracle数据库的结构与操作
第3章 Oracle数据库结构 31
3.1 物理存储结构 32
3.1.1 数据文件 32
3.1.2 在线重作日志文件 34
3.1.3 初始化参数文件 41
3.1.4 控制文件 46
3.1.5 口令文件 52
3.1.6 归档日志文件 54
3.1.7 警告日志文件与跟踪文件 63
3.2 逻辑存储结构 64
3.2.1 表空间 65
3.2.2 段 79
3.2.3 区（Extent） 80
3.2.4 数据块 80
3.3 结束语 82
第4章 Oracle实例 83
4.1 系统全局区 85
4.1.1 数据缓冲区 85
4.1.2 重作日志缓冲区 88
4.1.3 共享池 88
4.1.4 其他共享池 90
4.2 后台进程 91
4.2.1 DBWRn 92
4.2.2 LGWR 94
4.2.3 SMON 95
4.2.4 PMON 95
4.2.5 CKPT 96
4.2.6 ARCn 97
4.3 其他进程 97
4.3.1 User Process 97
4.3.2 Server Process 98
4.3.3 PGA 98
4.4 结束语 101
第5章 Oracle基本对象 103
5.1 模式 104
5.2 表 105
5.2.1 数据行 106
5.2.2 数据列 106
5.2.3 ROWID 108
5.2.4 创建表 109
5.2.5 管理表 115
5.2.6 完整性限制 139
5.3 视图 142
5.4 索引 143
5.4.1 索引结构 144
5.4.2 创建索引 149
5.4.3 管理索引 155
5.4.4 查询索引相关信息 158
5.5 还原段 158
5.5.1 还原段的功能 159
5.5.2 还原段的种类与管理模式 160
5.5.3 创建与启用还原段 162
5.5.4 管理还原段 165
5.5.5 查询还原段相关信息 167
5.5.6 还原段注意事项 167
5.6 序列 168
5.6.1 创建与使用序列 169
5.6.2 管理序列 171
5.7 数据库链接 172
5.8 同义词 175
5.8.1 同义词注意事项 176
5.8.2 创建与维护同义词 176
5.9 概要文件 178
5.10 用户 181
5.10.1 创建与维护用户 181
5.10.2 权限的授予 184
5.11 角色 185
5.12 数据库字典与动态性能视图 188
5.12.1 数据库字典 189
5.12.2 动态性能视图 190
5.13 结束语 190
第6章 Oracle高可用性对象 191
6.1 分区表 192
6.1.1 范围分区 193
6.1.2 哈希分区 194
6.1.3 列表分区 195
6.1.4 复合分区 195
6.1.5 创建与维护分区表 196
6.2 聚簇表 197
6.2.1 索引聚簇表 198
6.2.2 哈希聚簇表 200
6.2.3 管理聚簇 201
6.3 全局临时表 202
6.4 索引组织表 203
6.5 结束语 204
第7章 Oracle软件安装、数据库创建与网络架构 205
7.1 Oracle软件安装 206
7.1.1 软件安装程序 206
7.1.2 Oracle数据库最佳弹性架构 214
7.2 Oracle数据库安全认证方式 216
7.3 数据库的启动与关闭 220
7.3.1 启动数据库 220
7.3.2 关闭数据库 226
7.4 创建Oracle数据库 228
7.4.1 创建数据库前准备事项 229
7.4.2 手动创建Oracle数据库 229
7.4.3 使用DBCA创建数据库 232
7.5 Oracle网络服务架构与设置 241
7.5.1 设定listener.ora网络服务配置文件 242
7.5.2 设定tnsnames.ora网络服务配置文件 245
7.5.3 设定sqlnet.ora网络服务配置文件 247
7.5.4 Oracle网络服务联机运作方式 247
7.5.5 Oracle网络服务名称解析方式 252
7.6 结束语 254
第3篇 Oracle数据库的备份与恢复
第8章 Oracle的备份与恢复 257
8.1 Oracle数据库备份模式 258
8.1.1 逻辑备份 258
8.1.2 物理备份 258
8.1.3 Oracle恢复管理程序 259
8.1.4 基本备份模式之外的补充 259
8.2 规划备份计划与恢复操作 261
8.3 导出与导入 262
8.3.1 导出 264
8.3.2 导入 267
8.3.3 活用导入与导出 268
8.3.4 导入与导出注意事项 270
8.3.5 Data Pump导出与导入 271
8.4 离线备份 275
8.5 在线备份 275
8.6 数据库恢复操作 276
8.6.1 对数据库执行恢复操作 276
8.6.2 对表空间执行恢复操作 278
8.6.3 对数据文件执行恢复操作 279
8.6.4 其他方式恢复操作 282
8.7 结束语 283
第9章 RMAN恢复管理程序 285
9.1 启用RMAN恢复管理程序 288
9.2 执行RMAN备份操作 289
9.3 执行RMAN恢复操作 292
9.4 结束语 293
第10章 Oracle Data Guard 295
10.1 Oracle Data Guard基本架构 296
10.2 Oracle Data Guard运行原理 297
10.2.1 备用数据库的两种形态 298
10.2.2 Oracle Data Guard的3种模式 299
10.3 创建Oracle Data Guard 301
10.3.1 主要数据库准备事项 301
10.3.2 创建备用数据库 302
10.4 Oracle Data Guard维护与注意事项 305
10.5 结束语 306
第11章 其他高可用性备份与恢复工具 307
11.1 Oracle快闪恢复 308
11.2 Oracle复制 310
11.2.1 Oracle Replication的架构与种类 311
11.2.2 创建Oracle物化视图复制 312
11.3 结束语 315
第4篇 Oracle数据库基础性能调优
第12章 数据库性能调优 319
12.1 性能调优的步骤 320
12.2 性能调优的范围与效益 325
12.2.1 系统环境调优 325
12.2.2 Oracle Instance调优 326
12.2.3 Oracle对象调优 326
12.2.4 SQL语法调优 326
12.3 Oracle数据库与磁盘阵列 327
12.3.1 磁盘阵列的种类 328
12.3.2 Oracle数据库文件与磁盘阵列的放置方式 331
12.4 结束语 332
第13章 Instance性能调优 333
13.1 数据缓冲区性能调优 334
13.1.1 数据缓冲区的运行状况 335
13.1.2 数据缓冲区调优目标 338
13.1.3 数据缓冲区命中率 339
13.1.4 数据缓冲区分区管理 339
13.1.5 LRU Latch 344
13.2 共享池性能调优 346
13.2.1 共享池的运行情况 346
13.2.2 检查与调优共享池 347
13.3 重作日志缓冲区性能调优 348
13.3.1 重作日志缓冲区的运行情况 349
13.3.2 重作日志缓冲区调优目标 350
13.4 结束语 352
第14章 物理结构性能调优 353
14.1 如何准确设置数据块 354
14.2 如何准确设置存储参数 355
14.3 如何准确设置表空间 356
14.4 表空间碎片 356
14.5 结束语 358
第15章 Oracle Statspack 359
15.1 安装Oracle Statspack 360
15.2 启动与停止Oracle Statspack 361
15.3 修正Oracle Statspack设置 364
15.4 解析Oracle Statspack报表 365
15.5 结束语 368
第5篇 Oracle数据库SQL性能调优
第16章 解析Oracle Optimizer 371
16.1 Oracle Optimizer概述 372
16.2 Rule Base Optimizer 374
16.3 Cost Base Optimizer 376
16.4 Optimizer的模式 377
16.5 追踪SQL语法的运行与执行统计数据 380
16.5.1 SQL TRACE 381
16.5.2 AUTOTRACE 383
16.6 结束语 385
第17章 Oracle数据存取与表连接模式 387
17.1 Oracle基本数据存取模式 388
17.1.1 全表扫描 388
17.1.2 索引扫描 389
17.1.3 指定ROWID 390
17.2 表连接方式 390
17.2.1 嵌套循环表连接 390
17.2.2 排序/结合表连接 391
17.2.3 哈希表连接 392
17.2.4 各种表连接的特性 393
17.3 结束语 393
第18章 索引的使用 395
18.1 索引的存取模式 396
18.1.1 Index Unique Scan 396
18.1.2 Index Range Scan 396
18.1.3 Index Full Scan 397
18.1.4 Index Fast Full Scan 398
18.1.5 Index Skip Scan 398
18.2 使用索引的正确方向 399
18.3 结束语 400
第19章 如何正确使用SQL语法 401
19.1 如何避免没必要的全表扫描 402
19.1.1 避免在索引字段上使用IS NULL与IS NOT NULL条件 402
19.1.2 尽量不使用“!=”来筛选数据 403
19.1.3 不适当的函数运算 403
19.1.4 尽量不使用“||”来筛选数据 404
19.1.5 避免在索引所在的字段上使用NOT 404
19.1.6 如何使用LIKE条件式 405
19.1.7 复合索引的盲点 406
19.2 避免没有效率的查询 407
19.2.1 没有效率的索引 407
19.2.2 没有效率的条件式 409
19.3 提升性能其他注意事项 410
19.4 结束语 410
附录A Oracle RMAN范例 411
附录B 常用的管理与性能调优SQL语法 413
……
序言
从事了约8年与Oracle DBA相关的工作，在学习的过程中，不断地自我摸索与尝试。在这段历程中，我发现市面上可参考的书籍大多是Oracle数据库的基本介绍，关于DBA日常的整体应用与管理都鲜少着墨，因而有了写这本书的动机。
个人希望能将这些年从事DBA工作所累积的经验与技能进行整理并与大家分享，为了让更多想进入Oracle 数据库领域的朋友能够快速掌握Oracle数据库管理技术，同时，无论是有经验的Oracle DBA、新手Oracle DBA，还是程序开发人员都能够持续地深入学习。
我常会问一些有意从事DBA工作的朋友，想成为DBA的原因是什么？是因为薪水、兴趣，还是觉得很酷？这些年从事 DBA 的工作，让我深刻感受到，要成为一位称职的 DBA 必须要有充分的准备，因为一位出色的DBA除了必须要有扎实的专业技术及广泛的相关知识外，还必须具备特有的个性与认知，如果没有准备好，将会在DBA的这条路上遇到很多挫折。不过，也大可不必这么严肃，毕竟知识与经验是慢慢累积的，只要扎扎实实一步一步来，你将会发现DBA是一份拥有成就感与令人兴奋的工作。
最后，随着本书即将出版，我由衷感谢悦知文化的怡慧、书瑜与所有编辑团队大力的协助，以及好友刘承修与周建竹的鼎力支持。最后要感谢我太太念埙、儿子佑溥与家人，你们是让我完成这本书最大的动力。