ubuntu

ubuntu lsnrctl安装步骤是什么

小樊
38
2025-09-28 03:18:48
栏目: 智能运维

前提条件

1. 安装Oracle Instant Client依赖

lsnrctl通常包含在Oracle Instant Client中,需先安装对应版本的Instant Client(以19.8为例):

2. 创建监听器配置文件

$ORACLE_HOME/network/admin目录下创建listener.ora(若目录不存在则手动创建),配置监听器地址和端口:

sudo mkdir -p $ORACLE_HOME/network/admin  
sudo nano $ORACLE_HOME/network/admin/listener.ora  

示例内容(替换your_host_name为实际主机名):

LISTENER =  
  (DESCRIPTION_LIST =  
    (DESCRIPTION =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))  
    )  
  )  
SID_LIST_LISTENER =  
  (SID_LIST =  
    (SID_DESC =  
      (SID_NAME = your_sid)  # 替换为实际数据库SID  
      (ORACLE_HOME = $ORACLE_HOME)  
    )  
  )  
```。  


### **3. 创建tnsnames.ora文件(可选但推荐)**  
用于定义数据库服务名,方便客户端连接,在`$ORACLE_HOME/network/admin`目录下创建:  
```bash
sudo nano $ORACLE_HOME/network/admin/tnsnames.ora  

示例内容(替换your_service_nameyour_host_name):

YOUR_SERVICE_NAME =  
  (DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))  
    (CONNECT_DATA =  
      (SERVER = DEDICATED)  
      (SERVICE_NAME = your_service_name)  
    )  
  )  
```。  


### **4. 创建systemd服务脚本(推荐方式)**  
为方便管理监听器服务,创建systemd单元文件:  
```bash
sudo nano /etc/systemd/system/oracle-listener.service  

示例内容(替换oracle为Oracle用户、oinstall为用户组):

[Unit]  
Description=Oracle Listener Service  
After=network.target  

[Service]  
Type=forking  
ExecStart=$ORACLE_HOME/bin/lsnrctl start  
ExecStop=$ORACLE_HOME/bin/lsnrctl stop  
ExecReload=$ORACLE_HOME/bin/lsnrctl reload  
User=oracle  
Group=oinstall  
Restart=on-failure  

[Install]  
WantedBy=multi-user.target  
```。  


### **5. 加载并启动监听器服务**  
- 重新加载systemd配置:`sudo systemctl daemon-reload`;  
- 启动监听器服务:`sudo systemctl start oracle-listener`;  
- 设置开机自启:`sudo systemctl enable oracle-listener`;  
- 检查服务状态(确认运行正常):`sudo systemctl status oracle-listener`。  


### **6. 验证lsnrctl功能**  
直接运行命令查看监听器状态(应显示“RUNNING”状态):  
```bash
lsnrctl status  

若状态正常,说明lsnrctl已成功安装并运行。

注意事项

0
看了该问题的人还看了