如何使用 SQL 开发人员从另一台计算机访问安装在一台计算机上的 oracle db(以便 2 人可以在同一个数据库上协同工作)

Posted

技术标签:

【中文标题】如何使用 SQL 开发人员从另一台计算机访问安装在一台计算机上的 oracle db(以便 2 人可以在同一个数据库上协同工作)【英文标题】:How do I access oracle db installed on one computer from another computer with SQL developer (So that 2 people can work collaboratively on same DB) 【发布时间】:2020-05-02 08:23:59 【问题描述】:

您好,我最近在我的 PC 上安装了 oracle DB 和 SQL developer。现在我希望我的朋友坐在另一台 PC 上应该能够与 SQL 开发人员连接并在我的计算机上的同一个数据库上工作。 (这样我们都可以连接到一个数据库)

【问题讨论】:

【参考方案1】:

检查数据库的侦听器并专门查找您需要的 IP 地址、端口和服务名称。所以在下面检查我的本地数据库。

IP=0.0.0.0 表示所有主机 IP 地址(您机器的 IP)

发件人:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

端口=1521

发件人:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

服务=xe

发件人:Service "xe" has 1 instance(s).

然后他们可以通过在具有名称标签的 SQL Developer 连接对话框中填写这些值来使用这些值进行连接。 $ lsnrctl 状态

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-JAN-2020 14:56:12

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                15-JAN-2020 12:58:05
Uptime                    0 days 1 hr. 58 min. 6 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/b45e40e26f79/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=b45e40e26f79)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCL/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "8967c87908440d12e053020011ac6f8a" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCL" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "ORCLXDB" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
  Instance "ORCL", status READY, has 1 handler(s) for this service...
The command completed successfully
[oracle@b45e40e26f79 ~]$

【讨论】:

【参考方案2】:

您是否尝试过以下步骤?

    记下您 PC 上的 IP 您的朋友打开 SQL Developer 连接 -> 新连接 姓名 -> 朋友 - 基本连接类型 主机名 -> 来自您 PC 的 IP、端口 1521、服务名称 orcl(也可以是 XE)

【讨论】:

【参考方案3】:

显然,您必须在两台计算机之间建立基本的网络连接。你朋友的电脑能成功“ping”你的电脑吗?此外,您将需要运行 oracle 侦听器,并且您的数据库必须向其注册。使用命令行命令“lsnrctl status”进行检查。如果是这样,那么下一步就是在您朋友的 SQL Dev 中简单地定义一个连接,就像您在自己的一样。将“连接类型”设置为“基本”;将“主机名”设置为运行 Oracle 的计算机的网络名称或 IP 地址;将“服务名称”设置为数据库的名称。 'hostname' 不能是 'localhost',因为这表示循环回原始机器。

【讨论】:

以上是关于如何使用 SQL 开发人员从另一台计算机访问安装在一台计算机上的 oracle db(以便 2 人可以在同一个数据库上协同工作)的主要内容,如果未能解决你的问题,请参考以下文章

从另一台计算机访问虚拟主机

如何通过 odbc_connect() 从另一台计算机连接到 Microsoft Access 数据库?

从另一个网络上的另一台计算机访问 db 时出现错误 #1045

从另一台计算机访问我的本地主机站点

如何连接到本地 MySQL 数据库 [重复]

如何从另一台计算机运行 Visual Studio 项目?