深入理解Oracle RAC 12c 笔记
深入理解Oracle RAC 12c
文件夹 |
概述
- 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
- 与大型SMPserver相比更廉价,由于採用了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
- 參数文件管理
- password文件管理
- 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 非共享的主文件夹
- server池
- 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 HAVIP
- 内核參数
- 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
深入理解Oracle RAC 12c 笔记的更多相关文章
- Oracle RAC学习笔记01-集群理论
Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...
- Oracle RAC学习笔记:基本概念及入门
Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章] oracle 10g real applica ...
- Oracle RAC学习笔记02-RAC维护工具集
Oracle RAC学习笔记02-RAC维护工具集 RAC维护工具集 1.节点层 2.网络层 3.集群层 4.应用层 本文实验环境: 10.2.0.5 Clusterware + RAC 11.2.0 ...
- 11g,12c Oracle Rac安装
安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...
- oracle rac理解和用途扩展
Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...
- Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 with RU
Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...
- 理解 Oracle 多租户体系中(12c,18c,19c)Grant授权作用域范围
本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个授权可以成功执行? 1. 在CDB级别中对用户进行授权,不带 container 子句的效果: 2. 在CDB级别中对用户进行授权,带 co ...
- Hyper-V安装Oracle Linux6_4 Oracle db 12c并使用rman做异机恢复
本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...
- oracle rac安装
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...
随机推荐
- May Day Holiday
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit Status Practic ...
- 微信支付[v3]
原文:微信支付[v3] V2升级V3 顺便记录一下 ,文档: http://pay.weixin.qq.com/wiki/doc/api/index.html !!! 支付授权目录与测试人的微信帐号白 ...
- 简单的ajax获取json
一个DBhelper类,用来操作数据库 using System; using System.Collections.Generic; using System.Linq; using System. ...
- 3D空间中射线与三角形的交叉检測算法
引言 射线Ray,在3D图形学中有非常多重要的应用.比方,pick操作就是使用射线Ray来实现的,还有诸如子弹射线的碰撞检測等等都能够使用射线Ray来完毕. 所以,在本次博客中,将会简单的像大家介绍下 ...
- Swift - 继承UIView实现自定义可视化组件(附记分牌样例)
在iOS开发中,如果创建一个自定义的组件通常可以通过继承UIView来实现.下面以一个记分牌组件为例,演示了组件的创建和使用,以及枚举.协议等相关知识的学习. 效果图如下: 组件代码:Score ...
- Android应用开发之(通过ClipboardManager, ClipData进行复制粘贴)
在开发一些系统应用的时候,我们会用到Android的剪贴板功能,比如将文本文件.或者其他格式的内容复制到剪贴板或者从剪贴板获取数据等操作.Android平台中每个常规的应用运行在自己的进程空间中,相对 ...
- 小米手机usb共享网络mac
今天.我想去FQgoogle,mac在墙上,不便于使用.甚至只是用Android手机wifi,打开墙软件.然后usb分享到mac.然后mac互联网. 在谈到一些复杂.其实,关键一,小米手机usb共享, ...
- C#写的客户端连接 php的服务器端的小例子
C#写的客户端连接 php的服务器端的小例子 php的server 端 <?php // server.php set_time_limit( 0 ); ob_implicit_flush(); ...
- SQL Server 数据的添加修改删除和查询
数据的添加: 首先建立一个数据库,点击新建查询,然后用代码建立一个表,表里写上列名和数据类型,约束可加可不加 然后使用insert语句往表里添加数据 insert [into] 表名 (列名1,列名2 ...
- [Android学习笔记]组合控件的使用
组合控件的使用 开发过程中,多个UI控件需要协同工作,相互交互之后,才可完成一个完整的业务需求,此时可把这些控件封装成为一个整体,相互之间的交互逻辑封装其中,外部调用可无需关心内部逻辑,只需获取处理后 ...