the given result is unable to set path, because "sqlplus" in ORACLE_HOME/bin so i need to include it in PATH.#!usr/bin/perl -w use strict; use warnings; my $c=`ps -ef |grep -v grep|grep pmon|sed -e 's/.*_//'|sort -u >dbname +.log`; my $cnt=`ps -ef |grep -v grep|grep pmon|sed -e 's/.*_//'|sort -u |awk +'END {print NR-0}'`; my $i=1; while($i<=$cnt) { my $dbn=`awk 'NR==$i' dbname.log`; my $dbname = trim($dbn); my $p=`cat /etc/oratab |grep $dbname|grep -v "#"|gawk -F: '{print +\$2'}`; $ENV{'ORACLE_SID'}="$dbname"; $ENV{'ORACLE_HOME'}="$p"; $path1="$ENV{ ORACLE_HOME}/bin" open(my $fh, '|-', 'sqlplus "/as sysdba"') or die "$!"; print $fh "select name from v\$database;\nexit;\n"; close($fh); $i++; } exit 0; sub trim { my $s = shift; $s =~s/^\s+|\s+$//g; return $s; }
In reply to Need help urgent.... by appu21
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |