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 ———————————
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1896287.html