ubuntu lsnrctl安装步骤是什么
导读:前提条件 已在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_name
和your_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
目录及配置文件有读写权限(可通过chown
和chmod
调整); - 若使用传统init脚本(如
/etc/init.d/oracle-lsnrctl
),需额外创建并设置权限(参考旧版Ubuntu的SysVinit方式); - 配置文件中的
HOST
需与服务器实际IP或域名一致,避免客户端连接失败。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lsnrctl安装步骤是什么
本文地址: https://pptw.com/jishu/718142.html