由于本人过一阵日子要去公司参加考试了,oracle是其中要考的一项,以前我都是使用SQL Server来开发东西。为了应付考试,我就想安装了一个oracle 10g 2.0.1弄一下,不知道电脑是在考验我的耐性,还是故意作弄我,我每次安装的时候都出错(我的系统是新安装的Windows Server 2003),一到创建数据库中的配置数据库的时候就有那么一条错误信息:Enterprise Manager配置失败,启动Database Control时出错。关于这个错误我也在网上找资料,很多人都说先删除了原来的资料在重建可以解决问题,但是当我按照他们的说法去做的时候并不像他们说的那么顺利,其中表现为:用Net Configuration Assistant :来配置的时候,我在测试服务器的时候根本没能连上,试着在控制台里面来删除EM的资料时候,也是没能成功,总是停止在“正在删除资料……”这步上。而令我更加郁闷的是,居然SQLPlus能够使用,能够连通数据库服务器,为止问题开始我以为是我系统有问题,我重装系统后再装Oracle也是那样。安装Oracle差不多十次了(^_^ ……不要笑话俺),头都大了,还是搞不定,所以决定向网友求救,在下真的感恩涕零!

解决方案 »

  1.   

    首先:Enterprise Manager是oracle的一个web管理工具,有和没有都不影响oracle的正常使用,自然sqlplus就更不影响了.
    其次:Net Configuration Assistant好像没有听数过可以管理EM;
    EM的配置管理可以通过emctl命令来做.想配置em,建议你把网线连上,配置好ip地址,然后在命令行下执行:
    emca -config dbcontrol db -repos recreate
      

  2.   


    1,Enterprise Manager是oracle的一个web管理工具,有和没有都不影响oracle的正常使用,你还可以用sqlplus或者plsql来管理操作数据库。
    2,你检查下数据库实例有没有启动啊,查看写服务里面。
    3,我的系统是xp,安装之后一点问题都没有啊,你的是新WS 2003,如果不介意的话,实在不行,就安装一个XP好了,反正也就半个小时的时间吧!
      

  3.   

    应该是以前有装过吧    我也是 之前装了一个  不过给它玩崩了 卸载不了   我就把安装的目录干掉了又重装了一次   它也提示有二个工具不行用Sqlplus也挺好的嘛  提高挺快的
      

  4.   

    你机器上有装JAVA的开发工具吗??
      

  5.   

    没安装有java的开发工具,就是在net manager里面连接数据库的时候,就卡住了,它也没什么的错误提示。现在我只能用的就是SQLPlus了,其他的都用不得。
      

  6.   

    再补充一点,在命令控制台里面tnsping 能ping同数据库服务.如果实在是没办法我只能就用SQLPlus来玩数据库了,问题是程序不能连接数据库就不爽了。真的希望高人指点。
      

  7.   

    sqlplus 能连接,说明基本服务是正常的。
    用第三方工具,比如plsql或toad能连接上吗,如果连接不上,把错误贴出来。
      

  8.   

    sqlplus能够正常连接,说明此数据库实例服务还是没有问题的,还是建议用第三方工具来试一试.
    另外,你刚才说“就是在net manager里面连接数据库的时候,就卡住了”,这个我没懂你的意思
    是死机了吗?如果没有死机的话,也应该会有错误提示吧。希望楼主仔细检查。。期待结果
      

  9.   

    你在碰到所谓的“卡住”时,按下“alt+tab”看看是不是有小的信息窗口被挡在后面了
      

  10.   

    这种问题,明明是过来给分的。
    要解答,google一下,在这里等答案,太慢了。
      

  11.   

    我也是安装的oracle10g, XP的系统,也出现过EM配置失败的情况,把它卸载干净了,重新装就没有问题了耶。。oracle卸载有点麻烦是真的了,没有遇到过这么难缠的,楼主卸载干净了吗?  呵呵。。
      

  12.   

    windows2003企业版 安装oracle10.2.0.1没有任何问题的,打了sp1,sp2也没有问题的
    oracle只要实例服务和tns监听服务启动就可以了,其他的都是辅助工具类的服务
      

  13.   

    我装的是9i版本 oracle如果不卸载干净 重装时会报错的
    提供一个完全卸载oracle的方法,我用这个方法重装过,没有出现问题,全英的:
    The simplest way to remove Oracle is to run the Oracle installer:
    Start > Programs > Oracle Installation Products > Universal Installer
    1. On the first screen click on "Deinstall Products..." 
    2. Expand the tree view (just so that the second level is visible) and make sure you select everything that is selectable. 
    3. Click on "Remove..." 
    4. On the confirmation screen click "Yes" 
    5. When it has finished click "Close" and then "Exit" to quit the installer 
    Whilst the Oracle installer removes many components there are a number of things that it leaves behind. In order to completely remove all traces of Oracle the following additional steps will need to be taken:
    i. Stop any Oracle services that have been left running. (Start > Settings > Control Panel > Services.)
    Services which I have found left behind are 'OracleOraHome90TNSListener' and 'OracleServiceORACLE'. However there may be others depending on your installation. Look for any services with names starting with 'Oracle'. 
    ii. Run regedit (Start > Run > Enter "regedit", click "Ok"), find and delete the following keys:HKEY_LOCAL_MACHINE
       \SOFTWARE
          \ORACLEHKEY_LOCAL_MACHINE
       \SYSTEM
          \CurrentControlSet
             \Services
                \EventLog
                   \Application
                      \Oracle.oracleNote: I have had it reported that some people also have registry entries saved under HKEY_CURRENT_USER\SOFTWARE\ORACLE, this registry entry may be created by some Oracle utilities. If it exists then delete it. 
    iii. Delete the Oracle home directory:
        "C:\Oracle"
    This will also remove your database files (unless you located them elsewhere, in which case you will need to delete them separately). 
    iv. Delete the Oracle program Files directory:
        "C:\Program Files\Oracle" 
    v. Delete the Oracle programs profile directory:
        "C:\Documents and Settings\All Users\Start Menu\Programs\Oracle - OraHome90"
    if you did not first run the Oracle installer to remove Oracle then there may be other Oracle profile group directories to remove. 
    vi. Some of the Oracle services may be left behind by the uninstall. Open ‘services’ on the control panel, make a note of which Oracle services remain and see the notes ‘How to remove a service’ to remove them. 
    vii. If you didn't first run the Oracle Installer to remove Oracle then you may have some references to Oracle left in the path. To remove these: Start > Settings > Control Panel > System > Advanced > Environment Variables, look at both the use and system variable 'PATH' and edit them to remove any references to Oracle. 
      

  14.   

    以上你们所说的我基本都试过了,就是没办法弄好,所以才来这里发帖的,那个“卡住”并非是死机,就是程序不动了的样子,那net manager对话框的不能刷新的那种。问题是应用程序都不能连通数据,症状就跟net manager一样。
      

  15.   

    错误信息如下:2008-7-31 20:38:19 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag '-repos' set to true
    2008-7-31 20:38:19 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'db' set to true
    2008-7-31 20:38:19 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'create' set to true
    2008-7-31 20:38:19 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'drop' set to true
    2008-7-31 20:38:19 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: ORACLE_HOME value: E:\oracle\product\10.2.0\db_1
    2008-7-31 20:38:23 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SID value: myoracle
    2008-7-31 20:38:25 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: PORT value: 1521
    2008-7-31 20:38:30 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 SYS_PWD 的值。
    2008-7-31 20:38:30 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: myoracle, oracleHome: E:\oracle\product\10.2.0\db_1, and user: SYS
    2008-7-31 20:38:30 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-7-31 20:38:35 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: CONFIRMATION ANSWER value: 
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: CONFIRMATION ANSWER value: yes
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 LOG_FILE 的值。
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'db' set to true
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 DB_UNIQUE_NAME 的值。
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 DB_UNIQUE_NAME 的值。
    2008-7-31 20:38:36 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: myoracle, oracleHome: E:\oracle\product\10.2.0\db_1, and user: SYS
    2008-7-31 20:38:36 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-7-31 20:38:36 oracle.sysman.emcp.DatabaseChecks checkDbAvailabilityImpl
    配置: ORA-01034: ORACLE not availableoracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01034: ORACLE not available at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
    at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeQuery(SQLEngine.java:694)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailabilityImpl(DatabaseChecks.java:107)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailability(DatabaseChecks.java:143)
    at oracle.sysman.emcp.DatabaseChecks.getDbUniqueName(DatabaseChecks.java:344)
    at oracle.sysman.emcp.EMConfig.addEMCALogFile(EMConfig.java:767)
    at oracle.sysman.emcp.EMConfig.addLogFile(EMConfig.java:655)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:123)
    at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
    at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
    at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
    at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)
    2008-7-31 20:38:36 oracle.sysman.emcp.EMConfig addEMCALogFile
    配置: 数据库实例不可用。
    oracle.sysman.emcp.exception.DatabaseUnavailableException: 数据库实例不可用。
    at oracle.sysman.emcp.DatabaseChecks.throwDBUnavailableException(DatabaseChecks.java:131)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailabilityImpl(DatabaseChecks.java:119)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailability(DatabaseChecks.java:143)
    at oracle.sysman.emcp.DatabaseChecks.getDbUniqueName(DatabaseChecks.java:344)
    at oracle.sysman.emcp.EMConfig.addEMCALogFile(EMConfig.java:767)
    at oracle.sysman.emcp.EMConfig.addLogFile(EMConfig.java:655)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:123)
    at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
    at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
    at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
    at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)
    2008-7-31 20:38:36 oracle.sysman.emcp.EMConfig perform
    信息: 正在将此操作记录到 E:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\emca_2008-07-31_08-38-19-下午.log。
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: EM_HOME value: E:\oracle\product\10.2.0\db_1
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'db' set to true
    2008-7-31 20:38:36 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 MODIFY_SID 的值。
    2008-7-31 20:38:36 oracle.sysman.emcp.DatabaseChecks getDbServiceName
    配置: No service name available. Will try to set db_unique_name.db_domain
    2008-7-31 20:38:36 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: myoracle, oracleHome: E:\oracle\product\10.2.0\db_1, and user: SYS
    2008-7-31 20:38:36 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-7-31 20:38:36 oracle.sysman.emcp.DatabaseChecks checkDbAvailabilityImpl
    配置: ORA-01034: ORACLE not availableoracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01034: ORACLE not available at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
    at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeQuery(SQLEngine.java:694)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailabilityImpl(DatabaseChecks.java:107)
    at oracle.sysman.emcp.DatabaseChecks.checkDbAvailability(DatabaseChecks.java:143)
    at oracle.sysman.emcp.DatabaseChecks.getDbServiceName(DatabaseChecks.java:558)
    at oracle.sysman.emcp.EMDBPreConfig.checkServiceName(EMDBPreConfig.java:1213)
    at oracle.sysman.emcp.EMDBPreConfig.checkReposParams(EMDBPreConfig.java:2182)
    at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:1018)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:174)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
    at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
    at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
    at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
    at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)
    2008-7-31 20:38:36 oracle.sysman.emcp.EMConfig perform
    严重: 数据库实例不可用。
    有关详细资料, 请参阅 E:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\emca_2008-07-31_08-38-19-下午.log 中的日志文件。
    2008-7-31 20:38:36 oracle.sysman.emcp.EMConfig perform
    配置: Stack Trace: 
    oracle.sysman.emcp.exception.EMConfigException: 数据库实例不可用。
    at oracle.sysman.emcp.EMDBPreConfig.checkServiceName(EMDBPreConfig.java:1218)
    at oracle.sysman.emcp.EMDBPreConfig.checkReposParams(EMDBPreConfig.java:2182)
    at oracle.sysman.emcp.EMDBPreConfig.checkParameters(EMDBPreConfig.java:1018)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:174)
    at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
    at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
    at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
    at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
    at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)
      

  16.   

    根据上面的错误信息,你要先把你的数据库启动起来再去配。并且要把oracle_sid设置正确。
      

  17.   

    cmd下  用sys账号先启动数据库
      

  18.   

    笨,按照文档一步步的安装。windows下安装oracle10g还能出错,佩服!!
      

  19.   

    持续关注中 我也是这个问题
    NND 我03年的机子装OR10都没问题
    现在是昨天刚买的新机子 就出问题了
    系统啥的都好好的呀
    更不缺JAVA运行环境
    2009-5-8 18:54:03 oracle.sysman.emcp.util.PlatformInterface serviceCommand
    配置: Waiting for service 'OracleDBConsoleORCL' to fully start
    2009-5-8 18:54:13 oracle.sysman.emcp.util.PlatformInterface serviceCommand
    配置: Waiting for service 'OracleDBConsoleORCL' to fully start
    2009-5-8 18:54:23 oracle.sysman.emcp.EMConfig perform
    严重: 启动 Database Control 时出错
    有关详细资料, 请参阅 E:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_2009-05-08_06-47-39-下午.log 中的日志文件。
    2009-5-8 18:54:23 oracle.sysman.emcp.EMConfig perform
    配置: Stack Trace: 
    oracle.sysman.emcp.exception.EMConfigException: 启动 Database Control 时出错
    at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569)
    at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181)
    at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:150)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:155)
    at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
    at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
    at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
    at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)