Oracle 远程访问配置

Posted SeayXu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 远程访问配置相关的知识,希望对你有一定的参考价值。

服务端配置

如果不想自己写,可以通过 Net Manager 来配置.

以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问.

1.网络监听配置

# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = C:\app\Administrator

多个IP时,如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.226.2)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.226.3)(PORT = 1521))
    )
  )

2.TNS 配置

# tnsnames.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

多个IP时,如下:

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.226.2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.226.3)(PORT = 1521))
    )
    (SOURCE_ROUTE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

3.停止和启动服务

先停止以下服务,然后再启动.

  • OracleOraDb11g_homeTNSListener
  • OracleService*

客户端配置

1.下载 ODAC 压缩包.

2.解压下载的 ODAC 压缩包.

3.执行安装命令
示例:

install.bat all D:\Program\ODAC\112040x64 OracleHome true

4.添加环境变量

  • ORACLE_HOME : 是 ODAC 安装的目录.
  • TNS_ADMIN : 是文件 tnsnames.ora 所在的目录,一般为 ODAC 安装目录下的 network\admin 中.

注: TNS_ADMIN 可以不用添加,直接将 tnsnames.ora 文件复制到 ODAC 安装目录下即可

%ORACLE_HOME% 添加到 PATH 环境变量中.

5.配置 TNS

在配置文件 tnsnames.ora 中加入

DBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <db-host>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <db-name>)
    )
  )

说明:

  • <db-host> : 数据库电脑的IP或者是计算机名
  • <db-name> : 数据库TNS配置的名称

以上是关于Oracle 远程访问配置的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库远程访问

Qt程序远程访问Oracle数据库,该怎么处理

使用sqldeveloper远程访问oracle

如何在 Toad for Oracle 中使用自定义代码片段?

oracle开启远程连接访问

本地oracle可以通过localhost连接,无法通过ip地址连接解决方法,oracle远程连接配置