利用Linux服务自动启动Oracle

本文介绍如何在Linux系统中配置Oracle数据库随系统启动而自动启动的方法。通过修改oratab文件和创建定制化的Linux服务脚本,实现Oracle数据库服务的自动化管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用Linux服务自动启动Oracle

1. 更改/etc/oratab
testa:/u01/app/oracle/product/9.2.0:Y (把原来的N改为Y)

这样就可以使该数据库随系统启动

2. 增加Linux服务(名称为oracle9i)
2.1 cd /etc/rc.d/init.d/
    touch oracle9i
    chmod a+x oracle9i
2.2 vi oracle9i 并输入以下内容:
more /etc/rc.d/init.d/oracle9i
# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the oracle dabase deamons
#
ORA_HOME=/u01/app/oracle/product/9.2.0
ORA_OWNER=oracle
case "$1" in
'start')
echo -n "Starting oracle9i: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle9i
echo
;;

'stop')
echo -n "shutting down oracle9i: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle9i
echo
;;

'restart')
echo -n "restarting oracle9i: "
$0 stop
$0 start
echo
;;
*)
echo "usage: oracle9i { start | stop | restart }"
exit 1

esac
exit 0


2.3 设定oracle9i服务的启动级别
cd /etc/rc.d/init.d/
chkconfig --add oracle9i
chkconfig --list oracle9i
oracle9i 0:off 1:off 2:off 3:on 4:on 5:on 6:off

2.4 测试服务
/etc/rc.d/init.d/oracle9i start
/etc/rc.d/init.d/oracle9i stop

3. 重启linux
reboot -n
在linux启动的时候,你就可以看到一个启动项oracle9i,出现[OK]的时候,就表示你的数据库随系统启动了。

3.1 重启Linux后,查看进程
ps -ef|grep ora_|grep -v grep
ps -ef|grep tnslsnr|grep -v grep

3.2 sqlplus测试
sqlplus '/as sysdba'

 

配置完后别的都OK了,但是start服务后db老是起不来,后来发现

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"  这个命令单独执行也是执行失败的,查看dbstart脚本,发现它会去指定pfile文件,默认是init${ORACLE_SID}.ora,然后到我们系统的${ORA_HOME}/dbs/下面去查看,发现我们的应用数据库的init文件是被我们的系统工程师给指定的,名称并不叫initxxx.ora,然后cp了这个文件,name是initxxx.ora。再次执行su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值