在参加完上海oracle open world之后,就开始对新书做第一次修正,并增加了很多Oracle 11g的高可用的新特性。在历时快2个月的修正中,做了一些大的改动,有些章节甚至完全重写了。不过,不管怎么样,现在应当是基本定型了,也就是说,以后的时间里面,基本不会做太大的改动了。
修正以后的章节只有16章了,把以前有些章节合并了,整体框架并没有发生太大的变化。应当说,修正以后的章节更清晰了,基本上有一个明确的方向。至于oracle 11g,的确是需要补充的东西很多,如果说Oracle 11g在其它地方的改动不是很明显,但是,在高可用性方面,却是有很多巨大的进步。
初次修正还是比较粗糙,那么,马上要进行的第二次修正就是比较精细的修正了,第二次修正应当马上就开始了,主要注重在细节方面,或者是可能出现的错误方面。
先把初次修正后的目录拿给大家看看,有意见尽快提啊,我还来的及做改动。。。
第一章:什么是Oracle高可用环境 12
1.1、理解Oracle数据库 12
1.1.1 ORACLE数据库体系结构 12
1.1.2 ORACLE实例(Instance) 13
1.1.2.1 Oracle内存结构 13
1.1.2.2 SGA 14
1.1.2.3 PGA 16
1.1.3 后台进程 (Background process) 18
1.1.3.1 DBWR 19
1.1.3.2 LGWR 19
1.1.3.3 9i其它的后台进程 20
1.1.3.4 Oracle 10g中的一些后台进程: 21
1.1.3.5 Oracle11g 新的后台进程的功能 21
1.1.3.6 SCN 21
1.1.4物理结构与逻辑结构 22
1.1.4.1 表空间 23
1.1.4.2 段(segment) 24
1.1.4.3 块(BLOCK) 27
1.1.4.4 ROWID与rdba 30
1.2 Oracle高可用特性(High Availability) 32
1.2.1 什么是高可用 32
1.2.2 Oracle 最高可用性体系结构(MAA) 33
1.2.3 Oracle高可用相关功能的产品概述 34
1.2.3.1 Oracle并行数据库OPS /RAC 35
1.2.3.2 Oracle备用数据库Standby/Data Guard 36
1.2.3.3 Oracle高级复制与流Advanced Replication /Stream 37
1.2.3.4 主机相关HA 38
1.3、搭建高可用的网络环境 39
1.3.1简单网络 40
1.3.2复杂网络 40
1.4、高可用应用设计 41
1.4.1高可用应用设计技术 41
1.4.2 典型应用构架结构 42
1.5、高可用数据库设计 43
1.5.1 数据库设计范式 43
1.5.2反范式数据库设计 45
1.5.3 数据库分布技术 46
1.6 高可用性案例 46
1.6.1 美国ebay高可用环境分析 46
1.6.2 myspace构架分析 47
第二章 高可用性之软硬件环境 50
2.1存储的选择与规划 50
2.1.1存储选型 50
2.1.1.1 存储体系结构 50
2.1.1.2 存储的cache技术 51
2.1.1.3 存储的评估指标 53
2.1.1.4 存储测试方法与测试软件 55
2.1.1.5 几款中高端存储介绍 56
2.1.2 存储构架 57
2.1.2.1 基本概念 57
2.1.2.2 中端存储典型结构 58
2.1.2.3 高端存储典型结构 58
2.1.3 Raid技术 59
2.1.3.1 raid1 59
2.1.3.2 raid0 60
2.1.3.3 raid5 60
2.1.3.4 raid10/raid01 61
2.1.3.5 raid5与raid10的内部差别 62
2.1.3.6 其它raid方式 64
2.1.3.7 存储的raid技术 66
2.2网络存储技术 67
2.2.1 FC SAN 67
2.2.1.1 FC SAN的结构 67
2.2.1.1 FC 光纤交换机 68
2.2.1.2 FC 光纤通道卡 68
2.2.1.3光纤交换机的基本管理 69
2.2.2 IP SAN(ISCSI) 71
2.2.3 NAS 72
2.3主机的选择与规划 73
2.3.1主机选型 73
2.3.2 TPCC测试 73
2.3.3 其它测试方案与手段 75
2.3.4 主流小型机对比 75
2.3.5 小型机构架 76
2.3.5.1 多核技术与多线程技术 76
2.3.5.2 分区技术 78
2.3.5.3 高RAS特性 78
2.4操作系统与存储管理 79
2.4.1 shell简介 79
2.4.2 存储管理 80
2.4.2.1 物理卷PV 81
2.4.2.2 卷组VG 81
2.4.2.3 逻辑卷LV 82
2.4.3 文件系统与裸设备 83
2.4.3.1 什么是裸设备 83
2.4.3.2 怎么使用dd命令 85
第三章 容灾与分级存储 87
3.1 容灾 87
3.1.1 灾难的定义 87
3.1.2 风险分析与评估 88
3.1.3、策略制定 89
3.1.3.1容灾级别 89
3.1.3.2 容灾技术 93
3.1.4、方案实施与测试 96
3.1.5、容灾的建设的生命周期 97
3.1.6、容灾的发展 97
3.2容灾案例分析 98
3.2.2某企业容灾高可用案例分析 98
3.2.2某金融机构容灾高可用案例分析 99
3.2.3某在线网站容灾高可用分析 100
3.3分级存储 100
3.3.1信息的生命周期 100
3.3.2、分级存储 102
3.3.3、分级存储的技术与实现 103
第四章 Oracle之RAC介绍 104
4.1 RAC的构架 104
4.1.1 体系结构 104
4.1.2 软件结构 105
4.1.3 RAC进程介绍 107
4.1.4 硬件环境 108
4.2 Oracle 10g/11g中RAC的新特性 108
4.2.1单一的Cluster环境 108
4.2.3 更好的功能 109
4.2.4 网格计算 110
4.3 RAC的负载均衡 111
4.3.1 Oracle 9i RAC的负载均衡 111
4.3.2 Oracle 9i RAC的failover 113
4.3.3 Oracle 10g的负载均衡 113
4.3.4 Oracle 10g的failover 115
4.3.5 RAC环境下的分布计算 116
4.4 RAC的内部与优化 118
4.4.1 RAC全局资源管理 118
4.4.2 RAC全局Cache等待事件 119
4.5 RAC的维护管理 120
4.5.1 关闭/启动数据库 120
4.5.2 rac环境下修改为归档模式 121
4.5.3在线补丁升级 121
4.6 ASM介绍 122
4.6.1 ASM的特性 122
4.6.2 ASM的管理 124
第五章 Oracle之Standby介绍 126
5.1备用数据库(standby/data guard)简介 126
5.1.1构架介绍 126
5.1.2内部原理 127
5.1.3搭建条件 128
5.1.4 决定Standby的一些参数 129
5.1.5 简单搭建过程 131
5.2 决定归档的一些参数说明 133
5.2.1 Oracle 9i以后常用归档参数 133
5.2.2 Oracle 10g/11g以后常用归档参数 134
5.3 最大保护模式与最大可用模式 135
5.3.1 环境要求 135
5.3.2 转换模式由最大性能到最大保护 136
5.3.4 最大可用模式 137
5.4 日常管理 137
5.4.1 备用服务器的管理模式与只读模式 137
5.4.2删除归档日志 138
5.4.3 日志传送与日志应用延迟检查 139
5.4.4 从备用库上恢复主库的数据文件 142
5.4.5在备用数据库上进行备份 143
5.5 主库与备库的切换 143
5.5.1正常切换 143
5.5.2失败切换 144
5.5.3强行切换(激活) 145
5.5.4 应用的failove 145
5.6逻辑Standby的介绍 146
5.6.1 逻辑standby介绍 146
5.6.2 逻辑standby要求与限制 147
5.6.3 逻辑standby配置过程 148
5.6.4 逻辑standby SQL应用方式 149
5.6.5 逻辑standby上执行DDL 149
5.6.5 逻辑standby的Switch over 150
5.6.6 逻辑standby的Failover 150
5.7 Standby其它高可用特性 151
5.7.1采用Standby滚动升级 151
5.7.2快照Standby 153
第六章 Oracle之Stream介绍 156
6.1 Stream的介绍 156
6.1.1 Stream特性 156
6.1.2 Stream内部原理 157
6.1.3 Stream的应用与发展 159
6.2 Stream特性 160
6.2.1 Stream pool 160
6.2.2 downstream的应用 160
6.2.2.1实时远程捕获 160
6.2.3 同步捕获 161
6.2.4 Stream复制配置的简化 161
6.3 Stream简单配置 161
6.3.1 配置前的准备工作 161
6.3.2多源全库复制案例 162
6.3.2.1环境介绍与准备 163
6.3.2.2执行pre_instantiation_setup过程 164
6.3.2.3用rman复制源库到目标库 165
6.3.2.4执行post_instantiation_setup过程 167
6.3.2.5 配置结果检查与测试 168
6.3.3单源表空间配置案例 169
6.3.3.1 配置准备与说明 169
6.3.3.2 简单配置过程 169
6.4.3配置过程中问题处理 170
6.4.3.1 常见错误处理 170
6.4.3.2 Stream进程管理 172
6.4 SharePlex与DSG RealSync 173
6.4.1 Quest SharePlex介绍 173
6.4.2 DSG RealSync复制技术 173
第七章 高可用性之主机HA 175
7.1主机HA简介 175
7.1.1 主机HA的简单介绍 175
7.1.2 主机HA的运行方式 176
7.1.3 主机HA的能解决的问题 176
7.1.3.1 主机故障 176
7.1.3.2 网卡故障 177
7.1.3.3 网络故障 178
7.2 IBM HACMP简介 178
7.2.1 HACMP中的基本概念 179
7.2.2 HACMP的接管方式 181
7.2.3 HACMP的网络 183
7.3 verritas VCS简介 184
7.3.1 VCS的体系结构 185
7.3.2 VCS的方案介绍 186
7.4是否应当选择主机HA 187
7.4.1 主机HA能解决的问题 187
7.4.2 主机HA不能解决的问题 187
第八章 Oracle其它高可用特性 188
8.1 Oracle Flashback 188
8.1.1 闪回查询(flashback query) 188
8.1.1.1 Oracle 9i的flashback query 188
8.1.1.2 Oracle 9i flashback query的5分钟问题 189
8.1.1.3 Oracle 10g以后的增强 191
8.1.2 闪回表(f lashback table) 191
8.1.2.1 flashback table的特性 191
8.1.2.2 flashback table的示例 192
8.1.3 闪回删除(flashback drop) 195
8.1.3.1 flashback drop的特性 195
8.1.3.2 flashback drop的示例 196
8.1.3.3 回收站的管理 199
8.1.4 闪回数据库(flashback database) 201
8.1.4.1 闪回数据库体系结构 201
8.1.4.2 闪回数据库示例 202
8.1.4.3 闪回数据库案例 205
8.1.5 闪回版本查询(flashback version query) 206
8.1.5.1 闪回版本查询描述 206
8.1.5.2 闪回版本查询示例 206
8.1.5.1 闪回版本查询特性 208
8.1.6 闪回事务查询(flashback transaction query) 209
8.1.6.1 闪回事务查询特性 209
8.1.6.2 闪回事务查询示例 209
8.1.7 闪回数据归档(flashback data archive) 211
8.1.7.1闪回数据归档介绍 211
8.1.7.2闪回数据归档示例 212
8.1.7.3闪回数据归档的管理 217
8.2 Oracle之Logmnr 218
8.2.1 Logmnr介绍 218
8.2.2 Logmnr包含的内容与数据字典 219
8.2.3 Logmnr的分析过程 220
8.2.4 Logmnr的限制 223
8.3 在线表重定义 224
8.3.1 在线重定义介绍 224
8.3.2 在线重定义基本步骤 224
8.3.3在线重定义示例 226
第九章 高可用备份方案与策略 234
9.1高可用环境的备份体系构架 234
9.1.1 体系结构 234
9.1.2 同步可切换 235
9.1.3 异步延时恢复 236
9.1.4近线磁盘备份 237
9.1.5离线磁带备份 238
9.2 使用导出/导入构建逻辑备份策略 239
9.2.1 exp/imp的介绍 239
9.2.2 expdp/impdp的介绍 239
9.2.3 逻辑备份策略 244
9.3使用RMAN构造物理备份策略 245
9.3.1 RMAN体系结构 245
9.3.2 启动与运行RMAN 246
9.3.3 RMAN的配置 248
9.3.4 运用RMAN的来备份 250
9.3.5 运用rman来恢复 252
9.3.6 RMAN的管理 254
9.3.7 用RMAN建立物理备份策略 255
9.3.7.1 策略的选定 255
9.3.7.2 控制文件与恢复目录 256
9.3.7.3 典型OLTP环境备份策略 257
9.3.7.3 典型OLAP环境备份策略 258
9.4 其它RMAN高可用特性 259
9.4.1 真正的增量备份 259
9.4.2 增强的duplicate 260
第十章 高可用环境下数据迁移 262
10.1数据迁移方案讨论 262
10.1.1 常见常规迁移方法 262
10.1.2 自定义迁移方法 263
10.2数据迁移案例分析 265
10.2.1采用物理Standby迁移全库案例 265
10.2.2使用Stream迁移单个用户案例 266
10.2.3使用prebuilt mv数据迁移案例 267
10.2.4使用Trigger数据迁移案例 269
10.2.5 跨字符集数据迁移案例 275
10.3其它迁移方法 279
10.3.1表空间迁移 279
10.3.1.1表空间迁移介绍 279
10.3.1.2 什么是字节顺序 280
10.3.1.3利用表空间迁移同字节顺序迁移 280
10.3.1.4利用表空间迁移跨字节顺序迁移 282
10.3.1.4 利用表空间迁移跨版本迁移 283
10.3.2 Sql loader与外部表 284
10.3.2.1 SQL LOADER 284
10.3.2.2 外部表 286
第十一章 使用statspack做性能优化 290
11.1 statspack的安装与配置 290
11.1.1 参数设置 290
11.1.2 statspack的安装 290
11.1.3 statspack的设置 291
11.2 AWR的配置 291
11.3 statspack与Awr的使用 292
11.3.1 statspack的使用 292
11.3.2 Awr的使用 294
11.4分析报表 295
11.4.1 Load Profile 295
11.4.2 Instance Efficiency Percentages 295
11.4.2 Top 5 wait Event 296
11.4.2.1 序列读与离散读 296
11.4.2.2 怎么样优化序列读与离散读 297
11.4.2.3 其它常见等待事件 298
11.4.3 Top SQL语句 299
11.4.3.1 Top buffer get 299
11.4.3.2 Top physical get 302
11.4.3.3其它top Sql 304
11.4.4 其它报告 304
11.5 Statspack与Awr 的扩展 307
第十二章 高可用环境数据规划 310
12.1表空间管理 310
12.1.1 本地管理表空间 310
12.1.2碎片问题 311
12.1.3段空间自动管理 314
12.2数据规划分布 316
12.2.1 数据文件规划 316
12.2.2数据文件如何分布 317
12.2.3复杂的数据分布 319
第十三章 高可用环境下优化案例 321
13.1 优化规则分析 321
13.1.1 表与索引的存储规则 321
13.1.1.1 表的结构 321
13.1.1.2 索引的结构 322
13.1.2全表扫描与索引扫描的差别 323
13.1.2.1 表扫描 323
13.1.2.2 索引扫描 324
13.1.3回表查询与不回表查询的差别 326
13.1.3.1 索引回表查询 326
13.1.3.2 全部在索引上查询 327
13.2 优化案例分析 329
13.2.1 分页优化案例分析 329
13.2.2 Inlist的绑定优化 334
13.3 只选择最适合的 335
13.3.1 分区表与本地索引 335
13.3.2 并行操作 337
第十四章 锁与并发控制 338
14.1锁与阻塞 338
14.1.1 锁类型 338
14.1.1.1 DML锁 338
14.1.1.2 DDL锁 340
14.1.1.3 内存锁(latch) 343
14.1.2 阻塞 344
14.1.2.1 TX阻塞 344
14.1.2.2 TM阻塞 346
14.1.2.3 latch阻塞 347
14.1.3 高可用环境下,怎么避免锁与阻塞 349
14.2 死锁分析 349
14.2.1 行死锁 349
14.2.2 位图索引死锁 352
14.2.3 ITL死锁 354
14.3并发控制 359
14.3.1 并发的原理 359
14.3.2 并发的风险 360
14.3.3 并发的控制 361
第十五章 高可用环境之在线维护 363
15.1高可用环境下修正数据(DML) 363
15.1.1 确定数据修正目标 363
15.1.2 高可用环境下DML操作案例分析 364
15.1.2.1 单表大批量更新案例 364
15.1.2.2关联更新大批量数据案例 365
15.1.2.3被更新的表上有MV的案例 366
15.1.2.4注意数据的备份 367
15.1.3 可能出现的问题 368
15.2高可用环境下结构操作(DDL) 368
15.2.1 DDL操作的风险分析 368
15.2.2高可用环境下DDL操作案例分析 368
15.2.2.1给表增加字段,并带默认值 368
15.2.2.2 在线给表增加主键或者是其它约束 372
15.2.2.3 在线增加索引,并尽量防止执行计划的改变 373
15.2.2.4 表与索引的分析与执行计划 375
15.2.2.5 修改高度并发的表,latch争用 376
15.2.2.6 删除数据列 376
15.2.3 高可用环境下的并行DDL的操作 377
15.2.4 Oracle 11g 高可用维护新特性 378
15.2.4.1 Oracle 11g DDL的改进 378
15.2.4.2 Oracle 11g 的INVISIBLE 索引 381
15.3创建一个测试环境 382
15.3.1 需要一个怎么样的测试环境 382
15.3.2 测试环境的统计信息 382
15.3.2.1 统计信息的重要性 382
15.3.2.2 把统计信息导入到测试环境 383
15.3.2.3 利用生产环境统计数据分析执行计划 384
15.3.3 Oracle 11g的真实测试 385
第十六章 监控构架设计 388
16.1监控构架设计 388
16.1.1 怎么样才是一个好的构架 388
16.1.2 搭建一个好的监控构架 389
16.1.2.1 收集层--主机与DB 389
16.1.2.1 分析层-- DB Monitor 390
16.1.2.3 展示层-- 最终输出 395
16.1.2.3 分析总结 397
16.2搭建一个监控构架 398
16.2.1 监控指标 398
16.2.2 主机端数据采集 398
16.2.2.1 采集负载与alert日志示例 398
16.2.2.2 采集主机磁盘空间示例 399
16.2.2.3 采集数据库每秒事务数示例 400
16.2.3 Monitor上的分析策略 403
16.2.3.1 分析主机负载示例 403
16.2.3.2 分析alert日志示例 404
16.2.3.3 分析磁盘空间示例 405
16.2.4 展示层上的展示分析 406
16.2.4.1 nagios状态分析 407
16.2.4.2 cacti走势分析 408
16.3分析功能的增强 409
16.3.1 监控信息分级 409
16.3.2 双检验法提高监控质量 410
16.4监控与安全 413
16.4.1 监控体系结构的安全性 413
16.4.2 怎么样搭建安全体系结构 413
16.4.3一个监控与安全策略--限制与监控DDL 414
16.5辅助监控手段 416
16.5.1捕获耗费性能的SQL语句 416
16.5.2获得现有语句的执行计划 417
16.5.3监控当前活动的语句 419
16.5 其它监控手段与软件 421
1.1、理解Oracle数据库 12
1.1.1 ORACLE数据库体系结构 12
1.1.2 ORACLE实例(Instance) 13
1.1.2.1 Oracle内存结构 13
1.1.2.2 SGA 14
1.1.2.3 PGA 16
1.1.3 后台进程 (Background process) 18
1.1.3.1 DBWR 19
1.1.3.2 LGWR 19
1.1.3.3 9i其它的后台进程 20
1.1.3.4 Oracle 10g中的一些后台进程: 21
1.1.3.5 Oracle11g 新的后台进程的功能 21
1.1.3.6 SCN 21
1.1.4物理结构与逻辑结构 22
1.1.4.1 表空间 23
1.1.4.2 段(segment) 24
1.1.4.3 块(BLOCK) 27
1.1.4.4 ROWID与rdba 30
1.2 Oracle高可用特性(High Availability) 32
1.2.1 什么是高可用 32
1.2.2 Oracle 最高可用性体系结构(MAA) 33
1.2.3 Oracle高可用相关功能的产品概述 34
1.2.3.1 Oracle并行数据库OPS /RAC 35
1.2.3.2 Oracle备用数据库Standby/Data Guard 36
1.2.3.3 Oracle高级复制与流Advanced Replication /Stream 37
1.2.3.4 主机相关HA 38
1.3、搭建高可用的网络环境 39
1.3.1简单网络 40
1.3.2复杂网络 40
1.4、高可用应用设计 41
1.4.1高可用应用设计技术 41
1.4.2 典型应用构架结构 42
1.5、高可用数据库设计 43
1.5.1 数据库设计范式 43
1.5.2反范式数据库设计 45
1.5.3 数据库分布技术 46
1.6 高可用性案例 46
1.6.1 美国ebay高可用环境分析 46
1.6.2 myspace构架分析 47
第二章 高可用性之软硬件环境 50
2.1存储的选择与规划 50
2.1.1存储选型 50
2.1.1.1 存储体系结构 50
2.1.1.2 存储的cache技术 51
2.1.1.3 存储的评估指标 53
2.1.1.4 存储测试方法与测试软件 55
2.1.1.5 几款中高端存储介绍 56
2.1.2 存储构架 57
2.1.2.1 基本概念 57
2.1.2.2 中端存储典型结构 58
2.1.2.3 高端存储典型结构 58
2.1.3 Raid技术 59
2.1.3.1 raid1 59
2.1.3.2 raid0 60
2.1.3.3 raid5 60
2.1.3.4 raid10/raid01 61
2.1.3.5 raid5与raid10的内部差别 62
2.1.3.6 其它raid方式 64
2.1.3.7 存储的raid技术 66
2.2网络存储技术 67
2.2.1 FC SAN 67
2.2.1.1 FC SAN的结构 67
2.2.1.1 FC 光纤交换机 68
2.2.1.2 FC 光纤通道卡 68
2.2.1.3光纤交换机的基本管理 69
2.2.2 IP SAN(ISCSI) 71
2.2.3 NAS 72
2.3主机的选择与规划 73
2.3.1主机选型 73
2.3.2 TPCC测试 73
2.3.3 其它测试方案与手段 75
2.3.4 主流小型机对比 75
2.3.5 小型机构架 76
2.3.5.1 多核技术与多线程技术 76
2.3.5.2 分区技术 78
2.3.5.3 高RAS特性 78
2.4操作系统与存储管理 79
2.4.1 shell简介 79
2.4.2 存储管理 80
2.4.2.1 物理卷PV 81
2.4.2.2 卷组VG 81
2.4.2.3 逻辑卷LV 82
2.4.3 文件系统与裸设备 83
2.4.3.1 什么是裸设备 83
2.4.3.2 怎么使用dd命令 85
第三章 容灾与分级存储 87
3.1 容灾 87
3.1.1 灾难的定义 87
3.1.2 风险分析与评估 88
3.1.3、策略制定 89
3.1.3.1容灾级别 89
3.1.3.2 容灾技术 93
3.1.4、方案实施与测试 96
3.1.5、容灾的建设的生命周期 97
3.1.6、容灾的发展 97
3.2容灾案例分析 98
3.2.2某企业容灾高可用案例分析 98
3.2.2某金融机构容灾高可用案例分析 99
3.2.3某在线网站容灾高可用分析 100
3.3分级存储 100
3.3.1信息的生命周期 100
3.3.2、分级存储 102
3.3.3、分级存储的技术与实现 103
第四章 Oracle之RAC介绍 104
4.1 RAC的构架 104
4.1.1 体系结构 104
4.1.2 软件结构 105
4.1.3 RAC进程介绍 107
4.1.4 硬件环境 108
4.2 Oracle 10g/11g中RAC的新特性 108
4.2.1单一的Cluster环境 108
4.2.3 更好的功能 109
4.2.4 网格计算 110
4.3 RAC的负载均衡 111
4.3.1 Oracle 9i RAC的负载均衡 111
4.3.2 Oracle 9i RAC的failover 113
4.3.3 Oracle 10g的负载均衡 113
4.3.4 Oracle 10g的failover 115
4.3.5 RAC环境下的分布计算 116
4.4 RAC的内部与优化 118
4.4.1 RAC全局资源管理 118
4.4.2 RAC全局Cache等待事件 119
4.5 RAC的维护管理 120
4.5.1 关闭/启动数据库 120
4.5.2 rac环境下修改为归档模式 121
4.5.3在线补丁升级 121
4.6 ASM介绍 122
4.6.1 ASM的特性 122
4.6.2 ASM的管理 124
第五章 Oracle之Standby介绍 126
5.1备用数据库(standby/data guard)简介 126
5.1.1构架介绍 126
5.1.2内部原理 127
5.1.3搭建条件 128
5.1.4 决定Standby的一些参数 129
5.1.5 简单搭建过程 131
5.2 决定归档的一些参数说明 133
5.2.1 Oracle 9i以后常用归档参数 133
5.2.2 Oracle 10g/11g以后常用归档参数 134
5.3 最大保护模式与最大可用模式 135
5.3.1 环境要求 135
5.3.2 转换模式由最大性能到最大保护 136
5.3.4 最大可用模式 137
5.4 日常管理 137
5.4.1 备用服务器的管理模式与只读模式 137
5.4.2删除归档日志 138
5.4.3 日志传送与日志应用延迟检查 139
5.4.4 从备用库上恢复主库的数据文件 142
5.4.5在备用数据库上进行备份 143
5.5 主库与备库的切换 143
5.5.1正常切换 143
5.5.2失败切换 144
5.5.3强行切换(激活) 145
5.5.4 应用的failove 145
5.6逻辑Standby的介绍 146
5.6.1 逻辑standby介绍 146
5.6.2 逻辑standby要求与限制 147
5.6.3 逻辑standby配置过程 148
5.6.4 逻辑standby SQL应用方式 149
5.6.5 逻辑standby上执行DDL 149
5.6.5 逻辑standby的Switch over 150
5.6.6 逻辑standby的Failover 150
5.7 Standby其它高可用特性 151
5.7.1采用Standby滚动升级 151
5.7.2快照Standby 153
第六章 Oracle之Stream介绍 156
6.1 Stream的介绍 156
6.1.1 Stream特性 156
6.1.2 Stream内部原理 157
6.1.3 Stream的应用与发展 159
6.2 Stream特性 160
6.2.1 Stream pool 160
6.2.2 downstream的应用 160
6.2.2.1实时远程捕获 160
6.2.3 同步捕获 161
6.2.4 Stream复制配置的简化 161
6.3 Stream简单配置 161
6.3.1 配置前的准备工作 161
6.3.2多源全库复制案例 162
6.3.2.1环境介绍与准备 163
6.3.2.2执行pre_instantiation_setup过程 164
6.3.2.3用rman复制源库到目标库 165
6.3.2.4执行post_instantiation_setup过程 167
6.3.2.5 配置结果检查与测试 168
6.3.3单源表空间配置案例 169
6.3.3.1 配置准备与说明 169
6.3.3.2 简单配置过程 169
6.4.3配置过程中问题处理 170
6.4.3.1 常见错误处理 170
6.4.3.2 Stream进程管理 172
6.4 SharePlex与DSG RealSync 173
6.4.1 Quest SharePlex介绍 173
6.4.2 DSG RealSync复制技术 173
第七章 高可用性之主机HA 175
7.1主机HA简介 175
7.1.1 主机HA的简单介绍 175
7.1.2 主机HA的运行方式 176
7.1.3 主机HA的能解决的问题 176
7.1.3.1 主机故障 176
7.1.3.2 网卡故障 177
7.1.3.3 网络故障 178
7.2 IBM HACMP简介 178
7.2.1 HACMP中的基本概念 179
7.2.2 HACMP的接管方式 181
7.2.3 HACMP的网络 183
7.3 verritas VCS简介 184
7.3.1 VCS的体系结构 185
7.3.2 VCS的方案介绍 186
7.4是否应当选择主机HA 187
7.4.1 主机HA能解决的问题 187
7.4.2 主机HA不能解决的问题 187
第八章 Oracle其它高可用特性 188
8.1 Oracle Flashback 188
8.1.1 闪回查询(flashback query) 188
8.1.1.1 Oracle 9i的flashback query 188
8.1.1.2 Oracle 9i flashback query的5分钟问题 189
8.1.1.3 Oracle 10g以后的增强 191
8.1.2 闪回表(f lashback table) 191
8.1.2.1 flashback table的特性 191
8.1.2.2 flashback table的示例 192
8.1.3 闪回删除(flashback drop) 195
8.1.3.1 flashback drop的特性 195
8.1.3.2 flashback drop的示例 196
8.1.3.3 回收站的管理 199
8.1.4 闪回数据库(flashback database) 201
8.1.4.1 闪回数据库体系结构 201
8.1.4.2 闪回数据库示例 202
8.1.4.3 闪回数据库案例 205
8.1.5 闪回版本查询(flashback version query) 206
8.1.5.1 闪回版本查询描述 206
8.1.5.2 闪回版本查询示例 206
8.1.5.1 闪回版本查询特性 208
8.1.6 闪回事务查询(flashback transaction query) 209
8.1.6.1 闪回事务查询特性 209
8.1.6.2 闪回事务查询示例 209
8.1.7 闪回数据归档(flashback data archive) 211
8.1.7.1闪回数据归档介绍 211
8.1.7.2闪回数据归档示例 212
8.1.7.3闪回数据归档的管理 217
8.2 Oracle之Logmnr 218
8.2.1 Logmnr介绍 218
8.2.2 Logmnr包含的内容与数据字典 219
8.2.3 Logmnr的分析过程 220
8.2.4 Logmnr的限制 223
8.3 在线表重定义 224
8.3.1 在线重定义介绍 224
8.3.2 在线重定义基本步骤 224
8.3.3在线重定义示例 226
第九章 高可用备份方案与策略 234
9.1高可用环境的备份体系构架 234
9.1.1 体系结构 234
9.1.2 同步可切换 235
9.1.3 异步延时恢复 236
9.1.4近线磁盘备份 237
9.1.5离线磁带备份 238
9.2 使用导出/导入构建逻辑备份策略 239
9.2.1 exp/imp的介绍 239
9.2.2 expdp/impdp的介绍 239
9.2.3 逻辑备份策略 244
9.3使用RMAN构造物理备份策略 245
9.3.1 RMAN体系结构 245
9.3.2 启动与运行RMAN 246
9.3.3 RMAN的配置 248
9.3.4 运用RMAN的来备份 250
9.3.5 运用rman来恢复 252
9.3.6 RMAN的管理 254
9.3.7 用RMAN建立物理备份策略 255
9.3.7.1 策略的选定 255
9.3.7.2 控制文件与恢复目录 256
9.3.7.3 典型OLTP环境备份策略 257
9.3.7.3 典型OLAP环境备份策略 258
9.4 其它RMAN高可用特性 259
9.4.1 真正的增量备份 259
9.4.2 增强的duplicate 260
第十章 高可用环境下数据迁移 262
10.1数据迁移方案讨论 262
10.1.1 常见常规迁移方法 262
10.1.2 自定义迁移方法 263
10.2数据迁移案例分析 265
10.2.1采用物理Standby迁移全库案例 265
10.2.2使用Stream迁移单个用户案例 266
10.2.3使用prebuilt mv数据迁移案例 267
10.2.4使用Trigger数据迁移案例 269
10.2.5 跨字符集数据迁移案例 275
10.3其它迁移方法 279
10.3.1表空间迁移 279
10.3.1.1表空间迁移介绍 279
10.3.1.2 什么是字节顺序 280
10.3.1.3利用表空间迁移同字节顺序迁移 280
10.3.1.4利用表空间迁移跨字节顺序迁移 282
10.3.1.4 利用表空间迁移跨版本迁移 283
10.3.2 Sql loader与外部表 284
10.3.2.1 SQL LOADER 284
10.3.2.2 外部表 286
第十一章 使用statspack做性能优化 290
11.1 statspack的安装与配置 290
11.1.1 参数设置 290
11.1.2 statspack的安装 290
11.1.3 statspack的设置 291
11.2 AWR的配置 291
11.3 statspack与Awr的使用 292
11.3.1 statspack的使用 292
11.3.2 Awr的使用 294
11.4分析报表 295
11.4.1 Load Profile 295
11.4.2 Instance Efficiency Percentages 295
11.4.2 Top 5 wait Event 296
11.4.2.1 序列读与离散读 296
11.4.2.2 怎么样优化序列读与离散读 297
11.4.2.3 其它常见等待事件 298
11.4.3 Top SQL语句 299
11.4.3.1 Top buffer get 299
11.4.3.2 Top physical get 302
11.4.3.3其它top Sql 304
11.4.4 其它报告 304
11.5 Statspack与Awr 的扩展 307
第十二章 高可用环境数据规划 310
12.1表空间管理 310
12.1.1 本地管理表空间 310
12.1.2碎片问题 311
12.1.3段空间自动管理 314
12.2数据规划分布 316
12.2.1 数据文件规划 316
12.2.2数据文件如何分布 317
12.2.3复杂的数据分布 319
第十三章 高可用环境下优化案例 321
13.1 优化规则分析 321
13.1.1 表与索引的存储规则 321
13.1.1.1 表的结构 321
13.1.1.2 索引的结构 322
13.1.2全表扫描与索引扫描的差别 323
13.1.2.1 表扫描 323
13.1.2.2 索引扫描 324
13.1.3回表查询与不回表查询的差别 326
13.1.3.1 索引回表查询 326
13.1.3.2 全部在索引上查询 327
13.2 优化案例分析 329
13.2.1 分页优化案例分析 329
13.2.2 Inlist的绑定优化 334
13.3 只选择最适合的 335
13.3.1 分区表与本地索引 335
13.3.2 并行操作 337
第十四章 锁与并发控制 338
14.1锁与阻塞 338
14.1.1 锁类型 338
14.1.1.1 DML锁 338
14.1.1.2 DDL锁 340
14.1.1.3 内存锁(latch) 343
14.1.2 阻塞 344
14.1.2.1 TX阻塞 344
14.1.2.2 TM阻塞 346
14.1.2.3 latch阻塞 347
14.1.3 高可用环境下,怎么避免锁与阻塞 349
14.2 死锁分析 349
14.2.1 行死锁 349
14.2.2 位图索引死锁 352
14.2.3 ITL死锁 354
14.3并发控制 359
14.3.1 并发的原理 359
14.3.2 并发的风险 360
14.3.3 并发的控制 361
第十五章 高可用环境之在线维护 363
15.1高可用环境下修正数据(DML) 363
15.1.1 确定数据修正目标 363
15.1.2 高可用环境下DML操作案例分析 364
15.1.2.1 单表大批量更新案例 364
15.1.2.2关联更新大批量数据案例 365
15.1.2.3被更新的表上有MV的案例 366
15.1.2.4注意数据的备份 367
15.1.3 可能出现的问题 368
15.2高可用环境下结构操作(DDL) 368
15.2.1 DDL操作的风险分析 368
15.2.2高可用环境下DDL操作案例分析 368
15.2.2.1给表增加字段,并带默认值 368
15.2.2.2 在线给表增加主键或者是其它约束 372
15.2.2.3 在线增加索引,并尽量防止执行计划的改变 373
15.2.2.4 表与索引的分析与执行计划 375
15.2.2.5 修改高度并发的表,latch争用 376
15.2.2.6 删除数据列 376
15.2.3 高可用环境下的并行DDL的操作 377
15.2.4 Oracle 11g 高可用维护新特性 378
15.2.4.1 Oracle 11g DDL的改进 378
15.2.4.2 Oracle 11g 的INVISIBLE 索引 381
15.3创建一个测试环境 382
15.3.1 需要一个怎么样的测试环境 382
15.3.2 测试环境的统计信息 382
15.3.2.1 统计信息的重要性 382
15.3.2.2 把统计信息导入到测试环境 383
15.3.2.3 利用生产环境统计数据分析执行计划 384
15.3.3 Oracle 11g的真实测试 385
第十六章 监控构架设计 388
16.1监控构架设计 388
16.1.1 怎么样才是一个好的构架 388
16.1.2 搭建一个好的监控构架 389
16.1.2.1 收集层--主机与DB 389
16.1.2.1 分析层-- DB Monitor 390
16.1.2.3 展示层-- 最终输出 395
16.1.2.3 分析总结 397
16.2搭建一个监控构架 398
16.2.1 监控指标 398
16.2.2 主机端数据采集 398
16.2.2.1 采集负载与alert日志示例 398
16.2.2.2 采集主机磁盘空间示例 399
16.2.2.3 采集数据库每秒事务数示例 400
16.2.3 Monitor上的分析策略 403
16.2.3.1 分析主机负载示例 403
16.2.3.2 分析alert日志示例 404
16.2.3.3 分析磁盘空间示例 405
16.2.4 展示层上的展示分析 406
16.2.4.1 nagios状态分析 407
16.2.4.2 cacti走势分析 408
16.3分析功能的增强 409
16.3.1 监控信息分级 409
16.3.2 双检验法提高监控质量 410
16.4监控与安全 413
16.4.1 监控体系结构的安全性 413
16.4.2 怎么样搭建安全体系结构 413
16.4.3一个监控与安全策略--限制与监控DDL 414
16.5辅助监控手段 416
16.5.1捕获耗费性能的SQL语句 416
16.5.2获得现有语句的执行计划 417
16.5.3监控当前活动的语句 419
16.5 其它监控手段与软件 421
评论 (54)


