深入理解Oracle RAC 12c 笔记

时间:2022-09-24 09:21:08

深入理解Oracle RAC 12c

跳转至: 导航搜索

文件夹

概述

  1. p5 RAC使用缓存融合技术来管理全部节点的数据缓存并保持一致...
    1. 为什么不从快速IO网络读取,而是从其它节点的缓存?
    2. p15 GCS GES GRD
    3. 另一些后台进程:LMS LMON LMD LCK DIAG
  2. 集群体系结构
    1. 全共享
      1. 主-从:SQL Server集群、Oracle Fail Safe、RAC One Node
      2. 主-主:RAC
    2. 无共享
  3. 12cR1 Flex集群
    1. p28 松散耦合的叶节点架构,少数Hub节点紧耦合
  4. 多个物理网卡组合为一个逻辑网卡:Linux Bonding/MS NIC Teaming
  5. 11.2.0.2 HAIP
  6. RAC组件:ASM + Clusterware
    1. crsctl
    2. OCR(集群注冊表)
    3. p19 ONS(通知服务) FAN(高速应用通知) FCF(高速连接故障切换)
  7. 脑裂:STONITH算法,健康节点让问题节点又一次启动?
  8. 透明应用程序故障切换(TAF)
  9. 虚拟IP
  10. 应用连续性(AC)
  11. 滚动升级?
  12. 拥有成本:标准版Oracle数据库包括RAC,但CPU插槽总数<=4
    1. 与大型SMPserver相比更廉价,由于採用了Linux和低成本硬件?
  13. RAC最多可承受N-1台故障,每一个硬件规划留有N-1/N的余量

集群件管理和故障诊断

  1. OHAS:GPnP GNS GIPC mDNS osysmond ologgerd
  2. CRS(上层堆栈):CRS CSS CSS代理 CSS监视 CTSS EVM ONS oraagent orarootagent
    1. 一堆管理命令行程序:略

执行实践

  1. LREG:运行监听的注冊
  2. 故障切换类型:NONE SESSION SELECT(记住游标位置)TRANSACTION
  3. 11.2 SCAN(前端重定向?)
  4. 12c GDS
  5. 暂时表空间
    1. SS队列、使用CI队列的DFS锁句柄、11g+ 释放盘区缓存批量进行(每次100个)
  6. 大量数据的改动
    1. 降低全局缓存的传输、尽可能在同一节点内分配全部的PX服务
  7. 性能指标收集:OSWatcher、AWR、statspack
  8. 參数文件管理
  9. password文件管理
  10. svrctl:管理数据库和实例

新特性

  1. Flex集群和Flex ASM
  2. 多租户:在一个CDB中有多个PDB
    1. CDB$ROOT
    2. PDB$SEED
    3. PDB
  3. 其它:IPv6 GDS ACFS/ADVM 在线资源属性改动
    1. 基于策略的数据库管理
    2. ASM磁盘组
    3. ...

存储和ASM

  1. 存储协议:SCSI FC IP NAS
  2. 多路径:一组SCSI设备指向同一个存储设备(LUN)
  3. ASMLib?
    1. p169 强烈建议用像RAID 1+0这种外接RAI配置来保证ASM冗余
  4. 在ASM上存放OCR和voting disk
  5. ACFS

