oracle 服务在哪启动项,Oracle数据库开机自启动

如果服务器断电重启或计划内重启,在服务器的操作系统启动后,需要手工启动数据库实例和监听,本文介绍如何把Oracle数据库的启动和关闭配置成系统服务,在操作系统启动/关闭时,自动启动/关闭Oracle实例和监听。

假设ORACLE_HOME环境变量的值是/oracle/home。

1、启动数据库实例的SQL脚本

启动Oracle数据库的脚本为/oracle/home/bin/dbstart,内容如下:

启动Oracle数据库的脚本为/oracle/home/bin/dbstart,内容如下:sqlplus / as sysdba <

startup;

EOF

修改脚本的权限为可执行。

chmod +x /oracle/home/bin/dbstart

2、重启数据库实例的SQL脚本

启动Oracle数据库的脚本为/oracle/home/bin/dbrestart,内容如下:sqlplus / as sysdba <

shutdown immediate;

startup;

EOF

修改脚本的权限为可执行。

chmod +x /oracle/home/bin/dbrestart

3、关闭数据库实例的SQL脚本

启动Oracle数据库的脚本为/oracle/home/bin/dbshut,内容如下:sqlplus / as sysdba <

shutdown immediate;

EOF

修改脚本的权限为可执行。

chmod +x /oracle/home/bin/dbshut

4、oracle实例的系统服务配置文件脚本

如果把系统服务命名为oracle,则创建服务配置文件/usr/lib/systemd/system/oracle.service,内容如下:[Unit]

Description=Oracle RDBMS

After=network.target

[Service]

Type=simple

ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/dbstart >> /tmp/oracle.log"

ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/dbrestart >> /tmp/oracle.log"

ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/dbshut >> /tmp/oracle.log"

RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

5、lsnrctl监听的系统服务配置文件脚本

如果把系统服务命名为lsnrctl,则创建服务配置文件/usr/lib/systemd/system/lsnrctl.service,内容如下:[Unit]

Description=Oracle RDBMS

After=network.target

[Service]

Type=simple

ExecStart=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl start >> /tmp/lsnrctl.log"

ExecReload=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl reload >> /tmp/lsnrctl.log"

ExecStop=/usr/bin/su - oracle -c "/oracle/home/bin/lsnrctl stop >> /tmp/lsnrctl.log"

RemainAfterExit=yes

[Install]

WantedBy=multi-user.target

6、重新加载服务配置文件

systemctl daemon-reload

7、启动/停止/启重oracle和lsnrctl服务

systemctl start oracle  #启动oracle服务。

systemctl restart oracle #重启oracle服务。

systemctl stop oracle  #关闭oracle服务。

systemctl start lsnrctl  #启动lsnrctl服务。

systemctl restart lsnrctl #重启lsnrctl服务。。

systemctl stop lsnrctl  #关闭lsnrctl服务。

8、把oracle和lsnrctl服务设置为开机/关机自启动/停止

systemctl enable oracle  #把Oracle实例服务设置为开机自启动。

systemctl enable lsnrctl  #把Oracle监听服务设置为开机自启动。

9、查看Oracle实例和监听启动/停止的日志。

Oracle实例启动的日志在/tmp/oracle.log文件中。

监听的启动日成在/tmp/lsnrctl.log文件中。

注意,只有通过systemctl启动/关闭Oracle实例和监听才会写日志,手工执行脚本不写日志。

10、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

作者:码农有道

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您联系我们指正,非常感谢!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值