ora12514 Oracle监听自动注册问题
listener.ora 配置如下:
QUOTE:
--------------------------------------------------------------------------------
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.119.128)(PORT = 1521))
)
)ADR_BASE_LISTENER = /u01/app/oracle
--------------------------------------------------------------------------------
客户端的tnsname 如下
QUOTE:
--------------------------------------------------------------------------------
119.128.ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.119.128)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL.VM.COM)
)
)
--------------------------------------------------------------------------------
结果连接时提示ora-12514,监听程序无法识别连接描述符中请求的信息。而将配置listener.ora增加如下监听列表后可以正常连接:
QUOTE:
--------------------------------------------------------------------------------
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
#BEQUEATH CONFIG
(GLOBAL_DBNAME=orcl.vm.com)
(SID_NAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/)
#PRESPAWN CONFIG
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
)
)
)
--------------------------------------------------------------------------------
我的疑惑是,监听不是有自动注册功的吗?不加应该也是可以才对呀。
(服务端我是先起监听程序,再启动数据库的)。求大侠指教 谢谢。
补充一点,在没有加监听列表前,lsnrctl 运行status一直是这种状态:
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.119.128)(PORT=1521)))
The listener supports no services
The command completed successfully虽然我是先起监听,后起数据库的。
listener.ora 配置如下:
QUOTE:
--------------------------------------------------------------------------------
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.119.128)(PORT = 1521))
)
)ADR_BASE_LISTENER = /u01/app/oracle
--------------------------------------------------------------------------------
客户端的tnsname 如下
QUOTE:
--------------------------------------------------------------------------------
119.128.ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.119.128)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL.VM.COM)
)
)
--------------------------------------------------------------------------------
结果连接时提示ora-12514,监听程序无法识别连接描述符中请求的信息。而将配置listener.ora增加如下监听列表后可以正常连接:
QUOTE:
--------------------------------------------------------------------------------
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
#BEQUEATH CONFIG
(GLOBAL_DBNAME=orcl.vm.com)
(SID_NAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/)
#PRESPAWN CONFIG
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
)
)
)
--------------------------------------------------------------------------------
我的疑惑是,监听不是有自动注册功的吗?不加应该也是可以才对呀。
(服务端我是先起监听程序,再启动数据库的)。求大侠指教 谢谢。
补充一点,在没有加监听列表前,lsnrctl 运行status一直是这种状态:
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.119.128)(PORT=1521)))
The listener supports no services
The command completed successfully虽然我是先起监听,后起数据库的。
2、如果先启动数据库,后启动监听器,则可能稍后等待PMON进程自动注册。
3、如果想即时注册,可在sqlplus中使用命令:alter system register;
4、你在SID_LIST_LISTENER增加服务描述这种方式属于静态注册了。