应用设计上的问题

  1. ‘右边索引增长竞争’(因为自增键?):
    1. 哈希索引分区
    2. 哈希表分区(假设没有做好分区修剪数据,逻辑读会大量添加)
    3. 反向索引(不支持范围查询)
    4. (应用控制的)使用多个不同范围的序列
  2. 大量的TRUNCATE/DROP
    1. 可引发对象级别的检查点事件;全局等待会导致严重的问题
    2. 全局暂时表(GIT)?
  3. 序列缓存
    1. ORDER,CACHE 20
  4. 空暇块链表和自己主动段表空间管理(ASSM)
  5. 过多的提交
    1. LGWR延迟会导致LMS延迟,进一步使其它节点全局缓存事件须要更长的等待,‘gc buffer busy wait’
  6. 长时间没有提交的事务(导致非常多回滚?)
  7. 本地訪问*
  8. 小表更新
  9. 索引设计
    1. 位图索引非常适合仅仅读表;‘压缩索引’
  10. 低效的运行计划
  11. 过多的平行扫描
  12. 全表扫描:直接路径?
  13. 应用之间的关联性*
  14. 应用改变的实施
    1. library cache lock/pin

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

  1. 共享 vs 非共享的主文件夹
  2. server池
  3. 11gR2 实例锁定
    1. SQL> ALTER SYSTEM SET CPU_COUNT=2 SCOPE=BOTH SID='instance_name';
  4. 小规模 vs 大规模
  5. 裂脑:节点驱赶、fencing、STONITH
    1. 在网络层建立冗余
    2. 为应用工作负载分配足够的CPU/内存并设定限额
    3. 实施DBRM和IORM
    4. 避免配置过多的LMS_PROCESSES
    5. AUTO DOP
  6. 节点驱赶
  7. 延伸距离集群——摘要、概括和最佳实践
  8. RAC安装配置在不同OS中的考虑/窍门
    1. Linux:HUGEPAGES、ASMM、GI
    2. Windows:
      1. 让公用NIC优先于私有NIC?
      2. 使用异步IO

备份与恢复

  1. p240 利用高速恢复区(FRA)
  2. 多通道
    1. RMAN> configure channel 1 device type disk connect 'sys/passwd@RONDB_1';
  3. p250 块改变跟踪(BCT)

网络实践

  1. p265 RDS协议须要特定硬件(InfiniBand)和内核驱动
    1. 与UDP类似,RDS中没有ACK机制,并且更进一步的,RDS设计是零复制;全然跳过了IP(?)
  2. p270 VIP的存在避免了对于TCP超时的不必要等待
  3. 集群内联/私有网络
    1. 每块网卡须要配置独立的子网段(11.2+)=〉否则,拔除第一块网卡上的网线,ARP就无法正确更新ARP缓存(why?)
  4. 巨帧:MTU=9000
  5. LB和故障转移
    1. 12c HAVIP
  6. 内核參数
    1. net.ipv4.ipfrag_low/high_thresh, net.ipv4.ipfrag_time
  7. GC Lost Block问题
  8. GNS

优化RAC数据库

  1. GRD*
  2. RAC等待事件*
    1. GC Current Block 2-way/3-way
    2. GC CR Block 2-way/3-way
    3. GC CR Grant 2-way/GC Current Grant 2-way
    4. GC CR Block Busy/GC Current Block Busy
    5. GC CR Block Congested/GC Current Block Congested
  3. 占位等待事件
  4. 发送端分析
  5. GCS Log Flush Sync
  6. GC Buffer Busy Acquire/Release
    1. 唯一索引
    2. 表块
  7. DRM进程概述*
  8. AWR报告和ADDM

锁与死锁

  1. 全局资源类型:
    1. BL(Buffer Lock),GCS管理
    2. 非BL:TX、TM、SQ,GES管理
  2. 锁模式*
  3. 锁争用的故障排除方法*
  4. 入队争用(暂略)
    1. TX
    2. TM
    3. HW
  5. DFS Lock Handle
    1. SV资源
    2. CI资源
    3. p373 队列类型:SS/IV/CI
  6. Library Cache Locks/Pins
  7. 队列统计信息
  8. v$wait_chains
  9. Hanganalyze
  10. 死锁
  11. LMD跟踪文件

并行查询

  1. p416 Partition-Wise Join
    1. 传统PX使用的是Producer/Consumer模式,...

集群件和数据库升级

RAC One Node

