Oracle DBCA 创建数据库警告,没有按预期创建 OracleDBConsoleorcl 服务

Oracle DBCA create DB warning with no OracleDBConsoleorcl service created as expected

我正在我的 Win 2012 R2 上创建我的第一个 Oracle 数据库。但是可以成功,但是OracleDBConsoleorcl没有创建成功: emca error

我在这里附上我的 emca 日志:

Jul 10, 2017 3:40:43 PM oracle.sysman.emcp.util.GeneralUtil  initSQLEngineLoacly
CONFIG: SQLEngine created successfully and connected
Jul 10, 2017 3:40:45 PM oracle.sysman.emcp.ParamsManager checkListenerStatusForDBControl
CONFIG: 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.unlockMGMTAccount(EMReposConfig.java:1001)
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:346)
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:158)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
    at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:583)
    at oracle.sysman.assistants.util.em.EMConfigStep.executeImpl(EMConfigStep.java:139)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.BasicStep.callStep(BasicStep.java:251)
    at oracle.sysman.assistants.dbca.backend.PostDBConfigureStep.executeImpl(PostDBConfigureStep.java:269)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
    at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2667)
    at java.lang.Thread.run(Thread.java:595)
Jul 10, 2017 3:40:45 PM oracle.sysman.emcp.EMConfig perform
SEVERE: Listener is not up or database service is not registered with it. Start the Listener and register database service and run EM Configuration Assistant again .
Refer to the log file at D:\Oracle\cfgtoollogs\dbca\orcl\emConfig.log for more details.
Jul 10, 2017 3:40:45 PM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace: 
oracle.sysman.emcp.exception.EMConfigException: Listener is not up or database service is not registered with it. Start the Listener and register database service and run EM Configuration Assistant again .
    at oracle.sysman.emcp.ParamsManager.checkListenerStatusForDBControl(ParamsManager.java:3245)
    at oracle.sysman.emcp.EMReposConfig.unlockMGMTAccount(EMReposConfig.java:1001)
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:346)
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:158)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
    at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:583)
    at oracle.sysman.assistants.util.em.EMConfigStep.executeImpl(EMConfigStep.java:139)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.BasicStep.callStep(BasicStep.java:251)
    at oracle.sysman.assistants.dbca.backend.PostDBConfigureStep.executeImpl(PostDBConfigureStep.java:269)
    at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
    at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
    at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2667)
    at java.lang.Thread.run(Thread.java:595)

但是我的监听器已经启动了:

D:\Oracle\product.2.0\dbhome_1\BIN>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 31-JUL-2017 11:33:35

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started

我还附上了我的 listner.ora 屏幕截图

# listener.ora Network Configuration File: D:\Oracle\product.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\Oracle\product.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle\product.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

ADR_BASE_LISTENER = D:\Oracle

我的tnsnames.ora:

# tnsnames.ora Network Configuration File: D:\Oracle\product.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

MYORACLE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
    )
  )

如果我手动启动侦听器,它会说它已经启动了。

我正在使用 Oracle 11.2.0.1。

我的问题是,orcl 数据库创建成功。但是有一个Windows Service OracleDBConsoleorcl is not available,看我的报错: missing DBConsole service

即使我重新运行 DBCA(没有改变任何东西),问题总是会重新出现。

我的服务命名测试(通过网络管理器)成功。

我自己解决。

我将 tnsnames.ora 中的 HOSTNAME 更改为真实主机名而不是本地主机。

然后几次显示没有监听

我在以下位置尝试了一些步骤:

https://dba.stackexchange.com/questions/22245/oracle-dbca-utility-listener-is-not-up-or-database-service-is-not-registered-w

终于成功了