linux设置 让oracle10g自启动

软件集成
1045
linux
linux 举报
2020-04-15

在/etc/rc.d/init.d/ 创建oracle10g文件

touch oracle

chmod a+x oracle

[root@test~]# vi /etc/rc.d/init.d/oracle


[root@test~]# vi /etc/rc.d/init.d/oracle

#!/bin/bash
#chkconfig:345 51 49
#description:starts the oracle database deamons
#
ORACLE_HOME=/oracle/product/10.2.0/db_1
ORACLE_OWNER=oracle
case "$1" in
start)
echo -n "Starting oracle10g:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle10g
echo
;;

stop)
echo -n "shutting down oracle10g:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo
;;

restart)
echo -n "starting oracle10g:"
$ stop
$ start
echo
;;

*)
echo "usage: oracle10g{start|stop|restart}"
exit
;;
esac
exit

保存文件(按Esc,":wq"),退出以后,添加并启动察看服务。



保存文件(按Esc,":wq"),退出以后,添加并启动察看服务。

/sbin/chkconfig --add oracle/sbin/chkconfig --list oracle

在su下

service oracle10g start //启动oracle服务

service oracle10g stop //停止oracle服务

注1: /var/lock/subsys目录的作用

      很多程序需要判断是否当前已经有一个实例在运行,这个目录就是让程序判断是否有实例运行的标志,比如说xinetd,如果存在这个文件,表示已经有xinetd在运行了,否则就是没有,当然程序里面还要有相应的判断措施来真正确定是否有实例在运行。通常与该目录配套的还有/var/run目录,用来存放对应实例的PID,如果你写脚本的话,会发现这2个目录结合起来可以很方便的判断出许多服务是否在运行,运行的相关信息等等。     实际上,判断是否上锁就是判断这个文件,所以文件存在与否也就隐含了是否上锁。而这个目录的内容并不能表示一定上锁了,因为很多服务在启动脚本里用touch来创建这个加锁文件,在系统结束时该脚本负责清除锁,这本身就不可靠(比如意外失败导致锁文件仍然存在),我在脚本里一般是结合PID文件(如果有PID文件的话),从PID文件里得到该实例的PID,然后用ps测试是否存在该PID,从而判断是否真正有这个实例在运行,更加稳妥的方法是用进程通讯了,不过这样的话单单靠脚本就做不到了。

注2:创建完文件oracle10后,使用root用户创建并修改/etc/oratab文件,添加如下内容:orcl:/ORACLE/app/product/10.2.0/db_1:Y

注3:若遇到“服务不支持chkconfig”请检查配置文件中带有“#”号的行有没有写错。


倒序看帖 只看楼主
热点关注
postfix下过滤垃圾邮件的有效方法
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC和-share选项,例如:
gcc指定链接库路径后还是找不到库文件
./configure -build,-host,-target设置
关于Linux系统中configure中build,target,host中的若干问题
不用单独编译gmp、mpfr和mpc三个包,放在gcc源码下面一起编译
安装最新版本的GCC编译器(./configure执行编译报错 C++ compiler too old)
在后台用进程名运行bash脚本
shell参数判断
postfix过滤规则的几个关键规则