在Debian系统中,lsnrctl 是 Oracle 数据库监听器的控制工具。以下是配置 lsnrctl 服务的步骤:
首先,确保你已经安装了Oracle数据库软件。你可以从Oracle官方网站下载并安装适合你系统的版本。
监听器配置文件通常位于 $ORACLE_HOME/network/admin/listener.ora。你需要编辑这个文件来配置监听器。
sudo nano $ORACLE_HOME/network/admin/listener.ora
示例配置:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = your_sid)
(ORACLE_HOME = /path/to/your/oracle/home)
)
)
使用 lsnrctl 命令启动监听器。
sudo lsnrctl start
为了确保系统重启后监听器自动启动,你可以创建一个 systemd 服务文件。
sudo nano /etc/systemd/system/oracle-listener.service
添加以下内容:
[Unit]
Description=Oracle Listener Service
After=network.target
[Service]
Type=forking
ExecStart=/path/to/your/oracle/home/bin/lsnrctl start
ExecStop=/path/to/your/oracle/home/bin/lsnrctl stop
User=oracle
Group=oinstall
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable oracle-listener
sudo systemctl start oracle-listener
使用 lsnrctl status 命令检查监听器的状态。
sudo lsnrctl status
确保你的防火墙允许通过监听器使用的端口(默认是1521)。
sudo ufw allow 1521/tcp
sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
最后,测试是否可以从其他机器连接到你的Oracle数据库。
sqlplus username/password@your_host_name:1521/your_sid
通过以上步骤,你应该能够在Debian系统上成功配置和运行 lsnrctl 服务。