概念、管理、优化和故障排除:Oracle RAC 12.2架构高可用数据库权威指南

概念、管理、优化和故障排除:Oracle RAC 12.2架构高可用数据库权威指南
作 者: 印)K 柯普莱克里什汗
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  K. Gopalakrishnan(又名Gopal)是一位备受赞誉的作家(曾荣获《Oracle杂志》“2005年Oracle年度作家”称号),是畅销书Oracle Wait Interface:A Practical Guide to Performance Diagnostics & Tuning(由Oracle出版社/McGraw-Hill教育集团于2004年出版)和Oracle Database 11g Real Application Clusters Handbook(由Oracle出版社/McGraw-Hill教育集团于2012年出版)的作者,还被OTN授予Oracle ACE荣誉称号。Gopalakrishnan是Oracle RAC与数据库核心技术方面公认的一位专家,他用自己丰富的专业知识,为全球众多的电信服务商、银行、金融机构以及大学解决了很多的疑难杂症,这些客户遍布五大洲,超过30个国家和地区。Gopalakrishnan目前就职于Oracle公司,负责云计算平台的性能、扩展性以及可用性方面的工程,管理着基于Oracle Exadata数据库一体机和Oracle RAC的全球的SaaS平台之一。Sam R. Alapati以数据管理员的身份就职于Solera,该公司位于得克萨斯州的西湖地区,毗邻达拉斯。Sam以Oracle DBA的身份工作多年,并为Oracle DBA编写了多部作品,其中包括Expert Oracle Database 11g Administration (由Apress于2008年出版)、OCP Upgrade to Oracle Database 12c Exam Guide (Exam 1Z0-060)(由Oracle出版社/McGraw-Hill教育集团于2014年出版)。

内容简介

● 安装并配置Oracle Database 12cR2 RAC● 使用Oracle ASM配置并管理磁盘组● 使用服务、表决盘和OCR● 探究Oracle RAC中备份恢复的内部工作机制● 使用OWI诊断性能问题● 洞察缓存融合和GRD操作的内部机制● 部署工作负载均衡与TAF● 使用高级诊断技术处理Oracle集群软件故障

图书目录

目 录

第Ⅰ部分 高可用架构和集群

第1章 高可用性和可扩展性介绍 3

1.1 高可用性 3

1.1.1 HA术语 4

1.1.2 计划内和计划外停机 4

1.1.3 端到端视角 5

1.1.4 停机的代价 5

1.1.5 构建冗余组件 7

1.1.6 HA的常见解决方案 7

1.1.7 集群、冷故障转移和热故障转移 7

1.1.8 HA选项的优缺点 9

1.2 可扩展性 10

1.3 敏捷性 10

1.4 本章小结 12

第2章 Oracle数据库集群基础及其演变 13

2.1 云计算与集群 15

2.2 集群中的共享存储 17

2.3 Hadoop集群 20

2.4 Oracle RAC的历史背景 21

2.5 Oracle并行服务器架构 22

2.6 OPS数据库的组件 23

2.6.1 集群组服务 23

2.6.2 分布式锁管理器 24

2.6.3 Oracle并行服务器中的锁概念 24

2.6.4 缓存融合阶段1,CR服务器 26

2.7 Oracle RAC解决方案 27

2.7.1 可用性 27

2.7.2 可扩展性 27

2.7.3 承受能力 28

2.8 本章小结 28

第3章 Oracle RAC架构 29

3.1 Oracle RAC简介 29

3.1.1 单实例环境与Oracle RAC环境 30

3.1.2 Oracle Flex集群 31

3.1.3 Oracle扩展集群 31

3.1.4 Oracle Multitenant和Oracle RAC 32

3.2 管理员与策略托管数据库 32

3.2.1 动态服务 32

3.2.2 Oracle数据库服务质量管理 32

3.3 Oracle RAC组件 33

3.3.1 共享磁盘系统 33

3.3.2 Oracle Clusterware 34

