基于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. PHP 错误处理机制

    在日常的项目开发过程中,总是会出现一些我们意想不到的异常错误,如果我们对此没有进行相对完善的处理,那么程序看上去也很不专业,也很可能就会成为别人攻击系统的有效信息:有些错误异常会终止脚本执行,这个时候 ...

  2. DNS resolving 占用大量日志

    公司内部DNS配置好后,测试解析正常,只是几乎每秒都有无法解析的日志产生.但分析日志时发现,每天的日志都有2G左右.日志中几乎全是类似network unreachable resolving 'ww ...

  3. python 调用mysql存储过程返回结果集

    存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...

  4. 转: ios app架构设计

    http://keeganlee.me/post/architecture/20160107 看完这一系列文章后就知道怎么回答这类问题了: App架构设计经验谈:接口的设计 App架构设计经验谈:技术 ...

  5. Nodejs之WebSocket

    文章导读: 一.概述-what's WebSocket? 二.运行在浏览器中的WebSocket客户端+使用ws模块搭建的简单服务器 三.Node中的WebSocket 四.socket.io 五.扩 ...

  6. 64位系统下注册32位dll文件

    64位系统下注册32位dll文件 在64位系统里注册32位软件所需的一些dll会提示不兼容,大概因为32 位进程不能加载64位Dll,64位进程也不可以加载32的导致. 若要支持的32 位和64 位C ...

  7. 理解C#系列 / 核心C# / 判断&循环&跳转

    判断&循环&跳转 说明 本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思. 判断 很容易理解:如果……就…… if语句:测试特定条件是否满足,如果满足就执 ...

  8. VS2008简体中文正式版序列号

    VS2008简体中文正式版序列号 1.Visual Studio 2008 Professional Edition:XMQ2Y-4T3V6-XJ48Y-D3K2V-6C4WT 2.Visual St ...

  9. 如何自学java迅速成为java高手

    要想学好Java,首先要知道Java的大致分类.我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ...

  10. javascript数据结构——写一个二叉搜索树

    二叉搜索树就是左侧子节点值比根节点值小,右侧子节点值比根节点值大的二叉树. 照着书敲了一遍. function BinarySearchTree(){ var Node = function(key) ...