联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
#!/bin/bash #chkconfig: 345 99 10 #description:oracle 开机自动运行 #*****************方法一(oradb文件使用)********************** # 特点:复杂、功能完善、部署麻烦 # 一、使用root用户修改/etc/oratab 文件: # $ vi /etc/oratab # orcl:/u01/oracle:N (ORACLE_SID:ORACLE_HOME:N) # 改为: # orcl:/u01/oracle:Y 也就是将最后的N改为Y # 二、使用Oracle用户修改$ORACLE_HOME/bin/dbstart和dbshut文件: # ORACLE_HOME_LISTNER=$1 # 改为: # ORACLE_HOME_LISTNER=$ORACLE_HOME # 三、放置oradb于/etc/rc.d/init.d/ # 重命名该文件名为:oradb,复制到/etc/rc.d/init.d/中 # 四、组、权限、添加启动服务 # 修改所属组和用户 # chown oracle.oinstall /etc/rc.d/init.d/oradb # 修改访问权限 # chmod 775 /etc/rc.d/init.d/oradb # 添加服务到自动启动中 # chkconfig –add oradb #------------添加关机自动关闭oracle的程序----------- # 因为使用chkconfig配置的开机启动没有关闭系统时候关闭程序选项 # 需要人工设置K99oradb链接 # ln -s /etc/rc.d/init.d/oradb /etc/rc.d/rc0.d/K01oradb #-------------------结束---------------------------- # 查看数据库服务开机启动状态 # chkconfig –list oradb #--------------整体执行脚本(步骤四)--------------- # chown oracle.oinstall /etc/rc.d/init.d/oradb # chmod 775 /etc/rc.d/init.d/oradb # chkconfig –add oradb # ln -s /etc/rc.d/init.d/oradb /etc/rc.d/rc0.d/K01oradb # chkconfig –list oradb #--------------------结束--------------------------- #*****************方法一(结束)********************** #**************方法二(简单功能少)******************* # 特点:简单、方便、不需要使用oradb文件 # 1、修改$ORACLE_HOME/bin下的dbstart文件,约在78行, # 修改为ORACLE_HOME_LISTNER=$ORACLE_HOME # 2、修改/etc/oratab文件,需要修改为正确的实例名 # (格式为:$ORACLE_SID:$ORACLE_HOME:Y/N) # orcl:/u/oracle/product/10.2.0/db_1:Y # 3、修改/etc/rc.local加入su - oracle -c 'dbstart' #*****************方法二(结束)********************** # description: Startup Script for Oracle Databases # /etc/rc.d/init.d/oradb export ORACLE_BASE=/u01 export ORACLE_HOME=/u01/oracle export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin ORA_OWNR="oracle" # if the executables do not exist -- display error if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "Oracle startup: cannot start" exit 1 fi # depending on parameter -- start, stop, restart # of the instance and listener or usage display case "$1" in start) # Oracle listener and instance startup echo -n "Starting Oracle: " su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart" touch /var/lock/subsys/oradb su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole" echo "OK" ;; stop) # Oracle listener and instance shutdown echo -n "Shutdown Oracle: " su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole" su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut" rm -f /var/lock/subsys/oradb echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1 esac exit 0