可以
AIX:
#!/bin/bash
ps -e -o pcpu -o pid -o user -o args | grep Oracle | sort -k 1| tail -5r
spid=`ps -e -o pcpu -o pid -o user -o args | grep oracle | sort -k 1| tail -5r | awk '{print $2}'`
for i in $spid
do
sqlplus -S /nolog << EOF
conn / as sysdba
set Feedback off
set linesize 200
set pagesize 70
column spid format 99999
column sid format 99999
column module format a20
column username format a8
column sql_text format a60
select distinct c.spid,b.sid,b.username,
a.module,a.hash_value,sql_text
from v\$sql a,v\$session b,v\$process c
where a.hash_value=b.sql_hash_value and
a.address=b.sql_address and b.paddr=c.addr and c.spid =$i;
exit
EOF
done
LINUX:
ps -e -o pcpu -o pid -o user -o args | grep Oracle | sort -k 1| tail -5
spid=`ps -e -o pcpu -o pid -o user -o args | grep oracle | sort -k 1| tail -5 | awk '{print $2}'`
done
AIX:
#!/bin/bash
ps -e -o pcpu -o pid -o user -o args | grep Oracle | sort -k 1| tail -5r
spid=`ps -e -o pcpu -o pid -o user -o args | grep oracle | sort -k 1| tail -5r | awk '{print $2}'`
for i in $spid
do
sqlplus -S /nolog << EOF
conn / as sysdba
set Feedback off
set linesize 200
set pagesize 70
column spid format 99999
column sid format 99999
column module format a20
column username format a8
column sql_text format a60
select distinct c.spid,b.sid,b.username,
a.module,a.hash_value,sql_text
from v\$sql a,v\$session b,v\$process c
where a.hash_value=b.sql_hash_value and
a.address=b.sql_address and b.paddr=c.addr and c.spid =$i;
exit
EOF
done
LINUX:
ps -e -o pcpu -o pid -o user -o args | grep Oracle | sort -k 1| tail -5
spid=`ps -e -o pcpu -o pid -o user -o args | grep oracle | sort -k 1| tail -5 | awk '{print $2}'`
done