Linux下的Oracle启动脚本及其开机自启动

在Linux下,Oracle启动脚本是通过init.d脚本实现的,通过配置开机自启动,可以在服务器启动时自动启动Oracle数据库。

编写Oracle启动脚本

  1. 在/etc/init.d/目录下创建名为oracle的脚本文件:

    sudo vi /etc/init.d/oracle

  2. 在文件中输入以下脚本:

    ```

    !/bin/bash

    oracle: Start Oracle listener and instances

    chkconfig: 345 99 10

    description: This script starts the Oracle listener and instances.

    Source function library.

    . /etc/rc.d/init.d/functions

    ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_HOME PATH

    case "$1" in
    start)
    echo -n "Starting Oracle listener: "
    lsnrctl start
    echo "OK"
    echo -n "Starting Oracle instances: "
    # Start the Oracle database instances
    dbstart $ORACLE_HOME
    echo "OK"
    ;;
    stop)
    echo -n "Stopping Oracle instances: "
    # Stop the Oracle database instances
    dbshut $ORACLE_HOME
    echo "OK"
    echo -n "Stopping Oracle listener: "
    lsnrctl stop
    echo "OK"
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
    esac

    exit 0
    ```

    该脚本指定了Oracle_HOME路径,并定义了start、stop、restart三个命令,根据需要使用相应的命令即可启动、停止、重启Oracle服务。

配置开机自启动

  1. 将oracle脚本赋予可执行权限:

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

  2. 添加启动项,在/etc/rc.d/rc.local文档倒数第二行加上如下命令:

    /etc/init.d/oracle start

以CentOS 7为例,使用systemctl实现Oracle自启动的命令如下:

sudo systemctl enable oracle

详细的实现方式:

  1. 在/etc/systemd/system目录下创建名称为oracle.service的文件:

    sudo vi /etc/systemd/system/oracle.service

  2. 位于文件中输入以下值:

    ```
    [Unit]
    Description=Oracle Database

    [Service]
    Type=forking
    LimitMEMLOCK=infinity
    LimitNOFILE=65535
    User=oracle
    Group=oinstall

    Environment=ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    Environment=PATH=$PATH:$ORACLE_HOME/bin
    Environment=LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    Restart=always

    ExecStart=/etc/init.d/oracle start
    ExecStop=/etc/init.d/oracle stop
    ExecReload=/etc/init.d/oracle restart

    [Install]
    WantedBy=multi-user.target
    ```

  3. 然后启用这个文件并重启服务:

    sudo systemctl daemon-reload
    sudo systemctl start oracle
    sudo systemctl enable oracle

以上两种方法都可以完成Oracle的启动和开机自启动。

示例:

  1. 启动Oracle

    /etc/init.d/oracle start

  2. 停止Oracle

    /etc/init.d/oracle stop

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux下的Oracle启动脚本及其开机自启动 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL 的自增 ID 用完了,怎么办?

      一、简述  在 MySQL 中用很多类型的自增 ID,每个自增 ID 都设置了初始值。一般情况下初始值都是从 0 开始,然后按照一定的步长增加。在 MySQL 中只要定义了这个数的字节长度,那么就会有上限。   二、试验 数据表定义的自增 ID,如果达到上限之后。 再申请下一个 ID 的时候,获得到的值将保持不变。 我们可以通过下面这个例子来验证一下: …

    MySQL 2023年4月13日
    00
  • MySQL索引失效原因以及SQL查询语句不走索引原因详解

    下面是有关MySQL索引失效原因以及SQL查询语句不走索引原因的详细讲解。 MySQL索引失效原因 在MySQL中,索引是提高查询速度的一种重要方式,但是有时候我们会发现索引并没有发挥应有的作用,导致查询速度变慢。这是由于索引失效导致的,下面我们来看看MySQL索引失效的原因。 1. 对索引列进行计算操作 MySQL只有在索引列上执行索引操作才能使用索引,如…

    database 2023年5月22日
    00
  • 通过T-SQL语句实现数据库备份与还原的代码

    以下是通过 T-SQL 语句实现数据库备份与还原的完整攻略: 1. 数据库备份 1.1. 语法 BACKUP DATABASE database_name TO disk = ‘file_path_and_name’ [WITH options]; 其中,database_name 是要备份的数据库名称,file_path_and_name 是备份文件的保存…

    database 2023年5月21日
    00
  • 解决mybatis返回boolean值时数据库返回null的问题

    当 Mybatis 在执行结果映射时,如果数据库返回的数据为 null,则默认会将 boolean 类型的值转换为 false。这会导致在查询某些特定的 boolean 类型属性时出现问题。因此,我们需要通过以下两种方法来解决这个问题: 方法一:使用 Boolean 包装类型 使用包装类 Boolean 代替基本类型 boolean 对该问题的处理起到了奇效…

    database 2023年5月18日
    00
  • SQLServer2000 报1053错误(服务没有及时响应或控制请求)的解决方法

    下面是详细讲解SQLServer2000报1053错误的解决方法。 问题描述 当你尝试通过Windows服务管理器启动SQLServer服务时,可能会遇到1053错误,错误信息如下: 启动服务时出错:1053 服务没有及时响应或控制请求 解决方法 方法一:修改注册表 步骤: 打开注册表编辑器,找到以下路径:HKEY_LOCAL_MACHINE\SYSTEM\…

    database 2023年5月21日
    00
  • Spring Boot整合 NoSQL 数据库 Redis详解

    下面我会给您讲解一下“Spring Boot整合 NoSQL 数据库 Redis”的完整攻略。 简介 Redis是一个基于内存的高性能key-value数据库,支持多种数据类型,可应用于缓存、消息队列、实时统计等场景。在Spring Boot应用中,我们可以很方便地集成Redis来实现快速高效的数据存取。 环境配置 要使用Redis,首先需要在本地安装Red…

    database 2023年5月22日
    00
  • Mysql下自动删除指定时间以前的记录的操作方法

    Mysql下自动删除指定时间以前的记录,可以通过以下步骤实现: 1. 创建一个定时任务 我们可以使用linux中的crontab命令来创建定时任务,用来定期执行删除操作。具体命令格式如下: crontab -e 这个命令会打开一个文本编辑器,我们需要在其中添加定时任务。例如,如果我们需要每天凌晨3点执行删除操作,那么可以添加如下一行: 0 3 * * * /…

    database 2023年5月21日
    00
  • 一文了解MySQL中的多版本并发控制

    最近在阅读《认知觉醒》这本书,里面有句话非常打动我:通过自己的语言,用最简单的话把一件事情讲清楚,最好让外行人也能听懂。希望借助今天这篇文章,能用大白话说清楚这个相对比较底层和复杂的MVCC机制 作者:京东零售  李泽阳 最近在阅读《认知觉醒》这本书,里面有句话非常打动我:通过自己的语言,用最简单的话把一件事情讲清楚,最好让外行人也能听懂。 也许这就是大道至…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部