Oracle Database Auto Discovery
Hi, I was asked by our development team to provide the best way to identify database parameters from database host, I was surprised to find so many options. Identifying all instances on the current machine Option 1: $ ps -ef |grep smon | grep -v grep oracle 3025 1 0 2016 ? 00:00:48 asm_smon_+ASM oracle 11459 1 0 17:24 ? 00:00:00 ora_smon_ fdb oracle SID is fdb and process id is 11459 Option 2: $ pgrep -lf _pmon_ 3025 asm_pmon_+asm 11459 ora_pmon_ fdb oracle SID is fdb and process id is 11459 Option 3: cleaner way for sid: $ ps -ef |grep 'ora_smon_.*$' | grep -v grep | awk -F_ '/ora_smon/{print $NF}' fdb oracle SID is fdb Option 4: When we already know ASM home (grid infrastructure) we can use the cluster commands: $ /oracle/product/12.1.0.2/grid/bin/crsctl stat res -t -w "TYPE = ora.database.type"|awk '/^ora./ {l=$0;} !/^ora./ { if ( l > "" ) l=l " " $0; print l;l="&q