如何通过网络访问Oracle数据库?

How to access Oracle database over network?

我正在尝试通过网络访问我的 Oracle 数据库。我有很多 Google 并找到了很多解决方案,但这些对我不起作用。

The problem is that, I want to access my Oracle Database from One Computer to another Computer over my Local Network.

我做的是....

  1. 我找到了用
  2. 修改 listener.ora 文件的解决方案

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbp.devProject.com)(PORT=1521)))

当我修改此文件并尝试 运行 并访问数据库时,什么也不会发生,它会抛出错误,您指定的端口号已被另一个侦听器使用,因此我更改了端口号但我无法访问数据库。 2. 我在 oracle 的工具 Net Manager 的帮助下配置了一个新的监听器,它为我创建了一个监听器,但它不能通过网络访问数据库。

这里是一些必需的结果。

  1. lsnrctl status : Listener using listener name LISTENER has already been started.
  2. Connection String : jdbc:oracle:thin:@dbp.devProject.com:4541:myDB
  3. Database Version :
    1. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    2. PL/SQL Release 11.2.0.1.0 - Production
    3. CORE 11.2.0.1.0 Production
    4. TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
    5. NLSRTL Version 11.2.0.1.0 - Production

status 告诉我这个。

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

Alias : LISTENER

Version : TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production

Start Date : 14-MAY-2015 11:58:05

Uptime : 0 days 2 hr. 29 min. 50 sec

Trace Level : off

Security : ON: Local OS Authentication

SNMP : OFF

Listener Parameter File : product.2.0\dbhome_1\network\admin\listener.ora

Listener Log File : \listener\alert\log.xml

Listening Endpoints Summary...

1. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.\pipe\EXTPROC1521ipc)))
2. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))

有人请帮助我。 感谢您的帮助..

在您尝试连接到数据库的系统上的 TNSNAMES.ORA 文件中创建一个条目。 (TNSNAMES.ORA 位于 ORACLE_INSTALLATION_PATH/Network/Admin/ 文件夹)

示例条目:

DB_HOST_NAME =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = DB_HOST_NAME)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = XE)

    )

  )

如果您安装了多个 Oracle 客户端,您可能需要在所有这些客户端中更新此 TNSNAMES.ORA

每当您在为数据库创建远程访问时遇到此类错误,请先执行以下操作。

  1. 使用 Oracle 的 Net Manager 工具或手动创建监听器。
  2. 生成Listener后,查看"listener.ora" [位于:ORACLE_INSTALLED_DIR\product.2.0\dbhome_1\NETWORK\ADMIN] 文件,供您输入。 (是否有您之前创建的监听器的任何条目。如果您找到了您的条目,然后执行下一步,否则从第一步开始。)
  3. 如果找到侦听器的条目,请打开命令提示符并启动命令 lsnrctl status。这将为您提供当前所有 运行 个听众列表,找出您之前创建的那个。
  4. 查看您的听众的 Host NamePort Number
  5. 根据您在 lsnrctl status 中找到的详细信息生成连接字符串
  6. 连接数据库,您可以从网络中的任何地方访问数据库。

享受事物,有些挑战需要努力,一旦退缩,就永远无法解决。

我真的很感谢所有回答和评论这个问题的人,这一切 Material 让我的挑战变得简单..

谢谢@Alex、@Lalit、@TenG 和@S.Krishna 非常感谢你们。

如果您的主机名和端口号是侦听器,那么您可以通过在防火墙设置中启用端口号来尝试此选项。

在 Windows 防火墙中打开端口

  • 打开控制面板。 ...
  • 打开Windows防火墙。 ...
  • 单击“高级设置”link。 ...
  • Select"Inbound Rules"。 ...
  • 在 "Inbound Rules" 下创建 "New Rule"。 ...
  • Select "Port" 来自向导的第一个屏幕。 ...
  • 选择 TCP 或 UDP。 ...
  • 输入端口范围。 ...
  • 完成向导。