设置oracle开机自启动

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: 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=/u01/app/oracle/product/11.2/dbhome_1
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
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

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

chmod 755 /etc/init.d/oracle
chkconfig --level 35 oracle on

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

step 4 测试方式

# service oracle start        //启动oracle
# service oracle stop        //关闭oracle
# service oracle restart     //重启oracle

# reboot
时间: 2024-08-02 01:33:59

设置oracle开机自启动的相关文章

RedHat 下设置oracle开机自启动

进入root用户进行如下操作 1.查看oracle安装目录 [[email protected] db_1]# pwd /u01/app/oracle/product/11.2.0/db_1 2.查看数据库实例名 [[email protected] db_1]# echo $ORACLE_SID ORADB 3.修改配置文件 3.1.开机启动数据库: "/etc/oratab"文件是由数据库安装时运行的root.sh(该文件位于oracle的安装目录下)文件创建的.如果没有该文件,则

Linux下oracle开机自启动设置

今天在虚拟机安装完oracle数据库重启系统后想进入数据库却发现如下错误: 出现ORA-01034和ORA-27101的原因是多方面的:主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动.那么如何在Linux启动时自动启动Oracle监听和实例呢? 首先尝试使用oracle启动数据库的命令dbstart,可是发现又报错如下错误: ORACLE_HOME_LISTNER is not SET, unab

Linux将服务设置为开机自启动的方法小结

Linux设置为开机自启动的几种方法小结 和Windows一样,Linux也可以将一些服务设置为开机自启动,这样可以避免每次开机都会去打开某一个服带来的麻烦!Linux开机将服务设置为开机自启动的方法大概有一下几种: 一.ntsysv图形界面设置 ntsysv -> NeWT + SysV ,它是使用 newt 库的 SysV 风格的 runlevel 配置工具,Red Hat公司遵循GPL规则所开发的程序,它具有互动式操作界面,您可以轻易地利用方向键和空格键等,开启,关闭操作系统在每个执行等级

cenOS设置程序开机自启动的方法

cenOS设置程序开机自启动的方法主要有两种 1.把启动程序的命令添加到/etc/rc.d/rc.local 文件夹中. eg1.设置开机启动mysql vim /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want

C#如何设置程序开机自启动

如果想要将一个exe程序设置为开机自启动,其实就是在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run注册表项中添加一个注册表变量,这个变量的值是程序的所在路径. 具体操作步骤是: 1.使用RegistryKey类的CreateSubKey方法打开HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Ru

oracle开机自启动-超简单

1. 在/etc/oratab中作如下修改$ORACLE_SID:$ORACLE_HOME:Y例如vi /etc/orataborcl:/u01/app/oracle/product/10.2.0/db_1:Y 2.  修改/etc/rc.localsu - oracle -c "$ORACLE_HOME/bin/lsnctl start"su - oracle -c "$ORACLE_HOME/bin/dbstart start"例如vi /etc/rc.loca

linux设置tomcat开机自启动

本文假设jdk环境安装成功,如何安装JDK请参考这个链接: http://www.cnblogs.com/yoyotl/p/5395208.html 1. 下载apache的安装包,例如本例下载了apache-tomcat-7.0.68.tar.gz版本. 2. 解压并安装到指定的位置,例如本例安装到/usr/local目录下. 3. cp /usr/local/apache-tomcat-7.0.68/bin/catalina.sh /etc/init.d/tomcat 4. vim /etc

Linux下设置svn开机自启动

方式一:centos 7 设置svn开机自启动 使用新的systemctl 服务命令  (笔者成功验证过,该方式可行) [[email protected] init.d]# vi /lib/systemd/system/svnserve.service   [[email protected] init.d]# vi /etc/sysconfig/svnserve   [[email protected] init.d]# systemctl enable svnserve.service  

Ubuntu16设置Redis开机自启动

Ubuntu16设置Redis开机自启动 设置条件: -Ubuntu16.04 -Redis-4.0.11 在redis目录下找到  utils/redis_init_script  复制到 /etc/init.d/redis  打开文件进行修改 步骤:(主要Linux命令) whereis redis # 查找redis目录 sudo cp redis_init_script /etc/init.d/redis # 复制文件 cd /etc/init.d/ # 进入文件目录 sudo vim