基于agent的管理方式

  从oracle 11.2开始出现了多用户的概念,oracle开始使用一组多线程的daemon来同时支持多个用户的使用、管理资源,这些daemon叫做Agent。这些Agent都是些常驻内存的进程.

Agent的分类

  • oracle grid 11.2的agent有多个,其中两个最重要的是oracle agnet和oracle root agent。
  • oracle agnet 是以oracle用户身份运行(这个oracle用户是泛指,根据场合不同可能是grid,也可能是oracle)
  • oracle root agent是以root用户身份运行 这个两个agent对应的操作系统的进程的名字是:oraagent和orarootagent
  • OHAS栈会启动一套oracle agnet和oracle root agent。由OHAS启动的oracle agnet是用Grid的安装用户身份运行的。
  • CRS栈也会启动一套oracle agnet和oracle root agent。如果安装Grid的用户不是oracle,而是grid。则会启动两个oracle agnet。

Agent和资源的关系图

相应的日志结构(按树状图的层次)

第一层

  • OHASD 日志位于:$Grid_home/log/<hostname>/ohasd/ohasd.log

第二层:(OHASD的agent)

  • cssdagent 日志位于:   $Grid_home/log/<hostname>/agent/ohast/oracssdagent_root/oracssdagent_root.log
  • cssdmonitor 日志位于:  $Grid_home/log/<hostname>/agent/ohast/oracssdmonitor_root/oracssdmonitor_root.log
  • orarootagent 日志位于:    $Grid_home/log/<hostname>/agent/ohast/orarootagent_root/orarootagent_root.log
  • oraagent  日志位于:      $Grid_home/log/<hostname>/agent/ohast/oraagent_grid/oraagent_grid.log

第三层(资源)

  • CSSD 日志位于: $Grid_home/log/<hostname>/cssd/ocssd.log
  • CRSD 日志位于: $Grid_home/log/<hostname>/CRSD/CRSD.log
  • ctssd 日志位于:$Grid_home/log/<hostname>/ctssd/octssd.log
  • diskmon 日志位于:$Grid_home/log/<hostname>/ctssd/diskmon.log

OHASD的oraagent所管理资源的相应日志:

  • ora.evmd日志位于:$Grid_home/log/<hostname>/evmd/evmd.log
  • ora.mdnsd日志位于:$Grid_home/log/<hostname>/mdnsd/mdnsd.log
  • ora.gpnpd日志位于:$Grid_home/log/<hostname>/gpnpd/gpnpd.log
  • ora.gipcd 日志位于:$Grid_home/log/<hostname>/gipcd/gipcd.log

第四层(CRSD的agent)

  • orarootagent 日志位于: $Grid_home/log/<hostname>/agent/crsd/orarootagent_root/orarootagent_root.log
  • oraagent(grid)日志位于:$Grid_home/log/<hostname>/agent/crsd/oraagent_grid/oraagent_grid.log
  • oraagent(oracle)日志位于:$Grid_home/log/<hostname>/agent/crsd/oraagent_oracle/oraagent_oracle.log

Grid的启动顺序及作用

  Grid的启动可分为4个级别。

级别1:OHASD的活动。

  这个阶段,OHASD要启动4个agent,分别是ORAAGENT、ORAROOTAGENT、CSSDAGENT、CSSDMONITOR

  • CSSDAGENT:这个agent以root身份运行,负责启动CSSD,对应的进程名cssdagent
  • ORAROOTAGENT:这个agent以root身份运行,负责管理所有属于root用户的OHASD资源,对应的进程名orarootagent
  • CSSDMONIOTOR: 这个agent以root身份运行,和CSSDAGENT一起负责监控CSSD以及节点的健康状况,对应的进程名cssdmonitor
  • ORAAGENT: 这个agent以gird身份运行,负责管理所有属于grid用户的OHASD资源,对应的进程oraagent

级别2:ROOTAGENT的活动

  由OHASD启动的orarootagent要启动以下几个进程

  • CRSD:以root身份运行,对应进程crsd
  • CTSSD:Grid自己的时间同步服务,以root身份运行,对应的进程octssd
  • Diskmon:在非Exadata机器上是无效进程
  • ACFS:ASM集群文件系统的驱动,以root身份运行

级别2:ORAAGENT的活动

  由OHASD启动的oraagent进程要负责下面的进程和服务,这些服务都是以grid身份运行

  • ASM: ASM实例,用于挂载磁盘组
  • EVMD:负责订阅集群环境中事件的生成和发布。对应的进程名evmd
  • MDNSD:取决于是否使用GNS服务,对应的进程mdnsd
  • GIPCD:用于进程间和节点间的通信协议,进程名字GIPCD GPnPD:负责集群节点间GPnP profile的同步,这个文件保存在每个节点的本地目录:$GRID_HOME/gpnp/profile/profile.xml
  • GPnPD:对应的进程名字是gpnpd.bin

级别3:CRSD的活动

  CRSD会启动oraagent和orarootagent。

  • ORAROOTAGENT:这个agent以root身份运行。
  • ORAAGENT:这个agent会有两个,分别负责管理以grid、oracle身份运行的

