如何才能在同一台机器配置两个listener
2024-07-21 02:39:52
供稿:网友
 
             问题:一台机器同时装两套数据库时(实例名o8161,o8151),无法同时启动两个listener, 
  当启动第二个listener时,显示错误。 
  
  $ lsnrctl start 
  
                                                                                              LSNRCTL for IBM/AIX RISC System/6000: Version 8.1.5.0.0 - PRodUCtion on 14-SEP-00 09:25:17 
  
  (c) Copyright 1998 Oracle Corporation. All rights reserved. 
  
  TNS-01106: Listener using listener name LISTENER has already been started 
  
  $ oerr tns 1106 
  01106, 00000, "Listener using listener name %s has already been started" 
  // *Cause: Another listener is already listening on one of the ADDRESSes 
  // specified. 
  // *Action: Shutdown the previous listener specified by the listener name 
  // before starting this one. 
  
  问题产生原因: 
  两个实例的LISTENER.ORA中ipC协议的KEY是相同,而一个系统中KEY必须是唯一的. 
  
  解决办法: 
  修改key的值即可。修改后的文件信息: 
  o8161实例:(没有修改) 
  # LISTENER.ORA Configuration File:/oracle/dbs/opstemp/szpcac1/network/admin/listener.ora 
  # Generated by Oracle configuration tools. 
  
  LISTENER = 
  (DESCRIPTION_LIST = 
  (DESCRIPTION = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) 
  ) 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 1521)) 
  ) 
  ) 
  (DESCRIPTION = 
  (PROTOCOL_STACK = 
  (PRESENTATION = GIOP) 
  (session = RAW) 
  ) 
  (ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 2481)) 
  ) 
  ) 
  
  SID_LIST_LISTENER = 
  (SID_LIST = 
  (SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = /oracle) 
  (PROGRAM = extproc) 
  ) 
  (SID_DESC = 
  (ORACLE_HOME = /oracle) 
  (SID_NAME = o8161) 
  ) 
  ) 
  
  08151实例:(经过修改) 
  # LISTENER.ORA Configuration File:/ora815/network/admin/listener.ora 
  # Generated by Oracle Net8 Assistant 
  
  LISTENER = 
  (DESCRIPTION_LIST = 
  (DESCRIPTION = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = IPC)(KEY = TESTo815)) 
  ) 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = loopback)(PORT = 1526)) 
  ) 
  ) 
  ) 
  
  SID_LIST_LISTENER = 
  (SID_LIST = 
  (SID_DESC = 
  (SID_NAME = ora8151) 
  (ORACLE_HOME = /ora815) 
  (PROGRAM = extproc) 
  ) 
  )