3.3.3 Oracle高可用服务技术堆栈 39

3.4 Oracle RAC网络概念和组件 39

3.4.1 关键网络概念 40

3.4.2 网络堆栈组件 41

3.5 Oracle内核组件 44

3.5.1 全局缓存和全局队列服务 44

3.5.2 全局资源目录 44

3.5.3 Oracle RAC后台进程 44

3.6 本章小结 48

第Ⅱ部分 安装、配置和存储

第4章 安装Oracle Grid Infrastructure 51

4.1 Oracle Grid Infrastructure安装过程概述 52

4.2 安装前的任务 53

4.2.1 了解安装程序、CVU和ORAchk 54

4.2.2 配置操作系统 54

4.2.3 配置网络 55

4.2.4 配置NTP 58

4.2.5 设置组和用户 58

4.2.6 创建所需的Linux目录 59

4.2.7 配置共享存储 59

4.2.8 配置安全shell和用户限制 62

4.2.9 设置用户限制 63

4.2.10 配置内核参数 63

4.2.11 运行集群验证实用程序 64

4.2.12 使用OUI安装Oracle Grid Infrastructure 66

4.3 安装Oracle Grid Infrastructure 67

4.3.1 选择安装选项并命名集群 67

4.3.2 指定集群节点并验证SSH连接 69

4.3.3 指定网络接口 71

4.3.4 选择存储选项 72

4.3.5 指定管理选项和特权OS系统组 75

4.3.6 执行先决条件检查 77

4.3.7 运行根脚本 79

4.3.8 产品安装 81

4.3.9 验证Oracle Grid Infrastructure安装 82

4.4 本章小结 84

第5章 安装Oracle RAC并创建Oracle RAC数据库 85

5.1 安装Oracle RAC集群 86

5.2 创建Oracle RAC数据库 93

5.3 本章小结 98

第6章 自动存储管理 99

6.1 标准Oracle ASM和Oracle Flex ASM 100

6.2 自动存储管理简介 100

6.2.1 ASM的物理限制 100

6.2.2 运行中的ASM 101

6.2.3 ASM构建块 102

6.3 管理Oracle ASM文件和目录 107

6.3.1 ASM文件名 107

6.3.2 创建和引用ASM文件 108

6.3.3 管理磁盘组目录 108

6.4 ASM管理 109

6.4.1 管理ASM实例 109

6.4.2 ASM初始化参数 114

6.5 管理ASM磁盘组 115

6.5.1 创建磁盘组 116

6.5.2 向磁盘组添加磁盘 117

6.5.3 对磁盘组中的磁盘执行drop、undrop、resize以及rename操作 117

6.6 管理ACFS 118

6.6.1 创建ACFS 118

6.6.2 创建ACFS快照 119

6.7 ASM磁盘再平衡 120

6.7.1 手工进行磁盘组再平衡 120

6.7.2 再平衡阶段选项 121

6.7.3 再平衡操作的性能监控 122

6.7.4 优化磁盘再平衡操作 122

6.8 ASM中的备份与恢复 123

6.9 Oracle Flex ASM集群 123

6.9.1 在Oracle Flex ASM中配置Oracle ASM 124

6.9.2 创建Oracle Flex ASM 124

6.9.3 管理ASM 弹性磁盘组 125

6.9.4 理解ASM文件组与ASM配额组 125

6.9.5 ASM扩展磁盘组 127

6.10 ASM工具 127

6.10.1 ASMCA:ASM配置助手 127

6.10.2 ASMCMD:ASM命令行工具 127

6.10.3 ASM FTP工具 129

6.11 ASMLib 130

6.11.1 安装ASMLib 130

6.11.2 配置ASMLib 130

6.11.3 Oracle ASM过滤器驱动 131

6.12 本章小结 132

第Ⅲ部分 Oracle RAC管理

第7章 Oracle RAC基本管理 135

7.1 Oracle RAC的初始化参数 136

7.1.1 实例特有的参数 136

