Debian系统中sqlplus的网络配置
导读:Debian系统中sqlplus网络配置指南 一、前置准备:安装Oracle Instant Client sqlplus是Oracle数据库的命令行工具,需先安装Oracle Instant Client(轻量级客户端)。以19.8.0....
Debian系统中sqlplus网络配置指南
一、前置准备:安装Oracle Instant Client
sqlplus是Oracle数据库的命令行工具,需先安装Oracle Instant Client(轻量级客户端)。以19.8.0.0.0版本为例,操作步骤如下:
- 下载Oracle Instant Client安装包(basic、devel、sqlplus等组件):
wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linux.x64-19.8.0.0.0dbru.zip wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-sqlplus-linux.x64-19.8.0.0.0dbru.zip - 解压安装包至目标目录(如
/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 - 创建符号链接(简化路径):
sudo ln -s /opt/oracle/instantclient_19_8 /opt/oracle/instantclient
二、配置环境变量
需设置ORACLE_HOME、LD_LIBRARY_PATH、PATH和TNS_ADMIN,确保系统能定位Oracle客户端库和配置文件。
- 编辑全局环境变量文件(如
/etc/profile)或用户级文件(如~/.bashrc),添加以下内容:export ORACLE_HOME=/opt/oracle/instantclient export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME:$PATH export TNS_ADMIN=$ORACLE_HOME/network/admin # tnsnames.ora文件所在目录 - 使配置生效:
source /etc/profile # 或 source ~/.bashrc
三、配置网络接口(Debian系统网络)
确保Debian系统自身网络连通,可通过静态IP或DHCP配置。以静态IP为例:
- 编辑网络接口配置文件(如
/etc/network/interfaces):sudo nano /etc/network/interfaces - 添加静态IP配置(根据实际网络环境调整):
auto eth0 iface eth0 inet static address 192.168.1.100 # 本机IP netmask 255.255.255.0 # 子网掩码 gateway 192.168.1.1 # 网关 - 重启网络服务:
sudo systemctl restart networking
四、配置Oracle监听器(数据库服务器端)
监听器负责接收客户端连接请求,需在数据库服务器上配置:
- 使用
lsnrctl工具启动监听器配置向导:lsnrctl - 在交互界面中依次执行:
CONFIGURE LISTENER:创建新监听器(默认名称为LISTENER);- 选择协议(TCP);
- 设置主机名(
localhost或本机IP,如192.168.1.100); - 设置端口(默认
1521)。
- 保存配置并启动监听器:
lsnrctl save_config # 保存配置至listener.ora文件 lsnrctl start # 启动监听器 - 验证监听器状态:
输出应显示监听器正在运行,且注册了数据库服务(如lsnrctl statusORCL)。
五、配置TNS服务名(客户端连接配置)
tnsnames.ora文件定义了数据库连接的别名(服务名),需在客户端配置:
- 编辑
tnsnames.ora文件(路径为$TNS_ADMIN,即/opt/oracle/instantclient/network/admin):sudo nano /opt/oracle/instantclient/network/admin/tnsnames.ora - 添加数据库连接配置(根据实际情况修改
HOST、PORT、SERVICE_NAME):ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) # 数据库服务名(可通过lsnrctl status查看) ) )
六、验证sqlplus网络连接
- 测试网络连通性(确保客户端能访问服务器):
ping 192.168.1.100 - 使用sqlplus连接数据库(两种方式):
- 方式1:通过服务名连接(需配置
tnsnames.ora):sqlplus username/password@ORCL - 方式2:直接指定连接信息(无需
tnsnames.ora):sqlplus username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))
- 方式1:通过服务名连接(需配置
七、常见问题排查
-
ORA-12154:无法解析连接标识符
- 原因:
tnsnames.ora文件不存在或服务名配置错误。 - 解决:检查
$TNS_ADMIN路径下的tnsnames.ora文件,确认服务名(如ORCL)的HOST、PORT、SERVICE_NAME是否正确。
- 原因:
-
ORA-12541:无监听器
- 原因:监听器未启动或端口被占用。
- 解决:执行
lsnrctl start启动监听器,检查netstat -tulnp | grep 1521确认端口未被其他进程占用。
-
ORA-12545:连接超时
- 原因:网络不通或防火墙阻止。
- 解决:使用
ping测试网络连通性,检查防火墙规则(如ufw或iptables),开放1521端口:sudo ufw allow 1521/tcp
-
ORA-01017:无效用户名/密码
- 原因:用户名或密码错误,或用户无远程登录权限。
- 解决:确认密码正确,联系DBA授予远程登录权限(如
GRANT CREATE SESSION TO username;)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统中sqlplus的网络配置
本文地址: https://pptw.com/jishu/736677.html
