Oracle单机环境实现开机自动启动数据库


Windows环境和Unix环境都能够实现Oracle数据库的自动启动。

Windows环境下:

实验方法相对简单,通过修改注册表或用oradim命令来实现:

oradim -edit <SID> -startmode [auto|manual] -shutmode [nomal|immediate|abort]

Unix环境下:

通过数据库自带的dbstart命令来实验.

命令: dbstart + {ORACLE_HOME的全路径}

原理:

1. 操作系统启动过程中,读取/etc/oratab文件,判断是否有哪些数据库是需要自动启动的(N代表不自动启动,Y代表自动启动)

ora10g:/u01/app/oracle/product/10.2.0:Y  <<<<<<<<<自动启动
catdb:/u01/app/oracle/product/10.2.0:N    <<<<<<<<<不自动启动

2. 调用dbstart命令启动监听器和数据库

查看脚本全路径为$ORACLE_HOME/bin/dbstart,会注意到:

监听器的启动受环境变量ORACLE_HOME_LISTNER影响

以LINUX环境操作过程为例:

1. 如下编辑/etc/oratab文件

[oracle@ora10g bdump]$ cat /etc/oratab
# This file is used by ORACLE utilities.&nbsp; It is created by root.sh
# and updated by the Database Configuration Assistant when creating
# a database.</span></p><p><span style="font-size:14px;"># A colon, ':', is used as the field terminator.&nbsp; A new line terminates
# the entry.&nbsp; Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
#&nbsp;&nbsp; $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively.&nbsp; The third filed indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
ora10g:/u01/app/oracle/product/10.2.0:Y  <<<<<<<<<<<<<<<<<<<<
catdb:/u01/app/oracle/product/10.2.0:N

注: 数据库实例为ora10g,它的安装目录位置/u01/app/oracle/product/10.2.0,开户自动启动

2. 添加dbstart命令至rc.local.如下:

[oracle@ora10g bdump]$ cat /etc/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 to do the full Sys V style init stuff.

touch /var/lock/subsys/local
su - oracle -c "dbstart /u01/app/oracle/product/10.2.0"      <<<<<<<<<<<<<<<<<<<<<全路径根据你的实际情况来定

至此,自动启动的环境准备完成了.可以通过dbstart +{数据库安装目录全路径}来做测试或重启验证了...

相关内容

    暂无相关文章