我在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>
我做了什么:
以上所有我仍然得到相同的错误,但我的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
它返回零
提前感谢您的帮助。