Recently, i need to change the behaviour of VCS how it managed my DB. To cut the story short, i wanted to check if the oraerror.dat file is loaded by the Oracle Agent so that monitoring behaviour is according to the oraerror.dat file. If the oraerror.dat is not loaded, the agent will assume the default behaviour after default monitoring (which is FAILOVER). Query the number of entries.
# egrep -v '^$|^#|}' /opt/VRTSagents/ha/bin/Oracle/oraerror.dat | wc -l 187Check the gcore of the OracleAgent process, the data structure "token_data" stores the in-memory oraerror.dat.
# ps -ef |grep OracleAge root 5282 1 0 Aug 26 ? 5:10 /opt/VRTSagents/ha/bin/Oracle/OracleAgent -type Oracle -agdir /opt/VRTSagents/h root 23533 29154 0 10:33:32 pts/3 0:00 grep OracleAge
# gcore 5282 gcore: core.5282 dumpedTake a look at the 7th field, which is the number of entries in oraerror.dat plus 1.
# mdb /opt/VRTSagents/ha/bin/Oracle/OracleAgent core.5282 Loading modules: [ libthread.so.1 libc.so.1 ld.so.1 ] > *token_data/20D 0x97000: 32 663408 0 690328 690424 629608 188 3 1162824517 1330332928 97 1111573570 1112492800 80 436440 2 262144 19800 0 0ctrl+D to exit. Both the 7th field and the number of entries of oraerror.dat matches. Also look at the permission of the file! If due to some reasons, the oraerror.dat file not loaded by the OracleAgent when it started, check that the file is readable and contains the valid entries, then restart the Oracle Agent.
# ls -l oraerror.dat -rwxr--r-- 1 root sys 3611 Jul 15 2009 oraerror.dat
# haagent -stop Oracle -force -sys myserver # haagent -start Oracle -sys myserver # haagent -display | grep Oracle Oracle AgentDirectory /opt/VRTSagents/ha/bin/Oracle Oracle AgentFile Oracle Faults 0 Oracle Running Yes Oracle Started YesPlease noted that if oraerror.dat is modified, the agent has to be restarted in order to have the agent recognise the change. Reference: http://www.symantec.com/docs/TECH155872
No comments:
Post a Comment