温馨提示×

linux oracle配置如何连接

小樊
41
2026-10-28 06:04:47
栏目: 云计算

下面按最常见的使用场景给你讲 Linux 下 Oracle 数据库的连接配置方式,从“客户端连接 Oracle”和“服务端基本配置”两个角度说明。


一、Linux 客户端连接 Oracle(最常用)

1️⃣ 确认 Oracle 客户端已安装

常见客户端:

  • Oracle Instant Client(推荐)
  • 完整 Oracle Client

查看是否安装:

which sqlplus

若没有,可安装 Instant Client:

yum install -y oracle-instantclient-basic oracle-instantclient-sqlplus

2️⃣ 配置环境变量

编辑 ~/.bash_profile 或 /etc/profile:

export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin

生效:

source ~/.bash_profile

3️⃣ 配置 tnsnames.ora(推荐方式)

路径示例:

$ORACLE_HOME/network/admin/tnsnames.ora

示例:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

连接:

sqlplus user/password@ORCL

4️⃣ 不使用 tnsnames(简易连接)

sqlplus user/password@//192.168.1.100:1521/orcl

二、Linux 上 Oracle 服务端配置(数据库已安装)

1️⃣ 监听配置(listener.ora)

路径:

$ORACLE_HOME/network/admin/listener.ora

示例:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

启动监听:

lsnrctl start

查看状态:

lsnrctl status

2️⃣ 数据库服务名确认

SELECT name FROM v$database;
SELECT value FROM v$parameter WHERE name='service_names';

3️⃣ 防火墙放行端口

firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload

三、常见问题排查

✅ ORA-12170 连接超时

  • IP/端口错误
  • 防火墙未放行
  • 监听未启动

✅ ORA-12514 监听找不到服务

  • SERVICE_NAME 错误
  • 数据库未注册到监听

✅ sqlplus: command not found

  • 环境变量未配置
  • 客户端未安装

四、总结一句话

Linux 连接 Oracle = 装客户端 + 配环境变量 + 配 tnsnames 或 IP:端口/服务名 + 监听正常 + 防火墙放行

如果你能告诉我:

  • 是 客户端还是服务端
  • Oracle 版本(11g / 19c / 21c)
  • 报错信息

我可以直接给你精确命令配置。

0 踩