天天看點

建立OEM無監聽:配置: ORA-12541: TNS:no listener

今天在重建OEM出現如下錯誤:

嚴重: 監聽程式未啟動或資料庫服務未注冊到該監聽程式。啟動該監聽程式并注冊資料庫服務, 然後重新運作 EM Configuration Assistant。
有關詳細資料, 請參閱 D:\study\oracle11g\oralce_basic_directory\cfgtoollogs\emca\orcl\emca_2014_03_22_10_04_38.log 中的日志檔案。
無法完成配置。 有關詳細資料, 請參閱 D:\study\oracle11g\oralce_basic_directory\cfgtoollogs\emca\orcl\emca_2014_03_22_10_04_38.log 中的日志檔案。

C:\Users\Wo.WO>sqlplus / as sysdba
           

找到D:\study\oracle11g\oralce_basic_directory\cfgtoollogs\emca\orcl\emca_2014_03_22_10_04_38.log 檔案:

配置: ORA-12541: TNS:no listener

oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-12541: TNS:no listener

	at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1655)
	at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeSql(SQLEngine.java:1903)
	at oracle.sysman.emcp.ParamsManager.checkListenerStatusForDBControl(ParamsManager.java:3230)
	at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:204)
	at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:158)
	at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
	at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:590)
	at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1453)
	at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:574)
	at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:522)
2014-3-22 10:05:09 oracle.sysman.emcp.EMConfig perform
嚴重: 監聽程式未啟動或資料庫服務未注冊到該監聽程式。啟動該監聽程式并注冊資料庫服務, 然後重新運作 EM Configuration Assistant。
有關詳細資料, 請參閱 D:\study\oracle11g\oralce_basic_directory\cfgtoollogs\emca\orcl\emca_2014_03_22_10_04_38.log 中的日志檔案。
2014-3-22 10:05:09 oracle.sysman.emcp.EMConfig perform
配置: Stack Trace: 
oracle.sysman.emcp.exception.EMConfigException: 監聽程式未啟動或資料庫服務未注冊到該監聽程式。啟動該監聽程式并注冊資料庫服務, 然後重新運作 EM Configuration Assistant。
	at oracle.sysman.emcp.ParamsManager.checkListenerStatusForDBControl(ParamsManager.java:3245)
	at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:204)
	at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:158)
	at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
	at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:590)
	at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1453)
	at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:574)
	at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:522)
2014-3-22 10:05:09 oracle.sysman.emcp.EMConfig restoreOuiLoc
配置: Restoring oracle.installer.oui_loc to D:\study\oracle11g\oralce_1\oui
           

但我的監聽程式明明設定了,後來在網上搜了很多資料,仍然沒有打到方法,最後檢視listener.ora,發現配置如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
           

但我現在有的主機名是Wo,原來是主機名引起的錯誤,更改如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Wo)(PORT = 1521))
    )
  )
           

好了接下來建立oem成功。