Oracle 24×7技术与技巧 数据库高可用性实现方案PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)Venkat S.Devraj著;胡季红,熊志菲等译
- 出 版 社:北京:机械工业出版社
- 出版年份:2000
- ISBN:7111082214
- 页数:598 页
贺辞 1
译者序 1
引言 1
前言 1
第一部分 简介 1
第1章 确定自己的正常工作时间需求 1
1.1 理解24×7对于公司的重大作用 2
1.1.1 分析是否无原则要24×7正常工作时间的系统可用性 2
1.1.2 理解 数据库 中的各个组件 9
1.1.3 分析数据库系统中容易出错的部分以及出错时所产生的症状 11
1.2 实现一个 理想的 24×7系统 13
1.2.1 24×7数据库系统的共同目标 13
1.2.2 利用服务级协议管理系统需求 14
1.2.3 只有90%的系统可用性就意味着节省90%的系统开销 18
1.2.4 理解系统维护动作对于可用性的影响 19
1.3 半专业技术管理员与主管人技巧 21
1.3.1 24×7方式需要对操作管理实施的基本方法 21
1.3.2 在关键数据库访问时间创建 24×7小组 21
1.3.3 维护一个在数据库系统出现问题时需要告知的扩展人员列表 23
1.4 小结 24
1.3.4 尽量在数据库系统停工之前预先通知客户或者终端用户 24
第2章 理解与处理紧急事件 25
2.1 什么是紧急事件 25
2.1.1 分类与罗列公司特定数据库环境下的所有可能紧急事件 26
2.1.2 如何应付紧急事件 27
2.2 小结 43
第二部分 理解系统环境 45
第3章 硬件配置 45
3.1 硬件配置简介 46
3.1.1 真正熟悉系统的构成组件 46
3.1.2 慎重选择磁盘阵列大小 57
3.1.3 不要在OLTP应用程序中使用预读Cache 58
3.1.4 不要依赖于写Cache来清除I/O热点 58
3.1.5 使用多级RAID 59
3.1.6 确保分条大小与操作系统和数据库的数据块大小一致 60
3.1.7 确保硬盘与磁带的I/O数据块大小相匹配 62
3.2 采用体系结构技术实现系统冗余和系统性能 63
3.2.1 分析哪些组件是 可热插拔 的 63
3.2.2 考虑实现基于簇的解决方案 64
3.2.3 除非是大规模的实现问题,否则避免使用MPP计算机 66
3.2.4 考虑使用NUMA计算机代替MPP计算机 69
3.3 小结 72
3.2.5 向硬件提供商租借替代计算机 72
第4章 操作系统 73
4.1 UNIX上的Oracle与Windows NT上的Oracle 74
4.2 内核与块大小 74
4.2.1 定制内核 75
4.2.2 了解操作系统的逻辑块大小与物理块大小 77
4.3 raw设备 78
4.3.1 熟悉raw设备及其作用 78
4.3.2 预先创建充足的raw划分 82
4.3.3 为raw划分选择多个标准大小 82
4.3.4 如果使用的是raw设备,应该将联机重作日直接放置在这些设备上 83
4.3.5 不要使用硬盘的0柱面来创建raw划分 84
4.3.6 为所有的raw设备创建符号链接 85
4.3.7 了解其他文件系统选项 85
4.4 系统功能与瓶颈 86
4.4.1 预先确保任何时候都不会达到系统能力极限 86
4.4.2 将所有资源密集型应用程序分配到多个服务器上 89
4.4.3 建立非数据库服务器对CPU与内存的使用限制 89
4.4.4 不要为与Oracle相关的进程设置优先级 90
4.4.5 不要在数据库服务器上使用处理器仿射 91
4.4.7 避免使用与Oracle进程竞争的资源密集型命令 92
4.4.6 在产品高峰期不要执行非产品作业 92
4.4.9 将交换区空间设置为物理内存的2~4倍大小 95
4.4.8 经常检查内存泄漏 95
4.4.10 在最快的硬盘上分布交换区空间 96
4.4.11 判断操作系统是否能够对2GB之外的RAM进行寻址 96
4.4.12 如果可能,对物理内存中的共享内存区域加锁 97
4.4.13 理解逻辑驱动器与物理驱动器映射 99
4.4.14 在所有的产品中打开文件系统日志功能 100
4.4.15 周期性地检查空闲硬盘空间的可用性 100
4.4.16 保持文件系统与目录的简洁 100
4.4.19 周期性地查看重要的操作系统日志 101
4.4.17 维护一个后备根文件系统 101
4.4.18 尽可能启用大文件支持 101
4.4.20 利用自动化工具来监视系统瓶颈 102
4.5 小结 102
第5章 网络 103
5.1 管理网络 103
5.1.1 确保网络没有过载 104
5.1.2 频繁地Ping关键主机 105
5.1.4 不要在NFS的mount分区上创建Oracle数据文件 106
5.1.5 不要用数据库服务器作为NFS服务器 106
5.1.3 购买网络电缆分析器 106
5.1.6 将网络配置为能够有效地使用子网 107
5.2 为网络配置定制SQL*Net与Net8 107
5.2.1 增加网络队列大小 107
5.2.3 使SQL*Net/Net与Net8 107
5.2.2 关闭NAGEL算法 108
5.2.4 在整个公司里使用相同的服务器系列 114
5.3 半技术性管理员与公司主管技巧 114
5.4 小结 115
6.1 应用程序 116
第6章 应用程序与数据 116
6.1.1 熟悉应用程序 117
6.1.2 应用程序分类 120
6.1.3 代码优化 120
6.1.4 使应用程序独立于未来的计划改变 123
6.1.5 利用事务分割的方法来复制数据 126
6.1.6 对所有的会话关键型应用程序使用Pro*C或OCI 126
6.1.7 在所有会话关键型应用程序中实现失败恢复能力 127
6.1.8 熟悉各种自动失败恢复选项 132
6.1.9 将所有可变应用程序段的MAXEXTENTS设置为无穷大 142
6.1.10 加速数据加载过程 143
6.1.11 对应用程序源代码进行版本控制 150
6.1.12 有效地管理索引 151
6.1.13 在应用程序中不使用进程而使用线程 163
6.1.14 在应用程序中使用共享库 164
6.1.15 仔细进行物理数据库设计 165
6.1.16 与快速应用程序相关的技巧 173
6.2 数据 174
6.2.1 理解计划模型 174
6.2.2 数据分类 175
6.3 小结 177
第三部分 数据库安装和配置 179
第7章 安装、配置和定制数据库环境 179
7.1 服务器配置 180
7.1.1 遵守OFA标准 180
7.1.2 经常使用config.ora文件 183
7.1.3 使用crdb_SID.sq1和crdb2_SID.sq1创建脚本 183
7.1.4 确保有足够的磁盘空间以维持至少两周的跟踪文件和警告日志 184
7.1.5 设置数据库块大小时要考虑OS块大小和应用特点 184
7.1.6 确保将每次写的边续块数目设置大一些 186
7.1.7 对于Oracle7.X下的大量数据文件,允许CKPT 186
7.1.9 对于活动量很大的数据库创建多于3个的镜像联机重作日志组 188
7.1.8 使用LOG_CHECKPOINT_TIMEOUT和/或LOG_CHECKPOINT_INTERVAL来确保实例修复时间满足SLA中指定的标准 188
7.1.10 适当放置重作日志使ARCH和LGWR相互之间不发生竞争 190
7.1.11 配置足够多的重作锁存器使竞争最小化 194
7.1.12 确保DBWR能够与数据库负载保持一致 197
7.1.13 根据段使用模式将缓冲区缓存划分为多个缓冲池 208
7.1.14 在数据库活动多时使用从属进程减轻I/O瓶颈 211
7.1.15 允许向量通知 213
7.1.16 建立专门的临时表空间 213
7.1.17 有效地建立排序区域 214
7.1.18 对于排序使用直接写操作 216
7.1.20 对于Cooked文件系统使用向量化读操作 217
7.1.19 使用配置文件以避免失去控制的进程消耗系统资源 217
7.1.21 使用Cooked文件系统时允许直接I/O 218
7.1.22 对于大量并行用户访问的情况使用ISM 218
7.1.23 对于大IPC吞吐量使用通知:等待驱动程序 219
7.1.24 在主存中预分页并且 加锁 SGA 219
7.1.25 只要可能,就对当前的数据库版本设置COMPATIBLE 220
7.1.26 安装SQL*Plus帮助 221
7.2 其他一些自解释的服务器配置技巧 221
7.3 SQL*Net/Net8配置 224
7.3.1 处理大量客户时使用Oracle Name 224
7.3.2 对SQL*Net/Net8使用out-of-band break或者当out-of-band break不可用时将轮询频率设得高一些 225
7.3.3 保持死连接检测为最小 226
7.3.4 通过SQL*Net和Net8有效地管理大量用户 227
7.3.5 预先生成专门的服务器进程 233
7.4 小结 234
第8章 数据库升级、降级、重组和移植 235
8.1 升级 235
8.2 降级 235
8.3 重组 236
8.4 移植 236
8.5 何时应该升级 236
8.5.2 分析每一步并且构造加速移植的策略 238
8.5.1 在测试环境下练习移植 238
8.5.3 从Oracle7升级到Oracle8/8i时要注意一些事情 243
8.5.4 提高装入/卸载性能的快速技巧 249
8.6 现实生活中的移植个案研究 249
8.7 小结 254
第9章 备份、恢复、存档策略和规程 255
9.1 备份 256
9.1.1 经过适当的分析后,选择至少两种备份方法 256
9.1.2 在低DML活动期间执行热备份 257
9.1.3 不要同时将所有表空间置于热备份模式 259
9.1.4 尽可能先备份到磁盘,再备份到磁带 262
9.1.5 不要在操作系统热备份时对联机重作日志进行备份 264
9.1.6 考虑使用三重镜像 267
9.1.7 确保热备份命令被同步执行 269
9.1.8 定期检查备份日志文件 270
9.1.9 避免手工执行备份 270
9.1.10 确保在使用备份工具时不会影响系统的安全 271
9.1.11 使用RMAN时,定期对恢复目录进行重同步 271
9.1.12 确保备份策略适用于所有的Oracle文件类型 271
9.1.13 数据库发生变化之后立即备份控制文件 274
9.1.15 为段间一致性形成导出组 276
9.1.14 开始执行导出之前考虑好与导出相关的各个方面 276
9.1.16 为导出转储预备足够的空间 278
9.1.17 执行导出时使用路径而不是传统路径 278
9.1.18 确保所有备份导出转储的兼容性和可用性 280
9.1.19 系统时钟发生变化后立即备份 280
9.1.20 备份中和备份后检查数据库错误 281
9.1.21 备份时设置优化的I/O尺寸 282
9.1.22 使用Qracle8中增加的备份 282
9.2 存档 283
9.2.1 考虑特定环境是否需要ARCHIVELOG模式 283
9.2.2 以自动存档作为主要存档模式 286
9.2.3 为ARCHIVE_LOG_DEST分配足够的空间 287
9.2.4 为 ALTER DATABASE ARCHIVELOG 使能存档功能 287
9.2.5 ARCHIVELOG模式使能后,立即执行一次完整备份 288
9.2.6 更充分地利用ARCHIVE LOG CURRENT 290
9.2.7 不要在存档日志序列中生成空洞 290
9.2.8 如果可能的话,在磁盘上保留存档日志的双拷贝 292
9.2.9 存档到脱机介质上时,创建更多的联机重作日志组 292
9.2.10 使用OPS时考虑存档的特殊要求 293
9.3 恢复 294
9.3.1 理解恢复的必要性并设法避免失败 294
9.3.2 理解影响恢复时间的因素 295
9.3.3 确保恢复时机与SLA MTTR规范的一致 299
9.3.4 为时间点恢复考虑另外的备份/恢复方法 299
9.3.5 确保检查点之间有足够的间隔并设置合理的重作日志尺寸防止恢复延迟 300
9.3.6 恢复的最小单元 302
9.3.7 恢复之前检查vSdatafile 303
9.3.8 为恢复操作维持一个特殊的init.ora文件 303
9.3.9 RESELOGS可用作最后采用的措施 305
9.3.10 估计所有的UNRECOVERABLE和NOLOGGING操作 308
9.3.11 为恢复将所有的段和表空间进行分类 308
9.3.13 恢复期间设置AUTORECOVERY 310
9.3.12 为加速备份和恢复,将没有写活动的表空间保持为READONLY 310
9.4 给半专门的管理人和监督人准备的技巧 311
9.4.1 经常测试备份以保证有效恢复 311
9.4.2 确保数据库管理员能够熟练地执行恢复操作 311
9.4.3 创建数据库恢复小组 311
9.4.4 记录所有数据库结构上的变化 312
9.5 小结 312
第10章 启动和关闭过程 313
10.1 启动与关闭过程 313
10.1.1 将数据库的启动和关闭自动化 313
10.1.2 使用OEM启动/关闭多个数据库 317
10.1.3 对于紧急的数据库反应需求,考虑采用 关闭放弃 318
10.1.4 执行shutdown abort前先执行ALTER SYSTE CHECKPOINT 321
10.2 小结 321
第四部分 数据库维护 323
第11章 一般维护 323
11.1 主动维护和按需维护 323
11.1.1 在所有可能级上实现健壮的安全性 325
11.1.2 理解 ORA-1555:Snapshot too old 错误并采取步骤避免它 329
11.1.3 理解、防止并解决门闩锁和排队锁的竞争 337
11.1.4 熟悉不同的等待事件并采取步骤减少等待事件 341
11.1.5 周期性地监测并解决锁冲突 352
11.1.6 监测共享池的效率并在需要时调节 356
11.2 通用维护例程需要注意的其他重要问题 364
11.3 小结 364
第12章 空间和增长管理 365
12.1 理解并管理空间及增长 365
12.1.1 理解影响段增长的商业动因 366
12.1.2 理解空间消耗的单位 366
12.1.3 理解构成数据库的各种段 370
12.1.4 熟悉由于空间管理不足而引发的错误及其影响 383
12.1.5 对所有的应用程序表空间和SYSTEM表空间使能自动扩展功能 399
12.1.6 使用标准化文件大小 399
12.1.7 在标准的文件大小中分配数据文件头块 400
12.1.8 为每个段类型使用标准的存储语句以减少分段,使空间使用最优 400
12.1.9 设置INTTIAL和NEXT时要考虑DB_BLOCK_SIZE的影响 403
12.1.10 最优地设置PCTINCREASE来减少分段 404
12.1.11 理解空闲表并进行最优的设置来减少锁竞争 406
12.1.12 周期性地合并应用程序表空间 409
12.1.13 理解错误位置标记的影响 410
12.1.14 周期性地释放未被使用的块 413
12.1.16 从未预期的紧急空间需求学习 表空间改组 415
12.1.15 避免显式地丢弃数据文件 415
12.1.17 在DSS环境下不要盲目接受不受限制的段增长 417
12.2 小结 418
第五部分 难题解决 419
第13章 警告日志与跟踪文件 419
13.1 警告日志 419
13.1.1 尽可能保持对警告日志的跟踪 420
13.1.2 熟悉警告日志中的事件或消息 421
13.14 每两个星期到三个月对警告日志进行存档整理一次 435
13.1.3 编辑重要的错误信息使之仅被列出一次 435
13.2 跟踪文件 437
13.2.1 了解跟踪文件中可以获得的信息 437
13.2.2 了解如何确认跟踪文件所述的具体事件或会话 438
13.2.3 了解引起跟踪文件产生的原因 439
13.3 跟踪 446
13.4 使用SQL*Net和Net8跟踪 446
13.5 PL/SQL跟踪 451
13.6 ODBC跟踪 454
13.7 核心转储文件 454
13.8 Oracle调试工具 455
13.9 小结 462
14.1 了解、预防并修复中断 463
14.1.1 了解中断及其出现方式 463
第14章 标识并解决数据库中断 463
14.1.2 提前检测介质中断 477
14.1.3 了解如何防止介质中断 477
14.1.4 了解处理内存中断的技术 478
14.1.5 熟悉处理逻辑中断的技术 480
14.1.6 标识并列出所有被怀疑发生中断的部件 483
14.1.7 标识并列出用户环境下预防、检测和修复中断的措施 483
14.1.8 获取涉及中断的相关信息 487
14.2 小结 488
14.1.9 培训管理员处理中断的能力 488
第六部分 离可用性解决方案 489
第15章 备用方法 489
15.1 Oracle提供的备用方法 489
15.1.1 利用备用数据库进行系统灾难修复 489
15.1.2 当不特别要求24×7连续工作时考虑使用备用实例 497
15.1.3 利用多个解决方案构造更加有效的方案 504
15.2 在例行维护和紧急情况下的可用性策略问题 505
15.2.1 使用定制备用数据库评估 507
15.2.2 考虑利用备用表处理段级故障 519
15.2.3 本章讨论的定制解决方案相关注意事项 530
15.3 小结 531
第16章 Oracle并行服务器 532
16.1 理解和管理OPS环境 532
16.1.1 理解什么是OPS以及它是如何提高可用性的 532
16.1.2 理解、检测、删除错误的ping 540
16.1.3 OPS环境下在使用应用程序之前对它们进行划分 544
16.2 小结 546
17.1 理解AR 547
17.1.1 熟悉AR操作和基本功能 547
第17章 高级复制 547
17.1.2 理解可以实施的AR高可用性选项 553
17.1.3 AR体系结构配置方式 553
17.2 小结 558
第18章 第三方HA解决方案 559
18.1 基于硬件/OS的产品 559
18.1.1 为灾难修复目的考虑使用EMC SRDF 559
18.1.2 利用EMC TIMEFINDER投资回报进行评估 564
18.2 基于数据库的产品 567
19.1 利用脚本报告问题 575
19.1.1 通过定期运行轮询脚本监控特定的故障 575
第19章 24×7工具箱 575
第七部分 构建实际的高可用性系统 575
19.1.2 当调用PL/SQL时,要熟悉应用失败恢复技术 585
19.2 小结 587
第八部分 新特性 589
第20章 Oracle8i中的新HA特性 589
20.1 面向维护的特性 589
20.1.0 为了快速移动数据子集而考虑使用可传输的表空间 589
20.1.2 为了避免碎片而考虑使用本地管理的表空间 590
20.1.3 熟悉新改变的管理特性 591
20.1.5 熟悉对没有划分的表进行重组的特性 592
20.1.4 联机创建、重建和消除索引碎片 592
20.1.6 如果需要的话,可以很容易地丢弃列 593
20.1.7 提高连续工作时间的划分特性的增强 593
20.2 难题解决特性 594
20.3 备份和面向恢复的特性 594
20.3.1 利用一些方法方便并且加速RMAN备份 595
20.3.2 控制和加速恢复时间 595
20.4 其他HA特性 596
20.4.1 使用新的监听者失败恢复和负载平衡服务 596
20.4.2 熟悉LogMiner功能 596
20.4.3 去掉 胖 OS开销 597
20.5 小结 598
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《数据失控》(美)约翰·切尼-利波尔德(John Cheney-Lippold)著 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《穿越数据的迷宫 数据管理执行指南》Laura Sebastian-Coleman 2020
- 《大数据环境下的信息管理方法技术与服务创新丛书 俄罗斯档案事业改革与发展研究》徐胡乡责编;肖秋会 2019
- 《Access数据库系统设计与应用教程》李勇帆,廖瑞华主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019