主机数据库信息抓取脚本

支持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 10

echo ” 
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值