OracleOraDb11g_home1TNSListener 有什么作用 5
2个回答
展开全部
楼主:下面是我的看法。
1.TNSListener服务起什么作用呢?
简单来说,其功能是查找服务实例。若对“实例”的概念不清楚的话,可以搜一下。它是通过TNS NAME来进行查找的。若TNS NAME是无效的,当你用它连接时就会出现错误。
2.那么,什么是TNS NAME呢?
你可以用命令行窗口(cmd),使用“lsnrctl services”命令进行查阅。下面是在我的PC查阅的结果:
G:\tempdata>lsnrctl services
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 24-12月-2012 11:1
3:22
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已拒绝:0 状态:ready
LOCAL SERVER
服务 "orclXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
DISPATCHER <machine: PC-201012261431, pid: 4136>
(ADDRESS=(PROTOCOL=tcp)(HOST=PC-201012261431)(PORT=1234))
命令执行成功
看到实例“ORCL”了吗?一般安装Oracle时自动生成的实例。
3. 该命令读取那个文件呢?
默认是,%ORACLE_HOME%\NETWORK\ADMIN\tnsnames.ora。可以打开看一下。
我的是如下内容:
# tnsnames.ora Network Configuration File: D:\ProgramFiles\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
4.注意:用本地系统的SQL PLUS连接数据库时,不需要用TNS LISTENER服务。
1.TNSListener服务起什么作用呢?
简单来说,其功能是查找服务实例。若对“实例”的概念不清楚的话,可以搜一下。它是通过TNS NAME来进行查找的。若TNS NAME是无效的,当你用它连接时就会出现错误。
2.那么,什么是TNS NAME呢?
你可以用命令行窗口(cmd),使用“lsnrctl services”命令进行查阅。下面是在我的PC查阅的结果:
G:\tempdata>lsnrctl services
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 24-12月-2012 11:1
3:22
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已拒绝:0 状态:ready
LOCAL SERVER
服务 "orclXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
DISPATCHER <machine: PC-201012261431, pid: 4136>
(ADDRESS=(PROTOCOL=tcp)(HOST=PC-201012261431)(PORT=1234))
命令执行成功
看到实例“ORCL”了吗?一般安装Oracle时自动生成的实例。
3. 该命令读取那个文件呢?
默认是,%ORACLE_HOME%\NETWORK\ADMIN\tnsnames.ora。可以打开看一下。
我的是如下内容:
# tnsnames.ora Network Configuration File: D:\ProgramFiles\Oracle11g\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
4.注意:用本地系统的SQL PLUS连接数据库时,不需要用TNS LISTENER服务。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询