Oracle11g 两个oracle数据库之间的数据库链接问题(Ora-12541:“TNS:无侦听器”)
我是甲骨文的新手,所以我很抱歉这个可能是琐碎或愚蠢的问题。我需要通过这样的数据库链接互连两个oracle数据库(12g和11g):Oracle11g 两个oracle数据库之间的数据库链接问题(Ora-12541:“TNS:无侦听器”),oracle11g,database-link,ora-12541,Oracle11g,Database Link,Ora 12541,我是甲骨文的新手,所以我很抱歉这个可能是琐碎或愚蠢的问题。我需要通过这样的数据库链接互连两个oracle数据库(12g和11g): 创建共享数据库链接系统 由scot认证,由********* 使用“SYSEL” 我的名字。ora: or# tnsnames.ora Network Configuration File: C:\app\Administrator\product\12.1.0\dbhome_1\network\admin\tnsnames.ora Generated by Or
创建共享数据库链接系统
由scot认证,由*********
使用“SYSEL”
我的名字。ora:
or# tnsnames.ora Network Configuration File: C:\app\Administrator\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1524))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
SYSEL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = studuk)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1524))
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
)
)
但是如果我运行一个查询(例如select*fromdual@sysel
),我总是会遇到以下错误:
ORA-12541:TNS:neexistuježádnýproces监听器
1254100000-“TNS:没有侦听器”
*原因:无法完成连接请求,因为侦听器
他没有跑步。
*措施:确保提供的目标地址与以下地址之一匹配:
侦听器使用的地址-将TNSNAMES.ORA条目与
适当的LISTENER.ORA文件(如果要连接,则为TNSNAV.ORA)
走立交桥)。在远程计算机上启动侦听器。
第1行第20列出错
我的听众。ORA:
or# tnsnames.ora Network Configuration File: C:\app\Administrator\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1524))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
SYSEL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = studuk)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1524))
(ADDRESS = (PROTOCOL = TCP)(HOST = Panoramix)(PORT = 1524))
)
)
我在panoramix上有一个特技(它完全可以工作,我可以通过sql developer连接到studuk,也可以tnsping studuk。但是数据库链接不起作用。我想,可能需要修改listener.ora的某些方式,但我不知道如何。。。
有什么问题吗?请帮忙。
祝你一切顺利
约瑟夫K
现在侦听器在端口1521上侦听,但尝试以select*from的形式运行查询dual@sysel我不幸地发现了这个错误:
ORA-12514: TNS:proces listener v současnosti nezná službu požadovanou v deskriptoru připojení
12514. 00000 - "TNS:listener does not currently know of service requested in connect descriptor"
*Cause: The listener received a request to establish a connection to a
database or other service. The connect descriptor received by the listener
specified a service name for a service (usually a database service)
that either has not yet dynamically registered with the listener or has
not been statically configured for the listener. This may be a temporary
condition such as after the listener has started, but before the database
instance has registered with the listener.
*Action:
- Wait a moment and try to connect a second time.
- Check which services are currently known by the listener by executing:
lsnrctl services <listener name>
- Check that the SERVICE_NAME parameter in the connect descriptor of the
net service name used specifies a service known by the listener.
- If an easy connect naming connect identifier was used, check that
the service name specified is a service known by the listener.
- Check for an event in the listener.log file.
显然,我的Oracle实例无法向侦听器注册服务SYSEL,我也尝试了ALTER SYSTEM register,但没有成功
剧本
select value from v$parameter where name='service_names'
仅返回默认值“ORCL”
我应该如何向侦听器注册服务SYSEL?
非常感谢。
Josef K.您启动了两个侦听器进程吗?一个运行在端口1521上,另一个运行在端口1524上?感谢您的回答,不,我没有,我只有端口1524上的侦听器。因此我尝试配置侦听器。侦听器=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1524))(ADDRESS=(PROTOCOL=TCP)(HOST=Panoramix)(PORT=1524))(ADDRESS=(PROTOCOL=TCP)(HOST=Panoramix)(PORT=1521)))这是对的吗?最好的Josef K。