11gR2 Agent 简介
目的:本文会对oracle 11gR2 集群件(Grid Infrastructure,以下简称GI) 新特性 agent进行介绍,包括 agent的功能,常见的agent介绍,以及基本的诊断方法。
适用范围:11.2.0.1及以上版本。
首先我们对10gR2 crs 管理资源的方法进行简单的介绍。在10gR2 当中,crsd 负责对集群中的资源进行管理。具体说来,crsd 调用相关的racg脚本,产生racg进程对资源进行管理,例如racgvip 脚本用来管理vip资源。这种管理办法,由于是racg进程进行对资源的操作,有时候会存在一些问题。从11gR2 GI开始, agent 作为一个全新的架构对GI中所有的资源进行管理,这种全新的agent 架构使资源管理更加强壮,性能更好。
接下来我们对agent的特点进行一些介绍。
1.几乎所有的资源和daemon都是由agent 管理的。例如gipc, gpnp等 由ohasd 产生的orarootagent管理。
2.Agent守护进程是多线程的,而且是HA(High Available)进程.
3.Ohasd 会产生下面的agent
cssdagent(这个agent代表命令“crsctl stat res –t –init” 中的资源ora.cssd )
orarootagent
oraagent
cssdmonitor
Crsd 会产生下面的agent
orarootagent
Oraagent
用户自定义的agent.
注意:用户oracle和grid都会产生各自对应的oraagent来管理各自的资源。例如 oraagent_grid管理资源ora.asm, oraagent_oracle管理ora.<database_name>.db资源。
下面我们对agent如何管理资源进行介绍。首先,agent 拥有一些EP(Entry Point),类似于可以对资源执行的动作。
Start:启动资源
Stop:停止资源
Check:检查资源的状态,如果发现了资源状态改变,则agent会通知GI,资源状态发生了改变。
Clean:清理资源,一般来说清理资源会在资源存在问题,需要重新启动或failover之前发生。
Abort:中止资源。
当以上的任意EP结束之后,会返回以下返回值中的一个,而这些返回值也对应着资源的状态。
ONLINE:在线。对应资源的online状态
OFFLINE:离线。对应资源的offline状态。对于offline状态,可以细分为planed offline 和unplaned offline。Planed offline是指GI倾向于这个资源处在offline状态,例如我们使用GI相关的工具(srvctl, crsctl)停止了一个资源,这种情况,GI就认为资源应该处于offline状态,因为停止资源的操作是通过GI来实现的。同时,对于planed offline的资源,它的target状态也会被修改为offline状态,这意味着,如果在资源的target状态为offline时重启GI stacks,除非资源的auto_start属性设置为always,否则,该资源不会被自动启动(关于target状态,和属性auto_start的更多信息,请参考oracle联机文档Oracle Clusterware Administration and Deployment Guide 11g Release 2)。对于unplaned offline,是指资源被GI以外的工具停止,例如使用sqlplus手动关闭数据库,在这种情况下,GI并不认为该资源应该处于offline状态,资源的target状态仍然为online,所以,资源在重新启动GI时仍然会被启动,当然除非资源的auto_start属性设置为never。
UNKNOWN:未知,对应资源的unknown状态。在这种状态下,agent会继续对该资源进行check。
PARTIAL:资源部分在线,对应资源的intermediate状态。 在这种情况下agent会继续对该资源进行check,并及时更新资源状态。
FAILED:失败。该返回值说明资源存在问题,不能正常工作,agent会首先执行clean EP,之后根据资源的相关属性进行failover或restart操作。
之后,我们可以通过下面这张表格了解agent与负责管理的资源的对应关系。
最后,我们对agent相关的trace文件进行简单的介绍。首先,agent的trace 文件位于路径GRID_HOME/log/<host>/agent下,以下是比较详细的信息。
GRID_HOME/log/<host>/agent /ohasd/orarootagent_root <– ohasd产生的orarootagent日志
GRID_HOME/log/<host>/agent/ohasd/oraagent_grid <– ohasd产生的oraagent日志
GRID_HOME/log/<host>/agent/ohasd/oracssdagent_root <– ohasd产生的cssdagent日志
GRID_HOME/log/<host>/agent/ohasd/oracssdmonitor_root <– ohasd产生的cssdmonitor日志
GRID_HOME/log/<host>/agent/crsd/oraagent_grid <– crsd产生的oraagent日志,owner为grid
GRID_HOME/log/<host>/agent/crsd/oraagent_oracle <– crsd产生的oraagent日志,owner为oracle
GRID_HOME/log/<host>/agent/crsd/orarootagent_root <–crsd产生的orarootagent日志
另外,以下的文件对诊断agent相关的问题也很有帮助。
集群alert log(Grid_home/log/<hostname>/alert<hostname>.log)
Grid_home/log/<hostname>/ohasd/ohasd.log
Grid_home/log/<hostname>/crsd/crsd.log
由于每个agent需要管理多个资源,所以,如果只是某一个资源存在问题,可以使用有问题的资源名称过滤agent日志会更有效率,当然Agent日志的可读性很好,在这里不进行详细的介绍。Agent如果crash,一般情况下,会产程一个core文件(Grid_home/log/<hostname>/agent/{ohasd|crsd}/<agent名>_<用户名>)和对应的堆栈文件(Grid_home/log/<hostname>/agent/{ohasd|crsd}/<agent名>_<用户名>/<agent名>_<用户名>OUT.log)。
11gR2 Agent 简介的更多相关文章
- java agent简介
java agent简介 主要就是两种,一种的方法是premain,一种是agentmain.这两种的区别是: premain是在jvm启动的时候类加载到虚拟机之前执行的 agentmain是可以在j ...
- Salesforce Live Agent 简介
Live Agent Salesforce 内置了即时聊天功能--Live Agent,可以用来作为客服工具. 本文简单介绍了使用 Live Agent 的步骤,主要包含: 启用 Live Agent ...
- Oracle CRS/GI 进程介绍
在10g和11.1,Oracle的集群称为CRS(Oracle Cluster Ready Service), 在11.2,Oracle的集群称为GI(Grid Infrastructure). 对于 ...
- [转]Blue Prism Login Agent 使用指导手册
本文转自:https://cloud.tencent.com/developer/news/83035 咳!咳!咳! 第一篇RPA技术文,还是贼拉鸡冻.各位大侠要多多支持啊 1.Login Agent ...
- 002.Open-Falcon Server部署及Agent监控
一 前期准备 节点 IP 备注 falcon 私网:172.24.10.95 临时公网:120.132.23.107 Open-Falcon服务端 node01 172.24.10.216 被监控端 ...
- JVM CPU Profiler技术原理及源码深度解析
研发人员在遇到线上报警或需要优化系统性能时,常常需要分析程序运行行为和性能瓶颈.Profiling技术是一种在应用运行时收集程序相关信息的动态分析手段,常用的JVM Profiler可以从多个方面对程 ...
- Hacklab WebIDE在线调试ESP32笔记
目录 1.什么是Hacklab WebIDE 1.1 优势 1.2 趋势 2. 使用方法 2.1 功能介绍 2.2 编译第一个程序 2.3 搭建esp32的开发环境 2.4 建立开发板与云平台的连接 ...
- opensuse install oracle 11gR2 Error in invoking target 'agent nmhs' of makefile '../ins_emagent.mk'
转自 http://blog.csdn.net/ly5156/article/details/6647563 遭遇Error in invoking target 'agent nmhs' of ma ...
- 11gR2集群件任务角色分离(Job Role Separation)简介
从11gR2版本开始,Oracle推荐使用不同的操作系统用户安装GI和数据库软件,例如:使用grid用户安装GI,使用Oracle用户安装数据库软件.当然,用户还是可以使用Oracle用户安装G ...
随机推荐
- 2-6 Flutter开发环境与Android开发环境设置实操(Windows)
通常安装完AS后,sdk的目录 C:\Users\wjw\AppData\Local\Android\sdk 如果在这个目录下没有找到sdk的目录的话 Settings里面搜索sdk,找到Androi ...
- php分页问题
这样子分: $total_record=50; //这里的50通过sql获取记录总数$list_num=5; //设置一页显示数量$temp=($page-1)*$list_num; $total_p ...
- HDU - 1546 ZOJ - 2750 Idiomatic Phrases Game 成语接龙SPFA+map
Idiomatic Phrases Game Tom is playing a game called Idiomatic Phrases Game. An idiom consists of sev ...
- 聊聊心跳机制及netty心跳实现
我们在使用netty的时候会使用一个参数,ChannelOption.SO_KEEPALIVE为true, 设置好了之后再Linux系统才会对keepalive生效,但是linux里边需要配置几个参数 ...
- 洛谷P5173 传球(暴力)
传送门 真·暴力艹过去 不难发现这个转移其实就是一个循环卷积的形式,设有多项式\(A=x+x^{n-1}\),那么\(f_m=f_0\times A^m\) 直接暴力计算并卡常就行了 //minamo ...
- pycharm安装教程,汉化教程,以及正版激活码---
密钥在下面 安装过程 PyCharm2019本地下载: http://www.100c1.com/upload/default/20190420/1c08a3209029093a8b34df941f1 ...
- HttpClient 应用案例揭破应用Discuss论坛登录
闲来无事,写了一个对discuss论坛登录的案例,初次上场按照以前的惯例没成功,见过抓包分析discuss论坛成功完成,废话不多说 直接上代码. 1:winform 做客户端,添加HttpClient ...
- hammerjs jquery的选项使用方法,以给swipe设置threshold和velocity为例
先包含hammer.min.js和 jquery.hammer.js,然后: var $ele = $('#ele'); //复用jquerydom对象,建个变量 $ele.hammer().on(& ...
- 8.聚集函数 ---SQL
一.AVG()函数 A VG()通过对表中行数计数并计算其列值之和,求得该列的平均值.A VG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值. 警告:只用于单个列 AVG()只能用来确 ...
- shell中括号总结: {}, (), (()), [], [[]]
括号总结 () 单小括号 命令组,括号中的命令将会开一个新的子shell执行 括号中变量不能被剩下脚本使用 命令之间分号隔开 命令和括号之间可以没有空格 命令替换,等同于``反引号 $(xxx)会被替 ...