如何使用 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 数据库?