编辑网络接口文件(/etc/network/interfaces
),添加静态IP配置(以eth0
为例,需替换为实际网卡名):
auto eth0
iface eth0 inet static
address 192.168.1.100 # 替换为实际IP
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 网关
dns-nameservers 8.8.8.8 8.8.4.4 # DNS服务器
保存后重启网络服务:
sudo systemctl restart networking
验证连通性:
ping www.google.com # 测试外网连通性
编辑/etc/resolv.conf
文件,添加公共DNS服务器(可选,若已在interfaces
中配置则无需重复):
nameserver 8.8.8.8
nameserver 8.8.4.4
保存后刷新DNS缓存:
sudo systemd-resolve --flush-caches
监听器负责接收客户端连接请求,配置文件位于$ORACLE_HOME/network/admin/listener.ora
(需替换为实际ORACLE_HOME
路径)。示例配置:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521)) # HOST用实际主机名或IP
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = your_sid) # 替换为数据库SID
(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) # 替换为实际ORACLE_HOME
)
)
启动监听器并设置开机自启:
lsnrctl start # 启动监听器
lsnrctl status # 检查状态
echo "oracle_listener" >> /etc/rc.local # 开机自启(需赋予rc.local执行权限)
sudo chmod +x /etc/rc.local
网络服务名用于客户端连接数据库,配置文件位于$ORACLE_HOME/network/admin/tnsnames.ora
。示例配置:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521)) # 与监听器HOST一致
(CONNECT_DATA =
(SERVER = DEDICATED) # 连接模式(DEDICATED为专用服务器)
(SID = your_sid) # 与监听器SID一致
)
)
验证TNS解析:
tnsping ORCL # 测试服务名解析是否正常
编辑Oracle用户(如oracle
)的.bashrc
文件,添加以下内容:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # 替换为实际ORACLE_HOME
export ORACLE_SID=your_sid # 替换为数据库SID
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib/x86_64-linux-gnu
export TNS_ADMIN=$ORACLE_HOME/network/admin # TNS配置文件路径
使配置生效:
source /home/oracle/.bashrc
若需在Debian上运行Oracle客户端工具(如sqlplus
),需安装Instant Client:
# 下载Instant Client RPM包(从Oracle官网)
wget https://download.oracle.com/otn_software/linux/instantclient/instantclient-basic-linux.x64-19.8.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-19.8.0.0.0dbru.zip -d /opt/oracle
# 创建符号链接
sudo ln -s /opt/oracle/instantclient_19_8 /usr/lib/oracle/19.8/client64
# 设置环境变量(参考上文)
安装依赖(解决兼容性问题):
sudo apt-get install libaio1 libaio-dev
ping your_database_host
(替换为数据库服务器IP或主机名)。telnet your_database_host 1521
(若未安装telnet,用sudo apt-get install telnet
安装)。lsnrctl status
(查看监听器是否运行及注册的SID)。tnsping ORCL
(查看服务名是否能正确解析到监听器)。tail -f $ORACLE_HOME/network/log/listener.log
(定位连接失败原因)。sqlplus username/password@ORCL
(用客户端工具连接数据库)。sudo ufw allow 1521/tcp
/etc/hosts
文件中包含主机名与IP的映射。lsnrctl restart
)使更改生效。