gpt4 book ai didi

linux - 使用 rc 启动脚本启动 oc4j 和 oracle

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:33 25 4
gpt4 key购买 nike

我的几个 Linux 启动脚本有问题,特别是启动 Oracle 10g 数据库和 oc4j 容器的脚本。

我已经使用 chkconfig 告诉 Linux 在容器之前启动数据库,但是,容器似乎在数据库之前启动,这是 oc4j 根本不喜欢的。我可以访问我的应用程序,但是,我没有数据库连接。如果我重新启动 oc4j,一切正常。

有没有一种方法可以让我“暂停”oc4j 的启动,直到数据库(和监听器)都已启动并准备好进行连接?

最佳答案

将它们放在 1 个启动脚本中?

start listener
start database
start appserver

这是我的/etc/init.d/dbora 脚本。添加启动 OC4J 的调用

#!/bin/sh
# chkconfig: 345 99 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=/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
echo $1
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c $ORA_HOME/bin/emctl start dbconsole
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/emctl stop dbconsole
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
;;
esac

关于linux - 使用 rc 启动脚本启动 oc4j 和 oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com