温馨提示×

linux oracle配置怎样连接

小樊
41
2026-10-25 00:36:21
栏目: 云计算

下面按常见场景给你讲一下 Linux 下 Oracle 数据库的连接配置方法,从“本机连接”到“远程客户端连接”都覆盖。


一、Linux 本机连接 Oracle(最基础)

1. 确认 Oracle 已启动

ps -ef | grep ora_

或

lsnrctl status

2. 设置环境变量

export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

3. 使用 sqlplus 连接

sqlplus / as sysdba

或普通用户:

sqlplus user/password@orcl

二、监听配置(远程连接关键)

1. 监听文件位置

$ORACLE_HOME/network/admin/listener.ora

示例:

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

启动监听:

lsnrctl start

三、tnsnames.ora 配置(客户端连接)

文件位置:

$ORACLE_HOME/network/admin/tnsnames.ora

示例:

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

连接:

sqlplus user/password@ORCL

四、远程客户端连接(Windows / Linux)

方式 1:Instant Client

  1. 下载 Oracle Instant Client
  2. 配置:
export LD_LIBRARY_PATH=/opt/oracle/instantclient
export TNS_ADMIN=/opt/oracle/instantclient
  1. 使用 tnsnames.ora 或直连:
sqlplus user/password@//192.168.1.100:1521/orcl

五、常见问题排查

1. ORA-12541: TNS:no listener

  • 监听未启动
lsnrctl start

2. ORA-12170: TNS:connect timeout

  • 防火墙未放行 1521
firewall-cmd --add-port=1521/tcp --permanent
firewall-cmd --reload

3. ORA-12514

  • SERVICE_NAME 不对
select name from v$database;

六、简化连接(推荐)

sqlplus user/password@//ip:port/service_name

不需要 tnsnames.ora


如果你能告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是否本机 or 远程
  • Linux 发行版(CentOS / Ubuntu)

我可以给你更精确的配置示例。

0 踩