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

时间:2015-05-14 08:26:28

标签: database oracle listener remote-connection

我正在尝试通过网络访问我的Oracle数据库。我有很多谷歌,并找到了很多解决方案,但那些对我没有用。

  

问题是,我想通过本地网络从一台计算机访问我的Oracle数据库到另一台计算机。

我做的是......

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

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

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

    这里有一些必要的结果。

      
        
    1. lsnrctl status :使用侦听器名称LISTENER的侦听器已经启动。
    2.   
    3. 连接字符串:jdbc:oracle:thin:@ dbp.devProject.com:4541:myDB
    4.   
    5. 数据库版:   
          
      1. Oracle数据库11g企业版11.2.0.1.0版 - 64位生产
      2.   
      3. PL / SQL版本11.2.0.1.0 - 生产
      4.   
      5. CORE 11.2.0.1.0生产
      6.   
      7. 适用于64位Windows的TNS:版本11.2.0.1.0 - 生产
      8.   
      9. NLSRTL版本11.2.0.1.0 - 制作
      10.   
    6.   

    状态告诉我这个。

      

    连接到(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521)))

         

    LISTENER的状态

         

    Alias:LISTENER

         

    版本:适用于64位Windows的TNSLSNR:版本11.2.0.1.0 - 生产

         

    开课日期:2015年5月14日11:58:05

         

    正常运行时间:0天2小时。 29分钟50秒

         

    跟踪级别:关闭

         

    安全性:开启:本地操作系统身份验证

         

    SNMP:OFF

         

    侦听器参数文件:product \ 11.2.0 \ dbhome_1 \ network \ admin \ listener.ora

         

    侦听器日志文件:\ listener \ alert \ log.xml

         

    听力终点摘要......

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

    有人请帮助我。 谢谢你的帮助..

3 个答案:

答案 0 :(得分:4)

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

  1. 使用Oracle的 Net Manager 工具创建一个监听器,或者手动创建一个监听器。
  2. 生成Listener后,请查看" listener.ora" [所在地:ORACLE_INSTALLED_DIR \ product \ 11.2.0 \ dbhome_1 \ NETWORK \ ADMIN] 文件,供您参赛。 (您之前创建的监听器是否有任何条目。如果您发现您的条目而不是后续步骤,则从第一步开始执行。)
  3. 如果找到了监听器的条目,请打开命令提示符并触发命令lsnrctl status。这将为您提供所有当前正在运行的监听器列表,找出您之前创建的监听器列表。
  4. 查看听众的Host NamePort Number
  5. 根据您在lsnrctl status
  6. 中找到的详细信息生成连接字符串
  7. 与数据库连接,您可以从网络中的任何位置访问数据库。
  8. 享受生活,有些挑战需要得到帮助,一旦你退缩,它将永远不会被解决。

    我非常感谢那些回答并评论过这个问题的所有人,这一切都让我的挑战变得轻松......

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

答案 1 :(得分:3)

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

在Windows防火墙中打开端口

  • 打开“控制面板”。 ...
  • 打开Windows防火墙。 ...
  • 单击“高级设置”链接。 ...
  • 选择“入站规则”。 ...
  • 在“入站规则”下创建“新规则”。 ...
  • 从向导的第一个屏幕中选择“端口”。 ...
  • 选择TCP或UDP。 ...
  • 输入端口范围。 ...
  • 完成向导。

答案 2 :(得分:1)

在您尝试连接数据库的系统上的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中更新此客户端