cat ora_admin.sh
shutdown_ora()
{
ps -ef|grep lsnr|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $(NF-1)}' >~/lsnr.$USER
ps -ef|grep pmon|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $NF}'|awk -F _ '{print $NF}' >~/sid.$USER
cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologshutdown immediate
exit
!
done
}

startup_ora()
{
cat ~/lsnr.$USER|while read lsnr
do
lsnrctl start $lsnr
done

cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologstartup
exit
!
done
}

case $1 in
stop)
  shutdown_ora;;
start)
  startup_ora;;
esac





 cat start_lp.sh
cat list | while read line
echo $line -----------------------------------------------------------------
do
sshpass -p root8cat scp -o "StrictHostKeyChecking=no" /opt/start_ora.sh root@${line}:/
sshpass -p root8cat ssh -o "StrictHostKeyChecking=no" root@${line} mv /start_ora.sh /start_ora.sh.last
!
done







 cat  ora_admin.sh
shutdown_ora()
{
ps -ef|grep lsnr|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $(NF-1)}' >~/lsnr.$USER
ps -ef|grep pmon|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $NF}'|awk -F _ '{print $NF}' >~/sid.$USER
cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologshutdown immediate
exit
!
done
}

startup_ora()
{
cat ~/lsnr.$USER|while read lsnr
do
lsnrctl start $lsnr
done

cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologstartup
exit
!
done
}

case $1 in
stop)
  shutdown_ora;;
start)
  startup_ora;;
esac






cat lp.sh
export chose=$1
cat lp.list | while read line
do
  echo $line ---------------------------------------------------------
  for i in root root8cat
  do
    sshpass -p $i scp -o "StrictHostKeyChecking=no" *_admin.sh root@${line}:/tmp/
    if [ $? = 0 ];then
    sshpass -p $i ssh -o "StrictHostKeyChecking=no" root@${line} "/tmp/lp_admin.sh $chose"
    break
    fi
  done
done











cat  lp_admin.sh
df -k > /tmp/df.txt
ps -ef|grep java >/tmp/java.txt
shutdown_os()
{
ps -ef|grep pmon |grep -v grep |awk '{print $1}' >/tmp/ora_user.txt
cat /tmp/ora_user.txt|while read ora_user
do
  su - $ora_user -c "/tmp/ora_admin.sh stop"
done

count=`ps -ef|grep pmon |grep -v grep |awk '{print $1}'|wc -l`
if [ $count = 0 ];then
   nohup shutdown -F >/dev/null &
else
  echo "oracle still running."
fi
}

open_os()
{
if [ -s /tmp/ora_user.txt ];then
  cat /tmp/ora_user.txt|while read ora_user
  do
    su - $ora_user -c "/tmp/ora_admin.sh start"
  done
else
  echo "not fund oracle users ,can not startup instance"
fi
if [ -e  /websphere/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh ];then
  chown -R wasadmin:wasadmg  /websphere
  su - wasadmin -c "/websphere/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh"
  su - wasadmin -c "/websphere/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startNode.sh"
fi
}

case $1 in
start)
  open_os;;
stop)
  shutdown_os;;
esac











 cat  shut_lp.sh
cat list | while read line
do
echo $line ---------------------------------------------------------
sshpass -p root8cat scp -o "StrictHostKeyChecking=no" /opt/shut_ora.sh root@${line}:/
sshpass -p root8cat ssh -o "StrictHostKeyChecking=no" root@${line} >/opt/df.txt
ps -ef|grep pmon|grep -v grep  |awk '{print $1,$9}'>>/sid.txt
ps -ef|grep lsnr|awk -F   "tnslsnr " '{print $2}'|awk '{print $1}' >/lsnr.txt
ps -ef|grep java >>/ps.txt
cat /sid.txt|while read sid
do
user=`echo $sid|awk '{print $1}'`
ora_sid=`echo $sid|awk -F _ '{print $2}'`
su - $user -c sh /shut_ora.sh
done
if [ $? = 0 ];then
nohup shutdown -F >/dev/null &
fi
mv /shut_ora.sh /shut_ora.sh.last
exit
!
done
















cat  shut_lp.sh
cat list | while read line
do
echo $line ---------------------------------------------------------
sshpass -p root8cat scp -o "StrictHostKeyChecking=no" /opt/shut_ora.sh root@${line}:/
sshpass -p root8cat ssh -o "StrictHostKeyChecking=no" root@${line} >/opt/df.txt
ps -ef|grep pmon|grep -v grep  |awk '{print $1,$9}'>>/sid.txt
ps -ef|grep lsnr|awk -F   "tnslsnr " '{print $2}'|awk '{print $1}' >/lsnr.txt
ps -ef|grep java >>/ps.txt
cat /sid.txt|while read sid
do
user=`echo $sid|awk '{print $1}'`
ora_sid=`echo $sid|awk -F _ '{print $2}'`
su - $user -c sh /shut_ora.sh
done
if [ $? = 0 ];then
nohup shutdown -F >/dev/null &
fi
mv /shut_ora.sh /shut_ora.sh.last
exit
!
done
[root@localhost opt]# cat shut_ora.sh
export ORACLE_SID=$ora_sid
sqlplus /nolog shutdown immediate
exit
!


















cat ora_admin.sh
shutdown_ora()
{
ps -ef|grep lsnr|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $(NF-1)}' >~/lsnr.$USER
ps -ef|grep pmon|grep -v grep|awk -v ora_user="$USER" '$1==ora_user{print $NF}'|awk -F _ '{print $NF}' >~/sid.$USER
cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologshutdown immediate
exit
!
done
}

startup_ora()
{
cat ~/lsnr.$USER|while read lsnr
do
lsnrctl start $lsnr
done

cat ~/sid.$USER|while read sid
do
export ORACLE_SID=$sid
sqlplus /nologstartup
exit
!
done
}

case $1 in
stop)
  shutdown_ora;;
start)
  startup_ora;;
esac





10.14.58.136/opt 目录下
lp.sh
lp_admin.sh
ora_admin.sh
lp.list

关闭操作执行./lp.sh stop
启动./lp.sh start

需要把ip清单放进lp.list文件里,尝试登陆密码root root8cat ,如果还有其他密码,修改lp.sh,在for循环添加,空格分隔,例如添加密码p1、p2

cat lp.list | while read line
do
  echo $line ---------------------------------------------------------
  for i in root root8cat p1 p2
  do

脚本除了启动oracle,还可以启动标志安装的was的dmgr和nodeagent { /websphere/IBM/WebSphere/AppServer/profiles/ }。



10-09 16:22