应用程序部署之脚本处理

试验对象:重新部署整个应用环境,整个网站的运维,通过weblogic 集成oracle数据库及网站页面等信息,统一管理,为了方便日常启动操作,下面针对weblogic ,oracle编写一个启动/关闭script. ;
1、oracle 启动及关闭,关于oracle的这两个功能,涉及到oracle自身的启动脚本 ,在$ORACLE_HOME/bin下,dbstart /dbshut 即是;
2、先简单测试下该脚本是否可用,直接进入目录后运行 ./dbstart  ,发现没有任何现象,ps -ef | grep oracle,也未发现oracle有启动;因此需要修改下oracle的配置文件,su - root 后, vi /etc/oratab 
可以查看到
*:/opt/oracle/product/9.2.0.4:N
ora920:/opt/oracle/product/9.2.0.4:N   #这个跟自身的版本及安装oracle的路径有关
3、再将 ego:/opt/oracle/product/9.2.0.4:N 中的N改为 Y,保存文件退出即可
4、重新进入$ORACLE_HOME/bin,运行dbstart ,发现会提示
Can't find init file for Database "ora920".
Database "ego" NOT started.  #这是因为没有找到initora920.ora的参数文件导致的,我的instance_name='ora920',知道是这个原因的话,那就自己创建一个pfile即可,可以通过进入oracle 运行SQL语句,create pfile=`$ORACLE_HOME`/dbs/initora920.ora from spfile;
或者直接在OS上使用重定向功能处理,这样的话会启动pfile文件,因此最简单及好的方法就是使用符号链接,指向到spfile即可,ln -s spfileora920.ora initora920.ora ;完毕后,再运行dbstart 即可正常启动数据库了;
5、接着就是关于dbshut了,刚开始可能发现不了问题,不过具体看其脚本,发现脚本里使用的是正常关机,即shutdown ,这样的话,若其他有用户登录上数据库就会很麻烦,需要等其他用户自动关闭,才可以关闭,可自己却及等着关闭数据库,怎么办?而这种情况的发生是很正常的,因此需要修改下该脚本,将后面的shutdown 全部改为shutdown immediate 关闭数据库
6、数据库处理完毕,下面就是weblogic了,这个相对简单些,若都安装好后,直接在startWeblogic.sh脚本里添加上用户及密码,再在自启动脚本上运行该脚本即可;
下面是整个应用软件的自启动/关闭script,相关方面若想适应更全面的突发事件,还需要进一步调整语句及完善,为了方便自己日后查阅,暂时先保存:
#! /bin/bash
# description : Oracle auto start / stop script 
# 09/09/2010  auther : Aaron

echo "Please input follow's choose : (eg: 1 / start)"
echo "  1. start "
echo "  2. stop  "
echo "  3. restart "
echo "  4. quit"
     
ORACLE_HOME=/u01/oracle
ORACLE_USER=oracle

read -p "the choose is : " choose 
case "$choose" in
  start | 1)
      if [ ! -e $ORACLE_HOME/bin/dbstart ]; then
         echo "Sorry ! dbstart doesn't exist , can't startup oracle "
         exit 1
      fi      

      echo "****************** Listener && Oracle Startup ******************"
      sleep 3
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start" 
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart"
 
      echo "****************** Weblogic Startup ******************"
      sleep 3
      . /etc/profile

      if [ ! -e /var/weblogic ]; then
         mkdir /var/weblogic
      fi

      cd /app/bea/user_projects/mydomain/
      nohup ./startWebLogic.sh | tee -a /var/weblogic/wl.log &
      echo "Congratulations ! Application && Database have started successfully"
      ;;

   stop | 2)
      echo "****************** Weblogic Shutdown ******************"
      pkill java
      pkill startWebLogic

      echo "****************** Oracle && Listener shutdown ******************"
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut" 
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop" 
      
      echo "Congratulations ! Application && Database have stoped successfully"
      ;;

   restart | 3)
      echo "****************** Listener && Oracle Shutdown *****************"
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"

      echo "****************** Weblogic shutdown ******************"
      pkill java
      pkill startWeblogic
      echo "Congratulations ! Application && Database have stoped successfully"
      
      echo "****************** Listener && Oracle Startup ******************"
      sleep 3
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
      su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart"

      echo "****************** Weblogic Start ******************"
      sleep 3
      . /etc/profile

      if [ ! -e /var/weblogic ]; then
         mkdir /var/weblogic
      fi

      cd /app/bea/user_projects/mydomain/
      nohup ./startWebLogic.sh | tee /var/weblogic/wl.log &
      echo "Congratulations ! Application && Database have started successfully"
      ;;
    * | quit | 4)
      echo "Thank you for using this script. !"
      exit 1
      ;;
esac
exit 1


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24095423/viewspace-673077/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24095423/viewspace-673077/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值