您的位置:首页 > 数据库 > Oracle

深入理解Oracle RAC 12c 笔记

2014-10-24 12:31 246 查看

深入理解Oracle RAC 12c

跳转至:
导航、
搜索

目录

1
概述
2
集群件管理和故障诊断
3
运行实践
4
新特性
5
存储和ASM
6
应用设计上的问题
7
管理和调优一个复杂的RAC环境
8
备份与恢复
9
网络实践
10
优化RAC数据库
11
锁与死锁
12
并行查询
13
集群件和数据库升级
14
RAC One Node

概述

p5 RAC使用缓存融合技术来管理所有节点的数据缓存并保持一致...

为什么不从高速IO网络读取,而是从其他节点的缓存?
p15 GCS GES GRD
还有一些后台进程:LMS LMON LMD LCK DIAG

集群体系结构

全共享

主-从:SQL Server集群、Oracle Fail Safe、RAC One Node
主-主:RAC

无共享

12cR1 Flex集群

p28 松散耦合的叶节点架构,少数Hub节点紧耦合

多个物理网卡组合为一个逻辑网卡:Linux Bonding/MS NIC Teaming
11.2.0.2 HAIP
RAC组件:ASM + Clusterware

crsctl
OCR(集群注册表)
p19 ONS(通知服务) FAN(快速应用通知) FCF(快速连接故障切换)

脑裂:STONITH算法,健康节点让问题节点重新启动?
透明应用程序故障切换(TAF)
虚拟IP
应用连续性(AC)
滚动升级?
拥有成本:标准版Oracle数据库包含RAC,但CPU插槽总数<=4

与大型SMP服务器相比更便宜,因为采用了Linux和低成本硬件?

RAC最多可承受N-1台故障,每个硬件规划留有N-1/N的余量

集群件管理和故障诊断

OHAS:GPnP GNS GIPC mDNS osysmond ologgerd
CRS(上层堆栈):CRS CSS CSS代理 CSS监视 CTSS EVM ONS oraagent orarootagent

一堆管理命令行程序:略

运行实践

LREG:执行监听的注册
故障切换类型:NONE SESSION SELECT(记住游标位置)TRANSACTION
11.2 SCAN(前端重定向?)
12c GDS
临时表空间

SS队列、使用CI队列的DFS锁句柄、11g+ 释放盘区缓存批量进行(每次100个)

大量数据的修改

减少全局缓存的传输、尽可能在同一节点内分配所有的PX服务

性能指标收集:OSWatcher、AWR、statspack
参数文件管理
密码文件管理
svrctl:管理数据库和实例

新特性

Flex集群和Flex ASM



多租户:在一个CDB中有多个PDB

CDB$ROOT
PDB$SEED
PDB

其他:IPv6 GDS ACFS/ADVM 在线资源属性修改

基于策略的数据库管理
ASM磁盘组
...

存储和ASM

存储协议:SCSI FC IP NAS
多路径:一组SCSI设备指向同一个存储设备(LUN)
ASMLib?

p169 强烈建议用像RAID 1+0这样的外接RAI配置来保证ASM冗余

在ASM上存放OCR和voting disk
ACFS

应用设计上的问题

‘右边索引增长竞争’(由于自增键?):

哈希索引分区
哈希表分区(如果没有做好分区修剪数据,逻辑读会大量增加)
反向索引(不支持范围查询)
(应用控制的)使用多个不同范围的序列

大量的TRUNCATE/DROP

可引发对象级别的检查点事件;全局等待会导致严重的问题
全局临时表(GIT)?

序列缓存

ORDER,CACHE 20

空闲块链表和自动段表空间管理(ASSM)
过多的提交

LGWR延迟会导致LMS延迟,进一步使其他节点全局缓存事件需要更长的等待,‘gc buffer busy wait’

长时间没有提交的事务(导致很多回滚?)
本地访问*
小表更新
索引设计

位图索引很适合只读表;‘压缩索引’

低效的执行计划
过多的平行扫描
全表扫描:直接路径?
应用之间的关联性*
应用改变的实施

library cache lock/pin

管理和调优一个复杂的RAC环境

共享 vs 非共享的主目录
服务器池
11gR2 实例锁定

SQL> ALTER SYSTEM SET CPU_COUNT=2 SCOPE=BOTH SID='instance_name';

小规模 vs 大规模
裂脑:节点驱逐、fencing、STONITH

在网络层建立冗余
为应用工作负载分配足够的CPU/内存并设定限额
实施DBRM和IORM
避免配置过多的LMS_PROCESSES
AUTO DOP

节点驱逐
延伸距离集群——摘要、概括和最佳实践
RAC安装配置在不同OS中的考虑/窍门

Linux:HUGEPAGES、ASMM、GI
Windows:

让公用NIC优先于私有NIC?
使用异步IO

备份与恢复

p240 利用快速恢复区(FRA)
多通道

RMAN> configure channel 1 device type disk connect 'sys/passwd@RONDB_1';

p250 块改变跟踪(BCT)

网络实践

p265 RDS协议需要特定硬件(InfiniBand)和内核驱动

与UDP类似,RDS中没有ACK机制,而且更进一步的,RDS设计是零复制;完全跳过了IP(?)

p270 VIP的存在避免了对于TCP超时的不必要等待
集群内联/私有网络

每块网卡需要配置独立的子网段(11.2+)=〉否则,拔除第一块网卡上的网线,ARP就无法正确更新ARP缓存(why?)

巨帧:MTU=9000
LB和故障转移

12c H***IP

内核参数

net.ipv4.ipfrag_low/high_thresh, net.ipv4.ipfrag_time

GC Lost Block问题
GNS

优化RAC数据库

GRD*
RAC等待事件*

GC Current Block 2-way/3-way
GC CR Block 2-way/3-way
GC CR Grant 2-way/GC Current Grant 2-way
GC CR Block Busy/GC Current Block Busy
GC CR Block Congested/GC Current Block Congested

占位等待事件
发送端分析
GCS Log Flush Sync
GC Buffer Busy Acquire/Release

唯一索引
表块

DRM进程概述*
AWR报告和ADDM

锁与死锁

全局资源类型:

BL(Buffer Lock),GCS管理
非BL:TX、TM、SQ,GES管理

锁模式*
锁争用的故障排除方法*
入队争用(暂略)

TX
TM
HW

DFS Lock Handle

SV资源
CI资源
p373 队列类型:SS/IV/CI

Library Cache Locks/Pins
队列统计信息
v$wait_chains
Hanganalyze
死锁
LMD跟踪文件

并行查询

p416 Partition-Wise Join

传统PX使用的是Producer/Consumer模式,...

集群件和数据库升级

RAC One Node

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: