在 Ubuntu 系统中,lsnrctl 是 Oracle 数据库的监听器控制工具。要使其在开机时自动启动,可以将其添加到系统的启动脚本中。以下是具体步骤:
创建一个 systemd 服务文件:
首先,创建一个新的 systemd 服务文件来管理 lsnrctl 的启动。
sudo nano /etc/systemd/system/oracle-lsnrctl.service
编辑服务文件: 在打开的文件中,添加以下内容:
[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。
同时,将 User 和 Group 替换为运行 Oracle 数据库服务的用户和组。
重新加载 systemd 配置: 保存并关闭文件后,重新加载 systemd 配置以使新服务生效。
sudo systemctl daemon-reload
启用服务: 启用新创建的服务,使其在开机时自动启动。
sudo systemctl enable oracle-lsnrctl.service
启动服务: 立即启动服务以测试配置是否正确。
sudo systemctl start oracle-lsnrctl.service
检查服务状态: 检查服务的状态以确保其正在运行。
sudo systemctl status oracle-lsnrctl.service
通过以上步骤,lsnrctl 将会在系统启动时自动运行。如果需要停止或重启服务,可以使用以下命令:
sudo systemctl stop oracle-lsnrctl.service
sudo systemctl restart oracle-lsnrctl.service
这样,您就可以确保 Oracle 数据库的监听器在系统启动时自动启动。