Linux和Unix怎么设置启动项?
发布网友
发布时间:2022-04-19 22:38
我来回答
共1个回答
热心网友
时间:2023-09-11 17:07
Linux/Unix 中如何配置 Oracle Database 随服务器自动启动
Oracle Database 软件提供了以下两个脚本来配置数据库随服务器自动启动和关闭: [oracle@prod bin]$ pwd /u01/app/oracle/proct/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/proct/11.2.0/db_1:N [oracle@prod bin]$ vi /etc/oratab prod:/u01/app/oracle/proct/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/proct/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 ---------------------------------