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

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

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

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

sqlplus / as sysdba <<EOF
startup;
EOF

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

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

sqlplus / as sysdba <<EOF
shutdown immediate;
startup;
EOF

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

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

sqlplus / as sysdba <<EOF
shutdown immediate;
EOF

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 lsnrctl
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语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果我们的文章对您有帮助,请点赞评论,让更多的人看到这文章,我们也将继续努力创作更多的文章,谢谢。

Oracle数据库开机自启动的配置的更多相关文章

  1. 设置Oracle数据库开机自启动

    1.oracle 用户下 修改$ORACLE_HOME/bin/dbstart   vim /home/oracle/database/product/12c/db_1/bin/dbstart 将OR ...

  2. 设置Oracle数据库开机自启动-亲试ok

      1.oracle 用户下 修改$ORACLE_HOME/bin/dbstart [oracle@dev-oracle ~]$  vi  /opt/oracle/app/oracle/product ...

  3. oracle单机开机自启动

    ====================== 单机数据库开机自启动  ============================= 环境: oracle数据库单机 版本:11.2.0.4 1.修改配置文 ...

  4. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  5. oracle数据库的安装、配置与无残留卸载

    安装配置   :关闭专用网络防火墙 2 :以管理员身份运行安装文件 ——“setup.exe” 3 :设置口令    其中SYS 用户权限大于 SYSTEM 4 :先决条件检查,若验证成功,点击 ”下 ...

  6. 二、oracle数据库成功安装步骤 配置监听器

      Oracle数据库使用监听器来接收客户端的连接请求,要使客户端能连接Oracle数据库,必须配置监听程序. 在安装Oracle数据库时,如果选择的是"创建和配置数据库",则安装 ...

  7. Oracle 数据库备份和恢复配置

    可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...

  8. oracle服务开机自启动

    1.修改oracle系统配置文件::/etc/oratab vi /etc/oratab orcl:/opt/oracle/product/10.2.0/db_1:Y 2.在 /etc/init.d/ ...

  9. oracle数据库静态监听配置示例

    [oracle@Oracle11g admin]$ cat listener.ora SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =     (GLOB ...

随机推荐

  1. Mysql SQL Mode简介

    MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式.这样,应用程序就能对服务器操作进行量身定制以满足自己的需求.这类模式定义了MySQL应支持的SQL语法,以及 ...

  2. VI.应用-Trajectory Data Mining

    $textbf{Trajectory Data Mining: An Overview}$ 很好的一篇概述,清晰明了地阐述了其框架,涉及内容又十分宽泛.值得细读. 未完成,需要补充. $textbf{ ...

  3. flutter 入门(Mac)

    背景 近一年时间都在用 React Native 开发公司的 APP,水平基本上可以说是登堂入室了.前一段时间兴起一阵 Flutter 热,后端的同事都有推荐,今年 Google 大会又推出 flut ...

  4. dubbo与trivial超时机制的深入思考

    说在前面 trivial是根据之前设计的RPC框架而来的(还在增进当中),其中较为不同的一个点为,在客户端去掉了业务线程池,因为既然都要等待,不必要再加一层. 进入正题 有在网上看到这样的信息,“之前 ...

  5. 挖SRC逻辑漏洞心得分享

    文章来源i春秋 白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的. 本文多处引用了 YSRC 的 公(qi)开(yin)漏(ji)洞(qiao).挖SRC思路一定要广!!!!漏洞不会仅限于SQL ...

  6. git上传命令步骤

    1.登陆github后,进入Github首页,点击New repository新建一个项目 2. 填写相应信息后点击create repository即可 Repository name: 仓库名称( ...

  7. 2020年,如何成为一名 iOS 开发高手!

    2020年对应程序员来说,是一个多灾的年份,很多公司都进行了不同比例的优化和裁员.等疫情得到控制后,将会是找工作的高峰期,从去年的面试经历来看,现在只会单纯写业务代码的人找工作特别难,很多大厂的面试官 ...

  8. java 构造器(构造方法)使用详细说明

    知识点 什么是构造器 构造器通常也叫构造方法.构造函数,构造器在每个项目中几乎无处不在.当你new一个对象时,就会调用构造器.构造器格式如下: [修饰符,比如public] 类名 (参数列表,可以没有 ...

  9. python3 flask shell

    python shell来操作flask flask shell 报错: from flask_bootstrap import BootstrapImportError: No module nam ...

  10. RestTemplate 负载均衡原理

    RestTemplate 是通过拦截器改变请求的URI的方式来指定服务器的,此处将通过一个自定义LoadBalanced的方式来进行说明 1.导入jar包 <parent> <gro ...