标签:
Linux下安装完后每次都得通过下面命令来启动对应的服务:
启动服务 dbstart
启动监视器 lsnrctl start
启动控制台 emctl start dbconsole
本文以Red Hat Enterprise Linux 6.4 (x86_64)为例设置oracle开机自动启动:
vi /etc/rc.local
把下面的内容加入
su - oracle -c "
export ORACLE_SID=orcl
sqlplus /nolog <<EOF
connect / as sysdba
startup;
exit;
EOF"
su - oracle -c ‘$ORACLE_HOME/bin/lsnrctl start‘
su - oracle -c ‘$ORACLE_HOME/bin/emctl start dbconsole‘
说明下上面脚本:
在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。
EOF只是一个分界符,当然也可以用abcde替换。
当shell遇到<<时,它知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。
此分界符可以是所定义的任何字符串,其实,不一定要用EOF,只要是“内容段”中没有出现的字符串,都可以用来替代EOF,完全可以换成abcde之类的字符串,只是一个起始和结束的标志罢了。
1,command<<EOF
(内容)
EOF
例如:
#!/bin/bash #Filename:do.sh su - oracle -c " export ORACLE_SID=orcl sqlplus /nolog <<EOF connect / as sysdba startup; exit; EOF" sleep 5 su - oracle -c lsnrctl start
说明:
将“内容段”整个作为命令的输入。
用su命令读取整段命令,并逐行执行。
本文出自 “石头多的博客” 博客,请务必保留此出处http://dayday.blog.51cto.com/3248/1739903
oracle 11.2.0.3 设置启动脚本使ORACLE自动启动
标签:
原文地址:http://dayday.blog.51cto.com/3248/1739903