7.1.2 相同的参数 138

7.1.3 “应该”相同的参数 139

7.1.4 管理参数文件 139

7.1.5 备份服务器参数文件 140

7.1.6 在Oracle RAC数据库中搜索参数文件的顺序 140

7.2 启动和停止实例 141

7.2.1 使用SRVCTL启动/停止数据库和实例 141

7.2.2 管理Oracle ASM实例 143

7.2.3 使用CRSCTL停止数据库和实例 144

7.2.4 使用SQL*Plus启动/停止实例 144

7.3 常用的SRVCTL管理命令 144

7.3.1 数据库相关的SRVCTL命令 145

7.3.2 实例相关的SRVCTL命令 146

7.3.3 监听器相关的SRVCTL命令 146

7.3.4 设置、取消设置和显示环境变量 147

7.3.5 更改数据库和实例的配置 147

7.3.6 迁移服务 147

7.3.7 删除目标的配置信息 147

7.3.8 预测故障产生的影响 148

7.4 在RAC环境中管理可插拔数据库 148

7.5 在Oracle RAC数据库中管理undo对象 149

7.6 管理临时表空间 149

7.6.1 管理传统(全局临时)表空间 149

7.6.2 管理本地临时表空间 150

7.6.3 临时表空间的层次结构 151

7.7 管理在线重做日志 151

7.8 开启数据库闪回区 152

7.9 使用SRVCTL管理数据库配置 153

7.10 为集群中的实例终止会话 156

7.11 管理数据库对象 156

7.11.1 序列管理 156

7.11.2 表管理 156

7.11.3 索引管理 156

7.11.4 SQL命令的生效范围 157

7.11.5 数据库连接 157

7.12 管理服务器池 157

7.12.1 配置服务器池 158

7.12.2 合并数据库 158

7.12.3 创建服务器池 158

7.12.4 将管理员托管的数据库转换为策略管理的数据库 159

7.13 本章小结 160

第8章 Oracle集群软件管理 161

8.1 配置和管理Oracle集群软件 162

8.1.1 服务器池的好处 162

8.1.2 服务器池和基于策略的管理 162

8.1.3 服务器池和服务器分类 162

8.1.4 服务器池的工作方式 162

8.1.5 服务器池的类型 163

8.1.6 创建服务器池 163

8.1.7 评估服务器池的添加 164

8.1.8 删除服务器池 164

8.2 角色分离的管理 164

8.2.1 管理集群管理员 164

8.2.2 配置角色分离 164

8.2.3 使用crsctl setperm命令 165

8.3 基于权重的服务器节点回收 165

8.4 SCAN的管理 166

8.4.1 启停SCAN 166

8.4.2 显示SCAN的状态 166

8.4.3 网格命名服务(GNS)的管理 167

8.5 使用CLUVFY实用程序管理Oracle RAC 168

8.6 启动集群软件 169

8.6.1 Oracle集群软件的启动过程 169

8.6.2 集群软件的启动顺序 170

8.6.3 自动启动Oracle集群软件 172

8.6.4 手动启动Oracle集群软件 172

8.7 使用CRSCTL管理集群软件 173

8.7.1 启动和停止CRS 173

8.7.2 集群化(集群感知)CRSCTL命令 173

8.7.3 验证CRS的状态 174

8.7.4 禁用和启用CRS 174

8.7.5 CRSCTL EVAL命令 175

8.8 使用其他实用程序管理Oracle集群软件 175

8.8.1 使用olsnodes命令 176

8.8.2 GPnP工具 176

8.8.3 集群健康监视器 177

8.8.4 OCLUMON工具 177

8.8.5 Oracle接口配置工具oifcfg 178

8.8.6 集群配置实用程序clscfg 178

8.8.7 集群名称检查实用程序cemutlo 179

8.8.8 Oracle跟踪文件分析器 179

8.9 OCR的管理 181

8.9.1 检查OCR的完整性 182