级别4:ORAROOTAGENT的活动

  • Network Resource:对应public NETWORK
  • SCAN VIP: 由SCAN VIP 和 SCAN Listener的配对组成
  • Node VIP:是Public NIC上的VIP地址,每个节点都需要一个vip

  SCAN VIP和Node VIP类似,都是浮动地址。不同的是,Node VIP在数量上等于几点的个数,每个节点一个。而SCAN VIP和节点 数量没关系,和集群规模没关系,固定就是3个(在试验环境中可以不用DNS,而是用/etc/hosts来解析scan域名,这时scan vip 可以只要一个,但仅限于实验环境,生产环境不要这么做)。   ACFS Registry:用户挂在ACFS文件系统 GNS VIP(可选):GNS的VIP

级别4:ORAAGENT 的活动(grid用户)

  以grid身份运行的oraagent会启动以下这些资源

  • ASM资源:ASM 实例
  • Diskgroup:管理和监视ASM磁盘组
  • SCAN Listener:监听SCAN VIP的监听器
  • Listener:监听节点VIP的监听器
  • ONS:oracle事件通知服务
  • eONS:增强版的ONS
  • GSD:向后兼容9i的服务
  • GSN(可选):代替DNS处理名字解析

级别4:ORAAGENT 的活动(oracle用户)

  • DB:管理和监视DB和实例
  • Service:管理和监视service

------整理自《大话oracle  Grid》

11g RAC R2 体系结构---Grid的更多相关文章

  1. 转 11g RAC R2 体系结构---Grid

    基于agent的管理方式 从oracle 11.2开始出现了多用户的概念,oracle开始使用一组多线程的daemon来同时支持多个用户的使用.管理资源,这些daemon叫做Agent.这些Agent ...

  2. oracle之 11g RAC R2 体系结构---Grid

    -- 查看cluster 所维护的资源列表,不包括 OHAS 栈的 daemon [root@node1 bin]# ./crsctl status resource -t-------------- ...

  3. 11g RAC R2 体系结构---用户及用户组

    10.2 RAC 到11.2 RAC 用户及用户组的变化: 在10.2 RAC 的部署中,只需要一个用户(oracle)和一个用户组(dba).Database.Clusterware都是用oracl ...

  4. 11g RAC R2 体系结构---进程,日志

    进程结构:Overview of Oracle Clusterware Platform-Specific Software Components When Oracle Clusterware is ...

  5. oracle 11g rac R2 for linux change(public,vip)IP ,hostname (oracle 11g rac R2 修改公有,虚拟,私有IP,网卡)

    结构如下: 说明: 节点IP,主机名的修改步骤来自ORACLE support文档: 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1) 实验环境情况如下: 实验 节点名称 数 ...

  6. 安装Oracle 11g RAC R2 之Linux DNS 配置

    Oracle 11g RAC 集群中引入了SCAN(Single Client Access Name)的概念,也就是指集群的单客户端访问名称.SCAN 这个特性为客户端提供了单一的主机名,用于访问集 ...

  7. 11g RAC R2 之Linux DNS 配置

    在动手配置前,最好先了解下DNS的理论,以免犯不必要的错误.这都是被坑后的觉悟 -_-!!! Oracle 11g RAC 集群中引入了SCAN(SingleClientAccessName)的概念, ...

  8. 11g RAC R2 日常巡检--Grid

    一.巡检RAC数据库 1.1列出数据库 [grid@node1 ~]$ srvctl config database racdb [grid@node1 ~]$ 1.2列出数据库的实例 [grid@n ...

  9. 11g RAC r2 的启停命令概述1

    目标: 熟悉主要进程的启停顺序 了解独占模式 -excl crsctl start crs与crsctl start cluster 区别 1.熟悉主要进程的启停顺序 1.1 启动节点rac1: [r ...

随机推荐

  1. Handsontable 学习笔记-Methods

    Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...

  2. 【Android 界面效果27】利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果

    本文主要介绍如何利用ViewPager.Fragment.PagerTabStrip实现多页面滑动效果.即google play首页.新浪微博消息(at.评论.私信.广播)页面的效果.ViewPage ...

  3. 重构19-Extract Factory Class(提取工厂类)

    在代码中,通常需要一些复杂的对象创建工作,以使这些对象达到一种可以使用的状态.通常情况下,这种创建不过是新建对象实例,并以我们需要的方式进行工作.但是,有时候这种创建对象的需求会极具增长,并且混淆了创 ...

  4. [Android]Handler的消息机制

    最经面试中,技术面试中有一个是Handler的消息机制,细细想想,我经常用到的Handler无非是在主线程(或者说Activity)新建一个Handler对象,另外一个Thread是异步加载数据,同时 ...

  5. Javascript函数(定义、传值、重载)

    Javascript 函数的定义的方式有不止一种. 第一种方式: function fn1(){ alert(typeof fn1); alert(“fn1”); } 在调用的时候直接就可以fu1() ...

  6. POJ 1860 Currency Exchange (最短路)

    Currency Exchange Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u S ...

  7. 转: Android基于HLS和RTMP协议的第三方SDK选择

    转自: http://isunxu.xyz/android/between-rtmp-and-hls-third-party-choice/ 协议的详解网上资料都太多了,我就不赘述了.Android上 ...

  8. 添加iPhone设备的udid之后,重新生成开发证书(Development)

    选择Provisioning profiles-Development-添加 ,如图:

  9. Log4.net使用配置

    开发中经常使用到日志记录功能,Log4.net可以将日志记录到文件中,也可以记录到数据库中,使用非常方便,之前也一直在用,最近也参照了一下网上的资料,想简单总结一下 本文重在通过通用日志类来使用Log ...

  10. C#之父 Anders Hejlsberg

             Anders Hejlsberg (born December 1960)[2] is a prominent Danish software engineer who co-des ...