Hi 543700257 ,
You say you've reinstalled VCS? Well, you certainly do not seem to be getting Agent faults anymore, so this appears to have cured one issue :)
Just wondered why you are using Application for your Oracle listener when you have the OracleTypes file available (either sqlnet type or Netlsnr depedning on VCS agent version)?
You can also set the resource attribute 'Owner' for your app resources inside VCS, which means you won't need the su inside your start script.
You could also try to set the AutoStart attribute for the entire service group to null, this means that the group will not attempt to online during cluster startup and can help with your troubleshooting, although admittedly, this may not be much help in this case.
When VCS starts, it probes (monitors) all resources and it undertakes the method(s) specified in the resource config - you have four PID files specified and if the contents of the PID files match 4 processes with the same number, the process will declare online (even if the wrong processes of course). Good practise would suggest that the clean and stop scripts either remove or purge the contents of these files after each resource stop. During normal operations with VCS started, the monitor cycle does not start until the start scripts exits. I would suggest also that you check the contents of the PID files against the ps table and see if they match anything.
You say you can't offline once online - what does your stop script do - for example pkills or a more graceful method?
So - as recap, stop VCS, check and record the contents of the pidfiles, start VCS (/etc/init.d/S99vcs start, see if you get same issue - if you do do a ps -ef on the process numbers in pid files, see if they match, if so, that's your issue, if not, could be something else ..... pls let me know ....