ubuntu

Ubuntu中如何设置lsnrctl开机自启

小樊
49
2025-09-03 09:31:20
栏目: 智能运维

在 Ubuntu 系统中,lsnrctl 是 Oracle 数据库的监听器控制工具。要使其在开机时自动启动,可以将其添加到系统的启动脚本中。以下是具体步骤:

  1. 创建一个 systemd 服务文件: 首先,创建一个新的 systemd 服务文件来管理 lsnrctl 的启动。

    sudo nano /etc/systemd/system/oracle-lsnrctl.service
    
  2. 编辑服务文件: 在打开的文件中,添加以下内容:

    [Unit]
    Description=Oracle Listener Control
    After=network.target
    
    [Service]
    Type=simple
    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 的实际路径。通常情况下,lsnrctl 位于 Oracle 安装目录的 bin 目录下,例如 /u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl

    同时,将 UserGroup 替换为运行 Oracle 数据库服务的用户和组。

  3. 重新加载 systemd 配置: 保存并关闭文件后,重新加载 systemd 配置以使新服务生效。

    sudo systemctl daemon-reload
    
  4. 启用服务: 启用新创建的服务,使其在开机时自动启动。

    sudo systemctl enable oracle-lsnrctl.service
    
  5. 启动服务: 立即启动服务以测试配置是否正确。

    sudo systemctl start oracle-lsnrctl.service
    
  6. 检查服务状态: 检查服务的状态以确保其正在运行。

    sudo systemctl status oracle-lsnrctl.service
    

通过以上步骤,lsnrctl 将会在系统启动时自动运行。如果需要停止或重启服务,可以使用以下命令:

sudo systemctl stop oracle-lsnrctl.service
sudo systemctl restart oracle-lsnrctl.service

这样,您就可以确保 Oracle 数据库的监听器在系统启动时自动启动。

0
看了该问题的人还看了