如果每次重启操作系统都要进行以上操作好麻烦,那么如何让Oracle作为系统服务在开机的时候自动启动呢?

Oracle在$ORACLE_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和关闭数据库。注意,这两个脚本已包含监听器的启动或关闭,但并未对EM进行相关的操作。使用如下命令:

/opt/oracle/11g/bin/dbstart /opt/oracle/11g #启动数据库实例(包含监听器)
/opt/oracle/11g/bin/dbshut /opt/oracle/11g #关闭数据库实例(包括监听器)

以上命令要成功启动数据库实例还得打开Oracle设置的一个关卡:vi /etc/oratab,修改行:

orcl:/opt/oracle/11g:Y #默认为orcl:/opt/oracle/11g:N

以root身份建立开机启动oracle服务的脚本:vi /etc/init.d/oracle,添加如下脚本:

#!/bin/sh
#chkconfig:
#description: Oracle dbstart / dbshut
#以上两行为chkconfig所需
ORA_HOME=/opt/oracle/11g
ORA_OWNER=oracle
LOGFILE=/var/log/oracle.log
echo "#################################" >> ${LOGFILE}
date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
exit
fi
start(){
echo "###Startup Database..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
echo "###Done."
echo "###Run database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl start dbconsole"
echo "###Done."
}
stop(){
echo "###Stop database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole"
echo "###Done."
echo "###Shutdown Database..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
echo "###Done."
}
case "$1" in
'start')
start >> ${LOGFILE}
;;
'stop')
stop >> ${LOGFILE}
;;
'restart')
stop >> ${LOGFILE}
start >> ${LOGFILE}
;;
esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""

使用如下命令将 /etc/init.d/oracle 置为可执行文件:

chmod a+x /etc/init.d/oracle

至此,可使用如下命令对oracle进行启动和关闭

/etc/init.d/oracle start #启动oracle(包括数据库实例、监听器、EM)
/etc/init.d/oracle stop #关闭oracle
/etc/init.d/oracle restart #重启oracle

将 oracle 添加到 chkconfig中:

chkconfig --add oracle

可使用如下命令查看和设置oracle服务的开机启动级别:

chkconfig | grep oracle #查看oracle服务的开机启动级别
chkconfig --level oracle off #修改oracle服务的开机启动级别
chkconfig --level oracle on

至此可使用如下命令对oracle的启动或关闭进行管理

service oracle start #启动
service oracle stop #关闭
service oracle restart #重启

建立连接:

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   #关机执行
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #重启执行

Linux下oracle开机自启动服务的更多相关文章

  1. 设置linux下oracle开机自启动

    1.修改配置文件,vi /etc/oratab orcl:/u01/app/oracle/product/11.2.0/db_1:Y 2.创建启动文件,/etc/init.d/ #!/bin/sh # ...

  2. Linux下设置开机自启动Tomcat

    方法一: linux 下tomcat开机自启动修改Tomcat/bin/startup.sh 为: export JAVA_HOME=/usr/java/j2sdk1..2_08 export CLA ...

  3. Centos 下添加开机自启动服务和脚本【转】

    最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...

  4. Oracle在linux下的开机自启动(详细)转

    linux下系统开机oracle自启动(方法一) ---加载为服务自启动.停止一.dbstart   及   dbshut 1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Ora ...

  5. NO19 优化Linux系统--重要开机自启动服务--关闭自启动项

    **如何优化Linux系统: 1   不用root,添加普通用户,通过sudo授权管理.2   更改默认的远程连接SSH服务端口及禁止root用户远程连接.3   定时自动更新服务器时间.4   配置 ...

  6. Centos 下添加开机自启动服务和脚本

    最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...

  7. postgresql数据库linux下设置开机自启动

    设置PostgreSQL开机自启动PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下cd /opt/soft_bak/postgre ...

  8. Linux下Oracle开机启动

    参考:http://blog.csdn.net/huangyanlong/article/details/36942155 一.保证dbstart能用:vi $ORACLE_HOME/bin/dbst ...

  9. Centos7 下添加开机自启动服务和脚本

    1.添加开机自启服务 #设置jenkins服务为自启动服务 systemctl enable jenkins.service #启动jenkins服务 systemctl start jenkins. ...

随机推荐

  1. Java-API-Package:javax.annotation

    ylbtech-Java-API-Package:javax.annotation 1.返回顶部 1. Package javax.annotation Enum Summary Resource.A ...

  2. 1 ignite核心特性

    1 Ignite是什么? Apache Ignite是一个以内存为中心的分布式数据库.缓存和处理平台,支持事务.分析以及流式负载,可以在PB级数据上享有内存级的性能. 2 Ignite是不是内存数据库 ...

  3. Laravel 在 with 查询中只查询个别字段

    在使用 Laravel 的关联查询中,我们经常使用 with 方法来避免 N+1 查询,但是 with 会将目标关联的所有字段全部查询出来,对于有强迫症的我们来说,当然是不允许的. 这时候我们可以使用 ...

  4. 问题:window7任务计划时;结果:Win7 下如何添加任务计划呢

    Win7 下如何添加任务计划呢 1.点击“开始”--->“所有程序”--->"附件"--->"系统工具"2.选择“任务计划程序” 如下图所示: ...

  5. gridcontrol 添加行号

    private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndic ...

  6. Solr 空间搜索配置、按经纬度计算距离排序

    Solr 空间搜索配置 1. 在solr目录下的找到conf文件夹下的schema.xml. <fields> <!-- 在fields元素中添加如下代码 --> <fi ...

  7. 【总结整理】openlayer

    实时路况 http://www.cnblogs.com/gisvip/archive/2012/11/24/2787141.html

  8. 用StringBuilder来实现经典的反转问题

    import java.util.Scanner; public class Practise03 { public static void main(String[] args) { //键盘录入一 ...

  9. ZBar在Windows上的使用 -- ImageMagick and OpenCV

    博客转载自:https://blog.csdn.net/sunflower_boy/article/details/49095265 1. 下载ZBar v0.10 http://zbar.sourc ...

  10. Django框架 之 Cookie和Session初识

    Django框架 之 Cookie和Session初识 浏览目录 Cookie介绍 Django中的Cookie Session 一.Cookie介绍 1.Cookie产生的意义 众所周知,HTTP协 ...