温馨提示×

lsnrctl如何设置自动启动

小樊
54
2025-08-12 02:21:46
栏目: 编程语言

lsnrctl 是 Oracle 数据库的监听器控制工具,用于管理数据库监听器的启动、停止和状态检查。要设置 lsnrctl 自动启动,通常需要将其配置为系统服务,这样它就可以在操作系统启动时自动运行。以下是在不同操作系统中设置 lsnrctl 自动启动的方法:

在 Linux 上设置自动启动

使用 systemd(适用于大多数现代 Linux 发行版)

  1. 创建一个新的 systemd 服务文件:

    sudo nano /etc/systemd/system/oracle-listener.service
    
  2. 在文件中添加以下内容:

    [Unit]
    Description=Oracle Listener Service
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/path/to/lsnrctl start
    ExecStop=/path/to/lsnrctl stop
    User=oracle
    Group=oracle
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    请将 /path/to/lsnrctl 替换为 lsnrctl 的实际路径,通常在 Oracle 安装目录的 bin 文件夹中,例如 /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl

  3. 保存并关闭文件。

  4. 重新加载 systemd 配置:

    sudo systemctl daemon-reload
    
  5. 启用服务以在启动时自动运行:

    sudo systemctl enable oracle-listener.service
    
  6. 启动服务:

    sudo systemctl start oracle-listener.service
    

使用 init.d(适用于较旧的 Linux 发行版)

  1. 创建一个新的 init 脚本:

    sudo nano /etc/init.d/oracle-listener
    
  2. 在文件中添加以下内容:

    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          oracle-listener
    # Required-Start:    $network $local_fs
    # Required-Stop:
    # Default-Start:     2 3 4 5
    # Default-Stop:
    # Short-Description: Start Oracle listener at boot time
    ### END INIT INFO
    
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    PATH=$PATH:$ORACLE_HOME/bin
    USER=oracle
    
    case "$1" in
        start)
            su - $USER -c "$ORACLE_HOME/bin/lsnrctl start"
            ;;
        stop)
            su - $USER -c "$ORACLE_HOME/bin/lsnrctl stop"
            ;;
        status)
            su - $USER -c "$ORACLE_HOME/bin/lsnrctl status"
            ;;
        *)
            echo "Usage: /etc/init.d/oracle-listener {start|stop|status}"
            exit 1
            ;;
    esac
    
    exit 0
    
  3. 保存并关闭文件。

  4. 赋予脚本执行权限:

    sudo chmod +x /etc/init.d/oracle-listener
    
  5. 将脚本添加到启动序列:

    sudo update-rc.d oracle-listener defaults
    
  6. 启动服务:

    sudo service oracle-listener start
    

在 Windows 上设置自动启动

在 Windows 上,可以通过创建一个计划任务来设置 lsnrctl 自动启动。

  1. 打开“任务计划程序”。
  2. 在右侧的操作栏中,选择“创建基本任务”。
  3. 输入任务的名称和描述,然后点击“下一步”。
  4. 选择“当计算机启动时”作为触发器,然后点击“下一步”。
  5. 选择“启动程序”作为操作,然后点击“下一步”。
  6. 在“程序/脚本”字段中,输入 lsnrctl 的完整路径,例如 C:\oracle\product\19.0.0\dbhome_1\bin\lsnrctl
  7. 点击“下一步”,然后完成向导。

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

0