Heim >Datenbank >MySQL-Tutorial >Linux/Unix 中如何配置 Oracle Database 随服务器自动启动

Linux/Unix 中如何配置 Oracle Database 随服务器自动启动

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:27:40880Durchsuche

Linux/Unix 中如何配置 Oracle Database 随服务器自动启动

Oracle Database 软件提供了以下两个脚本来配置数据库随服务器自动启动和关闭:
 [oracle@prod bin]$ pwd
 /u01/app/oracle/product/11.2.0/db_1/bin
 [oracle@prod bin]$ ls -l dbs*
 -rwxr-x--- 1 oracle oinstall  6030 Jan  1  2000 dbshut
 -rwxr-x--- 1 oracle oinstall 13797 Jan  1  2000 dbstart
 

我们需要在 unix 启动/关闭脚本( rc0.d / rc1.d 等)中调用这两个脚本
 
1、检查 /etc/oratab 下的 oratab 文件,该文件应该包含要设置自动启动和关闭的数据库的条目,
 其中 autostart 值域的值为 Y,,如下所示:
 $ORACLE_SID:$ORACLE_HOME:Y
 
[oracle@prod bin]$ more /etc/oratab
 prod:/u01/app/oracle/product/11.2.0/db_1:N
 
[oracle@prod bin]$ vi /etc/oratab
 prod:/u01/app/oracle/product/11.2.0/db_1:Y
 
2、将如下文件保存到 /etc/init.d/ 下(/etc/init.d/ 是 RedHat linux 下特有的)。
 
[root@prod init.d]# pwd
 /etc/init.d
 [root@prod init.d]# ls -l dbora
 -rw-r--r-- 1 root root 1049 Mar 27 20:10 dbora
 

--注意 ORA_OWNER 和 ORA_HOME 变量的设置
 
------------------ Start dbora ---------------------------------
 
#! /bin/bash
 #
 # description: Oracle auto start-stop script.
 #
 # chkconfig: 2345 99 10
 #
 # processname: oracle
 # config: /etc/oratab
 # pidfile: /var/run/oracle.pid
 
# Source function library.
 . /etc/init.d/functions
 
RETVAL=0
 ORA_OWNER="oracle"
 ORA_HOME="/u01/app/oracle/product/11.2.0/db_1"
 
# See how we were called.
 
prog="oracle"
 
start() {
 echo -n $"Starting $prog: "
 su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
 su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora
 
return $RETVAL
 }
 
stop() {
 echo -n $"Stopping $prog: "
 su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
 su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
 RETVAL=$?
 echo
 [ $RETVAL -eq 0 ] && rm -r /var/lock/subsys/dbora
 
return $RETVAL
 }
 
restart() {
 stop
 start
 }
 
case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 restart
 ;;
 *)
 echo $"Usage: $0 {start|stop|restart}"
 exit 1
 esac
 
exit $?
 
------------------ End dbora ---------------------------------

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn