加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

设置oracle开机自启动

发布时间:2020-12-12 16:15:19 所属栏目:百科 来源:网络整理
导读:ORACLE 设置开机自启动 说明:一般而言windows平台oracle服务器会自动启动,但linux不会,包括监听、数据库、控制台emctl 需要进行设置 可用方式: 方式一:利用OS的服务:oratab方式二:利用oracle自带的dbstart和dbshut 个人觉得两种方式没有特别大的区别,

ORACLE 设置开机自启动

说明:一般而言windows平台oracle服务器会自动启动,但linux不会,包括监听、数据库、控制台emctl 需要进行设置

可用方式:

方式一:利用OS的服务:oratab
方式二:利用oracle自带的dbstart和dbshut

个人觉得两种方式没有特别大的区别,最后都是利用linux的服务来实现,本文结合自己生产操作,利用oratab举例说明

step 1 修改oratab设置

路径:/etc/oratab,只有这样,Oracle自带的dbstart和dbshut才能够发挥作用。
vi/etc/oratab

格式:$ORACLE_SID:$ORACLE_HOME:<N|Y>:
Example
wind:/u01/app/oracle/product/11.2.0/dbhome_1:Y

step 2 配置oracle服务

Linux init 说明:

Linux启动时,会运行一个init程序,然后由init来启动后面的任务,包括多用户环境(inittab中设定)和网络等。运行级就是当前程序运行的功能级别,这个级别从1到6,具有不同的功能。这些级别在/etc/inittab(其他发行版这个文件位置不同)中指定,该文件就是init程序寻找的主要文件。最先运行的服务放在/etc/rc.d目录下。

文件以S开头,代表start(启动),后面的数字是启动顺序;文件以K开头,代表kill(结束),同样,后面的数字代表结束顺序。例如:/etc/rc3.d/S55sshd表示它与运行级别3有关,55就是它的启动顺序;/etc/rc3.d/K15nginx表示它与运行级别3有关,15就是它的关闭顺序。

init.d 这个目录中存放了一些服务启动脚本,系统安装时的多个rpm包,这些脚本在执行时可以用来启动,停止和重启这些服务。 rcx.d(x为0~6) 这个目录是启动级别的执行程序链接目录,里面的文件都是指向init.d目录中文件的一些软连接。 /etc/init.d/ 下创建文件oracle,内容如下:

#!/bin/sh
#chkconfig:358010
#description:Oracleautostart-stopscript.

#
#SetORA_HOMEtobeequivalenttothe$ORACLE_HOME
#fromwhichyouwishtoexecutedbstartanddbshut;
#
#SetORA_OWNERtotheuseridoftheownerofthe
#OracledatabaseinORA_HOME.
ORA_HOME=/u01/app/oracle/product/11.2/dbhome_1
ORA_OWNER=oracle
if[!-f$ORA_HOME/bin/dbstart]
then
echo"Oraclestartup:cannotstart"
exit
fi
case"$1"in
'start')
#StarttheOracledatabases:
echo"StartingOracleDatabases..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StartingOracleDatabasesaspartofsystemup.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/dbstart">>/var/log/oracle
echo"Done"

#StarttheListener:
echo"StartingOracleListeners..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StartingOracleListenersaspartofsystemup.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/lsnrctlstart">>/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')
#StoptheOracleListener:
echo"StopingOracleListeners..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StopingOracleListeneraspartofsystemdown.">>/var/log/oracle
echo"-------------------------------------------------">>/var/log/oracle
su-$ORA_OWNER-c"$ORA_HOME/bin/lsnrctlstop">>/var/log/oracle
echo"Done."
rm-f/var/lock/subsys/oracle

#StoptheOracleDatabase:
echo"StopingOracleDatabases..."
echo"-------------------------------------------------">>/var/log/oracle
date+"%T%a%D:StopingOracleDatabasesaspartofsystemdown.">>/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')
$0stop
$0start
;;
esac

step 3 设置服务oracle开机自启动

chmod755/etc/init.d/oracle
chkconfig--level35oracleon

ln-s/etc/init.d/oracle/etc/rc0.d/K01oracle----设置os关机、重启前先关闭oracle

step 4 测试方式

#serviceoraclestart//启动oracle
#serviceoraclestop//关闭oracle
#serviceoraclerestart//重启oracle

#reboot

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读