Dec
2
[原]红旗HA 4.1监控Oracle的脚本(new)
由于有项目说原来红旗HA 4.1上监控Oracle有问题,在进行大量数据备份或操作的时候,会自动发生切换,但这个时候Oracle是正常的。
考虑到原来的脚本一直使用的都是pid进程监控的方法,可能Oracle的部分进程出现问题后,并不会马上影响Oracle的服务,一段时间后他就自动恢复了。但这对于HA来说,觉得他已经出现问题了。
基于这样的故障,重新写了一下脚本:点击下载
脚本详细内容如下:
oraclemon/start.sh
因为exblog不能支持部分字符,请直接从这里下载后查看:
点击下载
引用到的另外两个文件(放在和start.sh同一个目录下)
runstatus.sh
runplsql.sql
※附录
1、根据实际情况修改(以下都是在/rfha/scripts/oracle/目录下进行)
1)oracleexec/dbshut,关闭Oracle的脚本
2)oraclemon/start.sh文件注意的地方有:
都修改完后,导入到系统中
如果没有关闭HA,脚本会在下次有问题的时候再生效。
2、监控顺序
讲解一下当前监控脚本的顺序
首先会监控进程中的pid,没有问题的话,继续。
如果进程的pid出现问题,则会去查找lsnr的状态,若没有问题,则会对Oracle登陆进行检查,都没有问题,再进行Oracle查询检查。都正常,则继续进行下去,不会进行切换。但如果其中一个出现问题(无论是lsnr、Oracle登陆、Oracle查询),则都会发生HA切换。
3、额外配置
1)如果觉得Oracle的查询太简单,可以修改/rfha/scripts/oracle/oraclemon/runplsql.sql,然后重新把配置导入系统。
2)如果不想实行lsnr、Oracle登陆、Oracle查询等监控,可以把
LISTENERCHECK=1
WRITEREADCHECK=1
其中的1设置为0
3)如果希望lsnr、Oracle登陆、Oracle查询全部都失效才发生切换的话,可以修改/rfha/scripts/oracle/oraclemon/start.sh中,
把除了最后一句"exit 2"外的,其他"exit 2"都改为"check=0",即可。
考虑到原来的脚本一直使用的都是pid进程监控的方法,可能Oracle的部分进程出现问题后,并不会马上影响Oracle的服务,一段时间后他就自动恢复了。但这对于HA来说,觉得他已经出现问题了。
基于这样的故障,重新写了一下脚本:点击下载
脚本详细内容如下:
oraclemon/start.sh
因为exblog不能支持部分字符,请直接从这里下载后查看:
点击下载
引用到的另外两个文件(放在和start.sh同一个目录下)
runstatus.sh
sqlplus /nolog << EOF
whenever sqlerror exit sql.sqlcode;
connect $1/$2;
quit;
EOF
whenever sqlerror exit sql.sqlcode;
connect $1/$2;
quit;
EOF
runplsql.sql
select open_mode from v$database;
quit;
quit;
※附录
1、根据实际情况修改(以下都是在/rfha/scripts/oracle/目录下进行)
1)oracleexec/dbshut,关闭Oracle的脚本
2)oraclemon/start.sh文件注意的地方有:
引用
ORACLE_USER="system" # SQL username for monitor用户名
ORACLE_PASSWD="oracle" # SQL user passwd for monitor密码
ORACLE_OWNER="oracle" # Oracle Owner
ORACLE_SID="orcl" # Oracle SID
ORACLE_PASSWD="oracle" # SQL user passwd for monitor密码
ORACLE_OWNER="oracle" # Oracle Owner
ORACLE_SID="orcl" # Oracle SID
都修改完后,导入到系统中
clpcfctrl --push -l -x /rfha
如果没有关闭HA,脚本会在下次有问题的时候再生效。
2、监控顺序
讲解一下当前监控脚本的顺序
首先会监控进程中的pid,没有问题的话,继续。
如果进程的pid出现问题,则会去查找lsnr的状态,若没有问题,则会对Oracle登陆进行检查,都没有问题,再进行Oracle查询检查。都正常,则继续进行下去,不会进行切换。但如果其中一个出现问题(无论是lsnr、Oracle登陆、Oracle查询),则都会发生HA切换。
3、额外配置
1)如果觉得Oracle的查询太简单,可以修改/rfha/scripts/oracle/oraclemon/runplsql.sql,然后重新把配置导入系统。
2)如果不想实行lsnr、Oracle登陆、Oracle查询等监控,可以把
LISTENERCHECK=1
WRITEREADCHECK=1
其中的1设置为0
3)如果希望lsnr、Oracle登陆、Oracle查询全部都失效才发生切换的话,可以修改/rfha/scripts/oracle/oraclemon/start.sh中,
把除了最后一句"exit 2"外的,其他"exit 2"都改为"check=0",即可。