温馨提示×

Linux lsnrctl如何设置自动启动

小樊
55
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