8.9.2 OCR信息的转储 182

8.9.3 使用OCRCONFIG实用程序管理OCR 183

8.9.4 维护OCR镜像 183

8.9.5 将OCR迁移到ASM 183

8.10 Oracle本地注册表的管理 184

8.11 表决盘的管理 184

8.11.1 使用ASM存储管理表决文件 185

8.11.2 备份表决盘 185

8.11.3 恢复表决盘 185

8.11.4 添加和删除表决盘 186

8.11.5 迁移表决盘 186

8.12 本章小结 186

第9章 Oracle RAC备份与恢复 187

9.1 备份概述 188

9.2 Oracle备份的基础知识 188

9.2.1 在Oracle中执行备份 189

9.2.2 Oracle RAC数据库的RMAN备份 189

9.3 Oracle RAC中的实例恢复 190

9.3.1 redo线程和redo流 191

9.3.2 redo记录和更改向量 191

9.3.3 检查点 191

9.4 崩溃恢复 192

9.4.1 崩溃恢复的步骤(单实例) 192

9.4.2 Oracle RAC中的崩溃恢复 192

9.5 实例恢复 193

9.5.1 崩溃恢复和介质恢复 193

9.5.2 有界时间恢复 193

9.5.3 块写记录(BWR) 193

9.5.4 过去的镜像(PI) 193

9.5.5 two-pass recovery 194

9.5.6 缓存融合恢复 194

9.6 动态重新配置和关联重新控制 195

9.6.1 Oracle RAC中的快速重新配置 195

9.6.2 缓存融合恢复的内部结构 197

9.7 备份并恢复表决盘和OCR 199

9.7.1 表决盘的备份和恢复 199

9.7.2 OCR的备份和恢复 199

9.7.3 验证OCR备份 200

9.8 本章小结 201

第10章 Oracle RAC性能管理 203

10.1 Oracle RAC设计注意事项 204

10.1.1 Oracle设计实践 204

10.1.2 Oracle RAC设计实践 204

10.2 工作负载分区 205

10.3 可扩展性和性能 205

10.4 为Oracle RAC数据库选择块大小 206

10.5 V$和GV$视图 206

10.5.1 并行查询从属项 206

10.5.2 V$视图包含缓存融合统计信息 207

10.6 Oracle RAC等待事件 207

10.7 全局缓存统计信息 215

10.8 全局缓存服务时间 217

10.9 在Oracle RAC中进行队列优化 219

10.10 Oracle AWR报告 219

10.10.1 解读AWR报告 220

10.10.2 ADDM 224

10.11 ASH报告 225

10.12 优化集群互连 225

10.12.1 验证是否使用了私有互连 225

10.12.2 互连延迟 226

10.12.3 验证网络互连未饱和 226

10.13 本章小结 226

第Ⅳ部分 Oracle RAC高级概念

第11章 全局资源目录 229

11.1 资源和队列 230

11.1.1 授予和转换 230

11.1.2 锁和队列 231

11.2 缓存一致性 231

11.3 全局队列服务 232

11.3.1 闩和队列 232

11.3.2 全局锁数据库和结构 233

11.3.3 Oracle RAC中的消息传递 235

11.4 全局缓存服务 237

11.4.1 锁的模式和角色 237

11.4.2 一致读处理 240

11.4.3 GCS资源掌控 242

11.4.4 以读为主的锁定 243

11.5 本章小结 246

第12章 进一步了解缓存融合 247

12.1 缓存融合中的关键组件 248

12.1.1 ping 248

12.1.2 延迟ping 248

12.1.3 过去的镜像(PI)块 248

12.1.4 锁的控制 249

12.1.5 争用类型 249

12.2 缓存融合Ⅰ或一致读取服务器 249

12.3 缓存融合Ⅱ或写/写缓存融合 252

12.3.1 缓存融合操作 253

12.3.2 缓存融合演练 258

12.3.3 资源掌控和重分配 270

12.4 后台进程和缓存融合 270

