开始机器上装的是10g,后来为了学习,又装了个11g,结果连不上数据库,发现listener.org里host是169.254.105.177,奇怪,ping了一下,不到1ms就返回,确定是本机上的IP。这个ip是怎么来的,是oracle虚拟出的ip吗?listener.ora:# listener.ora Network Configuration File: G:\oracle\product\11.1.0\db_2\network\admin\listener.ora
# Generated by Oracle configuration tools.MYLISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.105.177)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)tnsnames.org:# tnsnames.ora Network Configuration File: G:\oracle\product\11.1.0\db_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.STUDENT11G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.105.177)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = student11g)
)
)
而且一个问题是,当我重启这个监听器的时候,总是提示:no services,如下:Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=169.254.105.177)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=169.254.105.177)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias mylistener2
Version TNSLSNR for 32-bit Windows: Version 11.1.0.6.0 - Production
Start Date 26-MAR-2010 12:40:44
Uptime 0 days 0 hr. 0 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File G:\oracle\product\11.1.0\db_2\network\admin\listener.ora
Listener Log File g:\oracle\diag\tnslsnr\fxbird-pc\mylistener2\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=169.254.105.177)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
The listener supports no services
The command completed successfully
# Generated by Oracle configuration tools.MYLISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.105.177)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)tnsnames.org:# tnsnames.ora Network Configuration File: G:\oracle\product\11.1.0\db_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.STUDENT11G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 169.254.105.177)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = student11g)
)
)
而且一个问题是,当我重启这个监听器的时候,总是提示:no services,如下:Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=169.254.105.177)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=169.254.105.177)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias mylistener2
Version TNSLSNR for 32-bit Windows: Version 11.1.0.6.0 - Production
Start Date 26-MAR-2010 12:40:44
Uptime 0 days 0 hr. 0 min. 2 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File G:\oracle\product\11.1.0\db_2\network\admin\listener.ora
Listener Log File g:\oracle\diag\tnslsnr\fxbird-pc\mylistener2\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=169.254.105.177)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
The listener supports no services
The command completed successfully
我的服务名,sid,数据库名都叫student11g
要解决这个问题,需要设置静态IP,然后,把listener.org和tnsnames.ora中的IP改成计算机名(装好数据库后计算机名一定不要更改)。2.关于The listener supports no services这个问题,你重启了监听器以后,数据库实例并没有注册到监听器。
你应该先启动监听器,再启动数据库。如果启动监听器时数据库已经启动,那你可以用sysdba的身份登录到数据库,然后手动把实例注册到监听器:alter system register;