• Oracle数据库开机自启动的配置


    如果服务器断电重启或计划内重启,在服务器的操作系统启动后,需要手工启动数据库实例和监听,本文介绍如何把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)

    作者:码农有道

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

  • 相关阅读:
    HTML和CSS
    springcloud中配置多数据源
    洛谷 P3800 Power收集(单调队列优化dp)
    洛谷 P2569 [SCOI2010]股票交易(单调队列优化dp)
    洛谷 P3957 [NOIP2017 普及组] 跳房子(二分,单调队列优化dp)
    洛谷 P1419 寻找段落(01分数规划,实数二分,单调队列)
    Prometheus(普罗米修斯)和grafana监控的安装和使用
    AMC如何管理NPL
    linux 正则表达式与字符处理
    react-router-dom switch & match
  • 原文地址:https://www.cnblogs.com/wucongzhou/p/12612951.html
Copyright © 2020-2023  润新知