Oracle11g 两个oracle数据库之间的数据库链接问题(Ora-12541:“TNS:无侦听器”)

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

我是甲骨文的新手,所以我很抱歉这个可能是琐碎或愚蠢的问题。我需要通过这样的数据库链接互连两个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 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。