linux

Linux lsnrctl如何设置自动启动

小樊
41
2025-05-30 13:33:01
栏目: 智能运维

在Linux系统中,要使Oracle的lsnrctl(监听器控制工具)自动启动,通常需要将其集成到系统的服务管理中。以下是在不同Linux发行版上设置lsnrctl自动启动的方法:

对于使用Systemd的系统(如CentOS 7/8, Ubuntu 16.04+)

  1. 创建一个Systemd服务文件: 在/etc/systemd/system/目录下创建一个新的服务文件,例如oracle-listener.service

    sudo nano /etc/systemd/system/oracle-listener.service
    
  2. 编辑服务文件: 在文件中添加以下内容,根据实际情况调整路径和用户。

    [Unit]
    Description=Oracle Listener Service
    After=network.target
    
    [Service]
    Type=forking
    User=oracle
    Group=oinstall
    ExecStart=/path/to/lsnrctl start
    ExecStop=/path/to/lsnrctl stop
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    • UserGroup应设置为运行Oracle数据库的用户和组。
    • ExecStartExecStop应指向lsnrctl的实际路径。
  3. 重新加载Systemd配置: 保存并关闭文件后,运行以下命令以重新加载Systemd配置。

    sudo systemctl daemon-reload
    
  4. 启用服务: 使用以下命令启用服务,使其在系统启动时自动启动。

    sudo systemctl enable oracle-listener.service
    
  5. 启动服务: 如果需要立即启动服务,可以运行以下命令。

    sudo systemctl start oracle-listener.service
    
  6. 检查服务状态: 使用以下命令检查服务的状态。

    sudo systemctl status oracle-listener.service
    

对于使用SysVinit的系统(如CentOS 6)

  1. 创建一个启动脚本: 在/etc/init.d/目录下创建一个新的启动脚本,例如oracle-listener

    sudo nano /etc/init.d/oracle-listener
    
  2. 编辑启动脚本: 在文件中添加以下内容,根据实际情况调整路径和用户。

    #!/bin/bash
    #
    # oracle-listener  Startup script for the Oracle Listener
    #
    # chkconfig: 345 99 10
    # description: Oracle Listener Service
    # processname: oracle-listener
    
    ORACLE_HOME=/path/to/oracle/home
    LSNRCTL=$ORACLE_HOME/bin/lsnrctl
    USER=oracle
    GROUP=oinstall
    
    case "$1" in
        start)
            su - $USER -c "$LSNRCTL start"
            ;;
        stop)
            su - $USER -c "$LSNRCTL stop"
            ;;
        restart)
            su - $USER -c "$LSNRCTL stop"
            su - $USER -c "$LSNRCTL start"
            ;;
        status)
            su - $USER -c "$LSNRCTL status"
            ;;
        *)
            echo "Usage: $0 {start|stop|restart|status}"
            exit 1
            ;;
    esac
    
    exit 0
    
  3. 设置脚本权限: 确保脚本具有可执行权限。

    sudo chmod +x /etc/init.d/oracle-listener
    
  4. 将脚本添加到启动服务: 使用以下命令将脚本添加到启动服务。

    sudo chkconfig --add oracle-listener
    
  5. 启用服务: 使用以下命令启用服务,使其在系统启动时自动启动。

    sudo chkconfig oracle-listener on
    
  6. 启动服务: 如果需要立即启动服务,可以运行以下命令。

    sudo service oracle-listener start
    
  7. 检查服务状态: 使用以下命令检查服务的状态。

    sudo service oracle-listener status
    

通过以上步骤,您可以在Linux系统上设置lsnrctl自动启动。请根据您的具体需求和系统环境进行调整。

0
看了该问题的人还看了