修改listener.ora时oracle数据库12c出现问题

时间:2016-03-02 14:38:41

标签: oracle oracle12c windows64

当我修改listener.ora时,当我输入一个新地址时,我遇到了问题,如图所示。

listener.ora网络配置文件:C:\ app \ name \ 12.1.0 \ dbhome_1 \ NETWORK \ ADMIN \ listener.ora

由Oracle配置工具生成。

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =
  (SID_NAME = CLRExtProc)
  (ORACLE_HOME = C:\app\name\12.1.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\app\name\12.1.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC =
  (GLOBAL_DBNAME = OracleDB)
  (ORACLE_HOME = C:\app\User\product\11.2.0\dbhome_1)
  (SID_NAME = ORCL)
)
(SID_DESC =
  (GLOBAL_DBNAME = Oracle8)
  (SID_NAME = ORCL)
)
(SID_DESC =
  (GLOBAL_DBNAME = Prova)
  (ORACLE_HOME = C:\app\User\product\11.2.0\dbhome_1)
  (SID_NAME = ORCL)
)

) LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  **(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))**
)
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)

ADR_BASE_LISTENER = C:\ app \ name \ 12.1.0 \ dbhome_1 \ log

当我没有用星号放地址时,一切都在本地正常工作,但我需要从另一个客户端(其他PC)连接oracle。 在援助中我找到了我必须添加的地方:

**(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521))**

但是当我把它放在listener.ora中时,没有任何作用。 错误如下:

oracleOraDB12Home1TNSListener 它不会自动启动。

输入cmd并输入lsnrctl star,我收到此错误: TNS-12560和TNS-00530

如果我生成lsnrctl状态,我会收到错误: TNS-12535,TNS - 12500

我该如何解决这个问题? 从客户端(其他PC)连接是否正确只在listerner.ora中进行此更改或需要进行更改?

最后是Oracle for Windows x64

1 个答案:

答案 0 :(得分:1)

简单说明几点:数据库的主机运行监听器。侦听器配置来自位于您指定位置的tnsnames.ora和listener.ora。 'localhost'显然与数据库主机的地址相同。

在listener.ora中,您尝试添加的IP应该是数据库主机的IP地址。 (从帖子中不清楚,但只是要清楚,监听器不会在客户端上运行。)我个人用数据库主机IP地址替换'localhost'条目。

此时,侦听器应该正确启动,它将侦听指定的IP和端口上的连接。

由于网络配置,身份验证,客户端s / w等原因,客户端连接的其余问题变得有点复杂。其中一些配置与sqlnet.ora文件(服务器和客户端)有关

但基本上,在客户端上,您需要配置连接以连接到IP地址,端口和listener.ora中引用的global_names之一(这可以通过tnsnames.ora文件进行配置。其他客户端配置选项。)