11号青岛公安的问题因为没有买HA的现场,所以只能电话支持,但是他们的HA基础也不好,所以一直都是rachel处理。已经有好几天了吧,但是还没有最终解决。今天rachel让我看看她修改的HA配置文件,让我找找错误,rachel在gtalk上是这么说明原因的“省得xn同学说话”。一共发现了几个问题。
1、clp_ora10mon orawatch -d hatest -u system -p orcl -i 20 -r 30其中-d hatest我感觉有点问题。我感觉sid不可能写成hatest的,heatest一般是数据库里面的一个表啊,让rachel琪确认之后,这的确写错了,应该改成-d orcl -u system -p orcl -t hatest
2、fip卸载失败的时候为什么是os shutdown?
3、为什么没有user monitor?
4、diskw尝试3次也需要确认一下。
5、oraclemon组里面的start.sh和stop.sh中的ORACLE_HOME都不一样。虽然关系不大,但是停止的时候,肯定会警告的。
6、另外我建议直连心跳的miiw还是删除吧。
7、从发来的系统信息发现盘阵分区可能没有做链路冗余。
上面几个问题基本都是按我的想法修改的。为什么按我的想法修改呢?首先因为我的经验丰富,但是主要原因是rachel说她忙,让我看着改吧。惨。
今天一来先帮rachel处理放假前青岛公安的HA问题,从用户描述的来看,在两台机器上直接启动正常,“手工切换”正常,这个手工切换是不是-m参数我不确定。但是停服务切换是不正常的,pidw是error的。从日志看,的确是监控失败,其中有两种监控失败:
***** START [2008/09/12 21:15:19.438] [23316:0x972d6b40] [ref=2]
[E] 09/12 21:15:19.438 [23316:972d6b40] clp_ora10m:1543 checkerr OCI_ERROR code:12514 ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
[E] 09/12 21:15:19.438 [23316:972d6b40] clp_ora10m:0896 DoFunction Func(3) Return Code (12514)
[E] 09/12 21:15:19.438 [23316:972d6b40] clp_ora10m:0978 DoFunction error[ (ORA-12514) orcl]
***** END [2008/09/12 21:15:25.449] [23316:0x972d6b40]
***** END [2008/09/12 21:15:27.453] [24254:0x972d6b40]
***** START [2008/09/12 21:55:11.913] [27666:0x972d6b40] [ref=1]
[E] 09/12 21:55:11.912 [27666:972d6b40] common2.c:0967 SearchSharedMem reference not found pid:-1 watchid:orawatch
[E] 09/12 21:55:11.913 [27666:972d6b40] common2.c:1106 SetStop SerchSharedMem(-1) lpinfo(0) NotData(watchid:orawatch)
***** END [2008/09/12 21:55:12.914] [27666:0x972d6b40]
***** START [2008/09/12 21:57:04.447] [28058:0x972d6b40] [ref=1]
[E] 09/12 21:57:04.194 [28058:972d6b40] common2.c:0967 SearchSharedMem reference not found pid:-1 watchid:orawatch
|
其中一种是“ORA-12514: TNS:listener does not currently know of service requested in connect descriptor”,这个肯定是oracle侦听的问题,我首先想到是oracle10.2的listener里面不标准造成的,需要他发oracle的侦听文件和tnsname配置文件来验证。另外一个就非常奇怪了,我不知道是什么原因报出来的。
其他监控都没有问题,我忽然想看看启动脚本是否有执行权限,在监控目录下的start.sh和stop.sh都有执行权限,我下意识的执行了一下start.sh结果发现了错误,
[fante@fan3838 mon_oracle]$ ./start.sh
./start.sh: line 38: [: missing `]
NO_CLP EXIT [fante@fan3838 mon_oracle]$
|
这38行的错误绝对是shell脚本中的错误,而不是权限问题。看脚本中38行,如下:
elif [ "$CLP_EVENT" = "FAILOVER"]
|
很明显的错误是最后的半个中括号前面没有空格,加上空格,解决。stop.sh是正常的。然后看启动目录下面的start.sh和stop.sh,也都有执行权限,但是其中的start.sh也有问题。
[fante@fan3838 exec_oracle]$ ./start.sh
./start.sh: line 60: ehco: command not found
./start.sh: line 62: ehco: command not found
[fante@fan3838 exec_oracle]$
|
也很明显,这个ehco很可能是echo,笔误。进脚本中看,的确是笔误(我害怕记错了,还跟其他正确文件对比了一下),里面有4个地方的echo写成了ehco,全改过来,执行正常。
其实这个
直接执行的方法并不能确定脚本是正常的,因为根据if判断,有些根本执行不到,只是发现了其中的一些语法错误而已,对于这个HA的问题是否解决并不一定,但是这些错误绝对是不应该的。另外还发现date写成了data,还有两处]前面没有空格的。这个脚本rachel说是拿电监会的脚本改的,难道电监会也是这样吗?那可是我做的啊……
阅读(1766) | 评论(0) | 转发(1) |