I use this (linux, GNU awk) to list running instances: ps -eo cmd | egrep -i '(ora|xe)_pmon' | awk '{tst = substr ($1, 1,4) ; if (tst != "grep") { if ( tst != "ora_" ) print substr($1,9,length ($1) ) else print substr($1,10,length ($1) ) } }' | sort; Hth, Tony On 04/06/14 12:12, Andrew Kerber wrote:
I have a script that runs the loop below: for ORACLE_SID in `ps -e -o="CMD" | grep smon|grep -v grep| awk -F "_" '{print$3}'` do .... done The problem that just came up is a rac one node instance, where the ORACLE_SID is orcl_1 or orcl_2 So the script above, in a standard rac instance would find orcl1 or orcl2, which is what I want. But with Rac one node, and the underscore in the name it just extracts orcl, when I need to extract orcl_1. Can one of you scripting gurus show me a corrected version of that for loop that gets the correct ORACLE_SID? -- Andrew W. Kerber 'If at first you dont succeed, dont take up skydiving.'
-- //www.freelists.org/webpage/oracle-l