深入理解Oracle RAC 12c 笔记

深入理解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. 与大型SMP服务器相比更便宜,因为采用了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. 密码文件管理
  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. 服务器池
  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/[email protected]_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

时间: 2024-10-12 18:04:18

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

深入理解Oracle RAC 12c

深入理解Oracle RAC 12c(顶尖专家权威指南唯一最新版数据库著作 Oracle第一社区技术大牛翻译 Amazon五星推荐) [美]Syed Jaffar Hussain(赛义德 贾法尔 侯赛因),Tariq Farooq(塔里克 法鲁克),Riyaj Shamsudeen(瑞亚吉沙姆斯丁),Kai Yu(于凯) 著   赵燚 梁涛 程飞 李真旭 译 ISBN 978-7-121-24066-9 2014年10月出版 定价:99.00元 488页 16开 编辑推荐 <深入理解 Oracl

Oracle RAC学习笔记:基本概念及入门

2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real application clusters introduction     1.什么是cluster     一个cluster是由两个或是多个独立的.通过网络连接的servers组成的.几个硬件供应商多年以来提供了Cluster性能的各种需求.一些Clusters仅仅为了提供高可用性的,在当前活动的node发生故障时转移到次节点node.另一些是为了提供分

oracle rac 大话 笔记 2016_4_22

安装CRS软件成功后检查命令 crsctl check crs olsnodes crs_stat -t 集群分类:高性能计算集群(分布式).负载均衡集群(LB).高可用集群(HA) 常见问题:并发控制.健忘症(Amnesia).脑裂(Split Brain).IO隔离(IO Fencing) OCR /etc/oracle/ocr.loc  Solarise系统中 /var/opt/oracle/ocr.loc

srvctl commands in Oracle RAC 11g

srvctl commands in Oracle RAC 11g SRVCTL (Server Control utility) commands in Oracle 11g RAC srvctl command target [options] commands: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config targets: database/db|inst

ETL技术工具kettle入门笔记(一) 之kettle连接oracle rac 报listener does not currently know of sid错误的解决

1 问题现象: 之前做的kettle 连接某个oracle数据库 做表抽取 脚本的表输入信息如下图: 执行时(脚本上传到linux机器 用sh命令执行的)表输入报的错误信息: 但是在机器里面用sqlplus 命令登录却可以成功: 2 解决过程: 出现问题后,一开始联系  源数据系统 厂家 看是不是他们那边数据库做了 限制. 经过他们查看,他们那边没有做限制.这边也查不到原因 后来参照别的系统 发现 134.64.197.198 是rac一个节点的浮动地址  对应的sid是 iprandb1.而i

理解Oracle体系结构 并在CentOS 7 上安装Oracle 12c

简介: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.它是一种高效率.可靠性好的 适应高吞吐量的数据库解决方案.Oracle Database 12C是Oracle11g的升级版. 概述: 本篇将介绍Oracle12c的基础知识,以及Oracle12c的

理解 Oracle 多租户体系中(12c,18c,19c)Grant授权作用域范围

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

【问底】陈焕生:深入理解Oracle 的并行执行

摘要:Oracle并行执行是一种分而治之的方法.执行一个sql 时,分配多个并行进程同时执行数据扫描,连接以及聚合等操作,使用更多的资源,得到更快的sql 响应时间.并行执行是充分利用硬件资源,处理大量数据时的核心技术. Oracle并行执行是一种分而治之的方法.执行一个sql 时,分配多个并行进程同时执行数据扫描,连接以及聚合等操作,使用更多的资源,得到更快的sql 响应时间.并行执行是充分利用硬件资源,处理大量数据时的核心技术. 在本文中,在一个简单的星型模型上,我会使用大量例子和sql m

Oracle RAC中的几个IP

oracle11g开始,设置了SCAN ip,除此之外还有public ip,virtual ip,private ip,容易让人犯晕. 下面逐一解释: public ip: 类似与单实例的oracle数据库ip,主要用于管理\访问. virtual ip(vip): oracle在rac架构中专用,这个vip用于实现故障转移,当一个节点发生故障时,其vip会"浮动"到另外一个正常的节点,也即该正常节点对应着两个vip了. SCAN: Single Client Access Name