温馨提示×

如何连接linux oracle

小樊
62
2026-10-01 12:37:18
栏目: 云计算

连接 Linux 上的 Oracle 数据库,通常分为本地连接和远程连接两种场景。下面按常见方式一步步说明。


一、前置条件检查

在 Linux 服务器上先确认:

  1. Oracle 是否已安装并运行
ps -ef | grep pmon

能看到 ora_pmon_xxx 说明实例已启动。

  1. 监听是否正常
lsnrctl status
  1. 环境变量(非常重要)
echo $ORACLE_HOME
echo $ORACLE_SID

若为空,需先设置:

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

二、本地连接(在 Linux 服务器上)

1️⃣ 使用 sqlplus 连接

sqlplus / as sysdba

或指定用户:

sqlplus username/password

2️⃣ 使用服务名连接

sqlplus username/password@//localhost:1521/orcl

三、远程连接(从 Windows / 其他机器)

方式一:sqlplus 远程连接

sqlplus user/pass@//ip:1521/service_name

方式二:配置 tnsnames.ora

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

然后:

sqlplus user/pass@ORCL

四、使用图形化工具连接

常用工具:

  • PL/SQL Developer
  • DBeaver
  • Navicat
  • Oracle SQL Developer

连接参数:

  • Host:Linux IP
  • Port:1521
  • SID / Service Name
  • Username / Password

五、常见问题排查

❌ ORA-12541: TNS:no listener

监听未启动:

lsnrctl start

❌ ORA-12170: TNS:connect timeout

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

❌ ORA-01017: invalid username/password

用户名或密码错误,或大小写问题。


六、示例(完整流程)

# 设置环境变量
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH

# 启动监听
lsnrctl start

# 连接数据库
sqlplus system/oracle@//192.168.1.10:1521/orcl

如果你能告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是本地还是远程
  • 使用的工具(sqlplus / PLSQL / Java 等)

我可以给你更精确的连接示例。

0 踩