奇忠诚 发表于 2018-9-14 10:36:49

配置oracle数据库开机启动

  编辑/etc/oratab更改23行
  # vi oratab
  ...................................................................................................................
  .............................................省略
  18 # "N", be brought up at system boot time.
  19 #
  20 # Multiple entries with the same $ORACLE_SID are not allowed.
  21 #
  22 #
  23 orcl:/opt/oracle/product/OraHome:Y   //注意是大写的Y
  在/etc/init.d/下创建oracle文件,下面是该文件里的内容
  # vi /etc/init.d/oracle
  #!/bin/sh
  # chkconfig: 35 80 10
  # description: Oracle auto start-stop script.
  #
  # Set ORA_HOME to be equivalent to the $ORACLE_HOME
  # from which you wish to execute dbstart and dbshut;
  #
  # Set ORA_OWNER to the user id of the owner of the
  # Oracle database in ORA_HOME.
  ORA_HOME=/opt/oracle/product/OraHome
  ORA_OWNER=oracle
  if [ ! -f $ORA_HOME/bin/dbstart ]
  then
  echo "Oracle startup: cannot start"
  exit
  fi
  case "$1" in
  'start')
  # Start the Oracle databases:
  echo "Starting Oracle Databases ... "
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
  echo "Done"
  # Start the Listener:
  echo "Starting Oracle Listeners ... "
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
  echo "Done."
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Finished." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  touch /var/lock/subsys/oracle
  ;;
  'stop')
  # Stop the Oracle Listener:
  echo "Stoping Oracle Listeners ... "
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
  echo "Done."
  rm -f /var/lock/subsys/oracle
  # Stop the Oracle Database:
  echo "Stoping Oracle Databases ... "
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
  echo "Done."
  echo ""
  echo "-------------------------------------------------" >> /var/log/oracle
  date +" %T %a %D : Finished." >> /var/log/oracle
  echo "-------------------------------------------------" >> /var/log/oracle
  ;;
  'restart')
  $0 stop
  $0 start
  ;;
  esac
  编辑好保存
  配置oracle文件权限
  chmod 755 /etc/init.d/oracle
  设置开机启动级别
  chkconfig --level 35 oracle on
  建立服务连接
  ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle
  ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc2.d/S99oracle
  ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc3.d/S99oracle
  ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc5.d/S99oracle
  ln -s /etc/rc.d/init.d/oracle /etc/rc.d/rc6.d/K01oracle
  然后用以下命令测试一下
  su - root
  service oracle stop
  service oracle start
  service oracle restart
  最后重启下试试
  reboot

页: [1]
查看完整版本: 配置oracle数据库开机启动