oracle 数据库开机自启动

第一种方法:(将自启动脚本加入/etc/rc.d/rc.local)

1、修改oracle自启动脚本/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbstart

找到ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

2、修改/etc/oratab选线

vi /etc/oratab
orcl:/u01/app/oracle/product/12.2.0.1/dbhome_1:Y (即可)

3、将oracle自带的dbstart启动脚本加入到/etc/rc.d/rc.local

vi /etc/rc.d/rc.local
su oracle -lc  "/u01/app/oracle/product/12.2.0.1/dbhome_1/bin/dbstart"

4、修改权限

chmod 755 /etc/rc.d/rc.local

 

第二种方法:(通过一体化脚本)

1.第一种方法中的1,2都要保留

2.脚本/etc/init.d/oracle

#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
echo " " >> /home/oracle/oraclelog
echo `date +'%Y-%m-%d %H:%M:%S'` >> /home/oracle/oraclelog
case "$1" in
start)
echo "-----startup oracle-----" >> /home/oracle/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /home/oracle/oraclelog
echo "-----startup oracle successful-----" >> /home/oracle/oraclelog
echo "OK"
;;
stop)
echo "-----shutdown oracle-----" >> /home/oracle/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /home/oracle/oraclelog
echo "-----shutdown oracle successful-----" >> /home/oracle/oraclelog
echo "OK"
;;
restart)
echo "-----shutdown oracle-----" >> /home/oracle/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /home/oracle/oraclelog
echo "-----shutdown oracle successful-----" >> /home/oracle/oraclelog
echo "-----startup oracle-----" >> /home/oracle/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oracle
echo `date +'%Y-%m-%d %H:%M:%S'` >> /home/oracle/oraclelog
echo "-----startup oracle successful-----" >> /home/oracle/oraclelog
echo "OK"
;;
*)
#echo "Usage: 'basename $0' start|stop|restart"
exit 1
esac
exit 0

权限 chmod 755  /etc/init.d/oracle 

加入启动项  chkconfig oracle  on 

注:在oracle 12c中以上方法只能启动CDB库,不能启动内部的pdb库,可以写一个触发器如下:

create trigger open_dev
       after startup on database
begin 
     execute immediate 'alter pluggable database pdb01,pdb02,pdb03 open';
end;
/
oracle 数据库开机自启动_第1张图片


 

你可能感兴趣的:(oracle,数据库)