深入理解Oracle RAC 12c 笔记的更多相关文章

  1. Oracle RAC学习笔记01-集群理论

    Oracle RAC学习笔记01-集群理论 1.集群相关理论概述 2.Oracle Clusterware 3.Oracle RAC 原理 写在前面: 最近一直在看张晓明的大话Oracle RAC,真 ...

  2. Oracle RAC学习笔记&colon;基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  3. Oracle RAC学习笔记02-RAC维护工具集

    Oracle RAC学习笔记02-RAC维护工具集 RAC维护工具集 1.节点层 2.网络层 3.集群层 4.应用层 本文实验环境: 10.2.0.5 Clusterware + RAC 11.2.0 ...

  4. 11g,12c Oracle Rac安装

    安装 Oracle 12cR1 RAC on Linux 7 本文介绍如何在Oracle Linux 7上安装2节点Oracle 12cR1 Real Application Cluster(RAC) ...

  5. oracle rac理解和用途扩展

    Oracle RAC的优势在于利用多个节点(数据库实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展.实现Oracle RAC需要 ...

  6. Upgrade Oracle Database 12c Release 2&lpar;12&period;2&rpar; RAC on RHEL7&period;3 with RU

    Upgrade Oracle Database 12c Release 2(12.2) RAC on RHEL7.3 -- [ RU: 26610291 (GRID INFRASTRUCTURE RE ...

  7. 理解 Oracle 多租户体系中(12c&comma;18c&comma;19c)Grant授权作用域范围

    本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个授权可以成功执行? 1. 在CDB级别中对用户进行授权,不带 container 子句的效果: 2. 在CDB级别中对用户进行授权,带 co ...

  8. Hyper-V安装Oracle Linux6&lowbar;4 Oracle db 12c并使用rman做异机恢复

    本文记录在Windows Server 2012 R2上安装Oracle Enterprise Linux 6.4以及使用RMAN进行进行异机恢复的过程. Windows服务器增加Hyper-V功能 ...

  9. oracle rac安装

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...

随机推荐

  1. 浏览器兼容性-JS篇

    总结一下平时遇到的浏览器兼容性问题,本篇关于JS. 1.事件绑定 兼容写法: function add(obj,event){ if (obj.addEventListener) { obj.addE ...

  2. js模版引擎handlebars&period;js实用教程——如何引入Handlebars&period;js

    返回目录 Jquery插件,第一步当然要引用Jquery啦,然后引用Handlebars.js即可,仅仅需要这两个js文件. <script type="text/javascript ...

  3. 50个常用的JQuery代码

    1. 如何创建嵌套的过滤器 //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“se ...

  4. 学习之道-从求和起-求和曲线面积瞬时速率极限微积分---求和由高解低已知到未知高阶到低阶连续自然数的K次方之和

    数学分析 张筑生

  5. 解决如何让AsyncTask终止操作

    受到这个的启发终于结局了如何在AsyncTask运行中终止其操作. 单纯的onCancelled(true)是不行的 下面把代码贴出来~实现了登陆功能. AsyncTask简介,它使创建需要与用户界面 ...

  6. Linux下打造全方位立体监控系统

    前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器: 服务器A 服务器B 概述 Prometheus ...

  7. 原码、补码,反码以及JAVA中数值采用哪种码表示

    原码.补码,反码以及JAVA中数值采用哪种码表示 1.原码定义(摘自百度百科):一种计算机中对数字的二进制定点表示方法,原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位 ...

  8. 微信小程序计算器后后续

    改的眼睛都要瞎了,总算是知道问题出哪了 最后一段 在等号里面计算输入的数组,这个判断的主要操作是将输入的数据的数组进行数和符号的拆分然后再计算,把数按字符串输入数组,然后将数和符号进行拆分 ,最后通过 ...

  9. 安装workflowmanager 1&period;0 server

    1· 下载安装 Web Platform Installer v4 Command Line (WebPICMD.exe) Tool.(http://download.microsoft.com/do ...

  10. mgo like的两种写法

    实际上都是围绕正则来写的,看大家喜欢那种写法 package main import ( "fmt" "labix.org/v2/mgo" "labi ...