重新创建侦听器后无法启动侦听器

时间:2016-10-13 11:06:46

标签: oracle oracle11g database-administration oracle12c

我在Windows 2008 64位中运行oracle 12c,最近我禁用了存档日志并在noarchive log mood中运行oracle ...

现在我无法启动oracle监听器,它一直给我同样的Errol,这里是完整的日志。

<msg time='2016-10-13T15:02:45.182+04:30' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracleserver'
 host_addr='127.0.0.1'>
 <txt>Started with pid=5464
 </txt>
</msg>
<msg time='2016-10-13T15:02:45.206+04:30' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracleserver'
 host_addr='127.0.0.1'>
 <txt>Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleserver)(PORT=1536)))
 </txt>
</msg>
<msg time='2016-10-13T15:02:45.311+04:30' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracleserver'
 host_addr='127.0.0.1'>
 <txt>Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PARTIAL=yes)(QUEUESIZE=1))
 </txt>
</msg>
<msg time='2016-10-13T15:02:45.312+04:30' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracleserver'
 host_addr='127.0.0.1'>
 <txt>No longer listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleserver)(PORT=1536)))
 </txt>
</msg>
<msg time='2016-10-13T15:02:45.412+04:30' org_id='oracle' comp_id='tnslsnr'
 type='UNKNOWN' level='16' host_id='oracleserver'
 host_addr='127.0.0.1'>
 <txt>TNS-12532: TNS:invalid argument
 TNS-12560: TNS:protocol adapter error
  TNS-00502: Invalid argument
   64-bit Windows Error: 22: Invalid argument
 </txt>
</msg>

我做了什么:

  • 删除侦听器并手动重新创建。
  • 使用netca删除并重新创建侦听器
  • 将侦听器名称更改为其他名称
  • 更改了侦听器的端口号
  • 为新端口和旧端口添加入站和出站规则

以上所有我仍然得到相同的错误,但我的oracle正常启动而没有任何问题我重新启动并多次启动它。

这里是 tnsnames.ora:

# tnsnames.ora Network Configuration File: c:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENERORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1536))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

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

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

这是 listener.ora

# listener.ora Network Configuration File: c:\app\oracle\product\12.1.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\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:c:\app\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )
  )

LISTENERORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracleserver)(PORT = 1536))
  )

ADR_BASE_LISTENERORCL = c:\app\oracle\product\12.1.0\dbhome_1\log

我只是混淆了发生了什么...当我删除并重新创建默认端口为1521的侦听器时,另一点它表示端口正在使用...这只发生在我从netca创建监听器时...无论我使用什么端口,它仍然会抱怨使用端口但是当我用下面的方法检查时:

netstat -aon:findstr:portnumber

它返回零

提前感谢您的帮助。

0 个答案:

没有答案