Ubuntu配置Oracle数据库网络步骤
确保Ubuntu系统具备稳定的网络连接,是Oracle数据库网络通信的基础。
ip addr show
命令确认网络接口名称(如ens33
、eth0
,通常为ens
开头)。/etc/netplan/50-cloud-init.yaml
),添加以下内容(根据实际网络调整):network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24] # 静态IP地址
gateway4: 192.168.1.1 # 网关
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNS服务器
保存后应用配置:sudo netplan apply
。ping www.baidu.com
验证网络是否正常。Oracle Instant Client是客户端连接数据库的核心组件,需先下载并配置。
instantclient-basic-linux.x64-21.1.0.0.0.zip
、instantclient-sqlplus-linux.x64-21.1.0.0.0.zip
)。/opt/oracle
目录(需管理员权限):sudo unzip instantclient-basic-linux.x64-21.1.0.0.0.zip -d /opt/oracle/
sudo mv /opt/oracle/instantclient_21_1 /opt/oracle/instantclient
~/.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 ~/.bashrc
。Oracle网络通信依赖三个关键文件(均位于$TNS_ADMIN
目录,即/opt/oracle/instantclient/network/admin
),需逐一配置:
监听器负责接收客户端连接请求,若需允许远程连接,需配置此文件。
sudo nano /opt/oracle/instantclient/network/admin/listener.ora
,添加以下内容(替换HOST
为服务器IP或域名):LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) # 监听端口默认1521
)
)
若Oracle Database服务已启动,监听器会自动注册实例信息(动态注册);若未启动,需手动启动监听器:lsnrctl start
。用于定义数据库连接的简化别名,客户端通过别名即可连接数据库。
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) # 数据库服务名(需与数据库配置一致)
)
}
保存后,可通过tnsping ORCL
命令测试配置是否正确(显示“OK”则表示成功)。用于配置连接的安全策略和名称解析方式。
sudo nano /opt/oracle/instantclient/network/admin/sqlnet.ora
,添加以下内容(可根据需求调整):SQLNET.AUTHENTICATION_SERVICES = (NONE) # 禁用操作系统认证(增强安全性)
NAMES.DIRECTORY_PATH = (TNSNAMES, EZCONNECT) # 解析顺序:先查tnsnames.ora,再试Easy Connect
# 若需限制访问IP,取消以下注释并修改(允许192.168.1.0/24网段访问)
# TCP.INVITED_NODES = (192.168.1.0/24)
# TCP.VALIDNODE_CHECKING = YES
此配置确保客户端只能通过tnsnames.ora
或EZCONNECT
(如username/password@host:port/service_name
)方式连接。完成上述配置后,使用sqlplus
命令测试连接:
sqlplus username/password@ORCL
sudo ufw allow 1521
)或网络连通性。chmod -R 755 /opt/oracle/instantclient
)。ORACLE_HOME
、TNS_ADMIN
等环境变量需与实际路径一致,避免连接失败。local_listener
参数设置为监听器地址(如ALTER SYSTEM SET local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))';
)。