首页主机资讯ubuntu lsnrctl安装步骤是什么

ubuntu lsnrctl安装步骤是什么

时间2025-10-03 04:58:05发布访客分类主机资讯浏览1147
导读:前提条件 已在Ubuntu系统上安装Oracle Database(lsnrctl是Oracle监听器的控制工具,需配合Oracle软件使用); 已配置Oracle基础环境变量(如ORACLE_HOME指向Oracle安装目录、ORACL...

前提条件

  • 已在Ubuntu系统上安装Oracle Database(lsnrctl是Oracle监听器的控制工具,需配合Oracle软件使用);
  • 已配置Oracle基础环境变量(如ORACLE_HOME指向Oracle安装目录、ORACLE_SID指定数据库实例名)。

1. 安装Oracle Instant Client依赖

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

  • 更新系统包列表:sudo apt update
  • 下载Oracle Instant Client包(从Oracle官网获取):
    wget https://download.oracle.com/otn_software/linux/instantclient/19800/instantclient-basic-linux.x64-19.8.0.0.0dbru.zip
    wget https://download.oracle.com/otn_software/linux/instantclient/19800/instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip
  • 解压至指定目录(如/opt/oracle):
    sudo mkdir -p /opt/oracle
    sudo unzip instantclient-basic-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle
    sudo unzip instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle
  • 配置环境变量(编辑~/.bashrc):
    export ORACLE_HOME=/opt/oracle/instantclient_19_8  
    export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH  
    export PATH=$ORACLE_HOME:$PATH  
    
  • 使环境变量生效:source ~/.bashrc

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已成功安装并运行。

注意事项

  • 确保Oracle用户(如oracle)对$ORACLE_HOME/network/admin目录及配置文件有读写权限(可通过chownchmod调整);
  • 若使用传统init脚本(如/etc/init.d/oracle-lsnrctl),需额外创建并设置权限(参考旧版Ubuntu的SysVinit方式);
  • 配置文件中的HOST需与服务器实际IP或域名一致,避免客户端连接失败。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu lsnrctl安装步骤是什么
本文地址: https://pptw.com/jishu/718142.html
ubuntu lsnrctl使用中常见错误及解决方法 Debian下cximage的最佳实践

游客 回复需填写必要信息