12.4.1 LMON:锁监控进程器 270

12.4.2 LMS:锁管理器服务器 270

12.4.3 LMD:锁管理器守护进程(LMDn) 271

12.4.4 LCKn:锁进程(LCK0) 271

12.4.5 DIAG:诊断守护进程(DIAG) 271

12.5 本章小结 271

第13章 工作负载管理、连接管理与应用程序连续性 273

13.1 理解动态数据库服务 274

13.1.1 服务特性 275

13.1.2 服务与策略管理的数据库 278

13.1.3 资源管理与服务 278

13.1.4 利用Oracle调度器使用服务 278

13.1.5 管理服务 278

13.1.6 利用视图获取服务的相关信息 281

13.1.7 分布式事务处理 281

13.1.8 AQ_HA_Notifications属性 282

13.2 工作负载分布与负载均衡 283

13.2.1 硬件与软件负载均衡 284

13.2.2 客户端负载均衡 284

13.2.3 服务器端负载均衡 287

13.3 透明应用程序故障转移 289

13.3.1 TAF考量 290

13.3.2 工作负载均衡 293

13.3.3 通过服务度量工作负载 295

13.3.4 使用服务级别阈值 296

13.4 Oracle RAC高可用性 297

13.4.1 高可用性、通知与FAN 297

13.4.2 基于事件的通知 297

13.4.3 应用故障问题 299

13.5 为高效客户端故障转移使用事务 守卫 302

13.6 本章小结 304

第14章 Oracle RAC故障诊断 305

14.1 安装日志文件 306

14.2 Oracle RDBMS日志目录结构 306

14.3 Oracle GI日志目录结构 307

14.4 Oracle GI安装失败的故障诊断 308

14.5 数据库告警日志的内容 309

14.6 RAC ON与OFF 311

14.7 数据库性能问题 312

14.7.1 数据库挂起 312

14.7.2 挂起分析工具 313

14.8 节点驱逐问题 314

14.8.1 集群健康监视器 315

14.8.2 实例成员资格恢复 316

14.9 Oracle集群模块高级调试 321

14.10 Oracle RAC中的多种调试工具 322

14.11 使用ORAchk对RAC进行故障诊断 323

14.12 本章小结 323

第Ⅴ部分 部署Oracle RAC

第15章 为实现可用性扩展Oracle RAC 327

15.1 扩展的RAC集群的优势 328

15.1.1 充分利用资源 328

15.1.2 极速恢复 328

15.2 设计方面的考量 329

15.2.1 光速 329

15.2.2 网络连通性 329

15.2.3 缓存融合性能 329

15.2.4 数据存储 330

15.3 数据镜像的通用技术 330

15.3.1 基于阵列的镜像 331

15.3.2 基于主机的镜像 331

15.3.3 ASM优先读 332

15.3.4 扩展的集群面临的挑战 332

15.4 扩展的Oracle RAC的限制 333

15.5 扩展的Oracle RAC与 Oracle DG 333

15.6 本章小结 334

第16章 为Oracle RAC开发应用程序 335

16.1 应用程序分区 337

16.2 数据分区 338

16.3 缓冲区忙等待/块争用 339

16.4 索引分区 340

16.4.1 缓冲区忙等待:索引分支/叶子块争用 340

16.4.2 排序hash簇表 341

16.5 使用序列 342

16.5.1 CACHE与NORDER选项 342

16.5.2 CACHE与ORDER选项 342

16.5.3 NOCACHE与ORDER选项 343

16.5.4 实践:为每个实例使用不同的序列 343

16.6 连接管理 343

16.7 全表扫描 343

16.7.1 定位全表扫描 344

16.7.2 互连协议 344

16.7.3 以太帧大小 345

16.8 解析过程中的库缓存影响 345

16.9 提交频率 346

16.10 本章小结 346

第Ⅵ部分 附录

附录A Oracle RAC参考 349

附录B 集群节点的添加与移除 371