支持AIX\HP-UX\Linux,自動判斷運行中的Oracle用戶,支持多Oracle用戶,自動判斷Listener名稱,獲取包括主機版本、IP地址、文件系統、物理內存、交換空間、文件緩存配置、主機字符集環境、ORACLE環境變量、Listener狀態、Oracle字符集、Oracle用戶、Oracle版本、SGA、PGA、數據文件路徑等信息。
使用:
root下執行
info.sh >info
info.sh
#!/bin/ksh
typeset -u g_os=`uname`case $g_os in
AIX*)
echo ‘——————————————————’
echo ‘AIX OS Version:’
oslevel -r
echo ”
echo ‘——————————————————’
echo ‘IP Configuration:’
ifconfig -a
echo ”
echo ‘——————————————————’
echo ‘FileSystem:’
df -g
echo ”
echo ‘——————————————————’
echo ‘Physical Memory:’
lsattr -El mem0
echo ”
echo ‘——————————————————’
echo ‘Swap Info:’
lsps -a
echo ”
echo ‘——————————————————’
echo ‘maxperm and minperm:’
vmo -a|grep ‘perm’
;;
HP*)
echo ‘——————————————————’
echo ‘HP-UX OS Version:’
uname -a
echo ”
echo ‘——————————————————’
echo ‘IP Configuration:’
netstat -in
echo ”
echo ‘——————————————————’
echo ‘FileSystem:’
bdf
echo ”
echo ‘——————————————————’
echo ‘Physical Memory:’
dmesg|grep Physical
echo ”
echo ‘——————————————————’
echo ‘Swap Info:’
swapinfo -a
echo ”
echo ‘——————————————————’
echo ‘ dbc_max_pct and dbc_min_pct:’
kctune |grep ‘dbc’
;;
LINUX*)
echo ‘——————————————————’
echo ‘Linux OS Version:’
uname -a
cat /etc/redhat-release
echo ”
echo ‘——————————————————’
echo ‘IP Configuration:’
ifconfig
echo ”
echo ‘——————————————————’
echo ‘FileSystem:’
df -h
echo ”
echo ‘——————————————————’
echo ‘Physical Memory:’
grep MemTotal /proc/meminfo
echo ”
echo ‘——————————————————’
echo ‘Swap Info:’
free -m;;
esac
echo ”
echo ‘——————————————————’
echo ‘OS Language Environment:’
env |grep LANG
echo ‘NLS_LANG:’$NLS_LANG
echo ”
echo ‘——————————————————’
echo ‘Oracle Process Info:’
ps -ef|grep ora_smon|grep -v ‘grep’
ps -ef|grep tns|grep -v ‘grep’echo ”
echo ‘——————————————————’echo ‘vmstat:’
vmstat 1 10echo ”
echo ‘——————————————————’
echo ‘Oracle User Info:’
ora_username=`ps -ef|grep ora_smon|grep -v grep|awk -F" " ‘{print $1}’|awk ‘!a[$0]++’`
for i in $ora_username
do
id $i
done
echo ”
echo ‘——————————————————’
echo ‘Oracle User Environment:’oracle_info=’sqlplus -s "/as sysdba"<<EOF
set feedback off;
set pagesize 300;
prompt ;
prompt ——————————————————;
prompt Oracle SGA:;show sga;
col name for a15;
col value for a15;
show parameter sga;
prompt ;
prompt ——————————————————;
prompt Oracle PGA:;show parameter pga;
prompt ;
prompt ——————————————————;
prompt Oracle Version:;
select * from v\$version;
prompt ;
prompt ——————————————————;
prompt Oracle Datafile Location:;
col name for a45;
select name,bytes/1024/1024/1024 "size(GB)" from v\$datafile;
col parameter for a30;
col value for a30;
prompt ;
prompt ——————————————————;
prompt Oracle NLS Parameters:;
select * from nls_database_parameters;
prompt ;
prompt ——————————————————;
prompt Oracle Users:;
col USERNAME for a30;
col DEFAULT_TABLESPACE for a30;
select username,DEFAULT_TABLESPACE from dba_users;
exit
EOF’
for i in $ora_username
do
case $g_os in
AIX*|LINUX*)
echo ‘————’;
echo ‘username:’$i;
echo ‘————’;
lsnrn=`ps -ef|grep tns|grep -v grep|awk -F" " ‘{print $1,$(NF-1)}’|grep $i|awk -F" " ‘{print $2}’`
su – $i "-c env |grep -E ‘ORACLE_BASE|ORACLE_HOME|ORACLE_SID’;echo ”;echo ‘——————————————————’;echo ‘Oracle Listener Info:’;lsnrctl status $lsnrn;$oracle_info;";
;;
HP*)
echo ‘————’;
echo ‘username:’$i;
echo ‘————’;
lsnrn=`ps -ef|grep tns|grep -v grep|awk -F" " ‘{print $1,$(NF-1)}’|grep $i|awk -F" " ‘{print $2}’`
su – $i -c "env |grep -E ‘ORACLE_BASE|ORACLE_HOME|ORACLE_SID’;echo ”;echo ‘——————————————————’;echo ‘Oracle Listener Info:’;lsnrctl status $lsnrn;$oracle_info;";
;;
esac
done