我在windows xp操作系统下安装oracle10g
遇到em无法使用的问题,问题如下:
1、在使用DBCA创建数据库是出现如下提示:
由于一下错误,Enterprise Manager配置失败
无法对所有的EM相关帐户解锁
有关详细资料,请参阅F:\oracle\product\10.2.1\db_1\cfgtoollogs\dbca\orcl\emConfig.log中的日志文件。
您可以以后通过手动运行F:\oracle\product\10.2.0\db_1\bin\emca脚本,重新使用Enterpise Manager配置此数据库。
2、经过网上翻阅资料,发现使用emca -repos create可以创建em资料库
可是使用该命令,并填入相应参数后,出现如下错误提示:C:\Documents and Settings\IBM>emca -repos createEMCA 开始于 2008-6-13 10:06:58
EM Configuration Assistant, 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。输入以下信息:
数据库 SID: orcl
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:是否继续? [yes(Y)/no(N)]: y
2008-6-13 10:07:17 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emc
a_2008-06-13_10-06-58-上午.log。
2008-6-13 10:07:17 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2008-6-13 10:07:17 oracle.sysman.emcp.EMReposConfig invoke
严重: 创建资料档案库时出错
2008-6-13 10:07:17 oracle.sysman.emcp.EMReposConfig invoke
信息: 有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\e
mca_repos_create_<日期>.log 中的日志文件。
2008-6-13 10:07:17 oracle.sysman.emcp.EMConfig perform
严重: 创建资料档案库时出错
有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_20
08-06-13_10-06-58-上午.log 中的日志文件。
无法完成配置。 有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\em
ca\orcl\emca_2008-06-13_10-06-58-上午.log 中的日志文件。其中emca_2008-06-13_10-06-58-上午.log日志文件全文如下:
Check if repos user already exists.原值 6:    WHERE username=UPPER('&EM_REPOS_USER');
新值 6:    WHERE username=UPPER('SYSMAN');
原值 8:   IF ( '&EM_CHECK_TYPE' = 'EXISTS') THEN
新值 8:   IF ( 'NOT_EXISTS' = 'EXISTS') THEN
原值   11:  raise_application_error(-20000, '&EM_REPOS_USER does not exists..');
新值   11:  raise_application_error(-20000, 'SYSMAN does not exists..');
原值   14:   ELSIF ( '&EM_CHECK_TYPE' = 'NOT_EXISTS' ) THEN
新值   14:   ELSIF ( 'NOT_EXISTS' = 'NOT_EXISTS' ) THEN
原值   17:  raise_application_error(-20001, '&EM_REPOS_USER already exists..');
新值   17:  raise_application_error(-20001, 'SYSMAN already exists..');
原值   21:  raise_application_error(-20002, 'Invalid Check type &EM_CHECK_TYPE');
新值   21:  raise_application_error(-20002, 'Invalid Check type NOT_EXISTS');
DECLARE
*
第 1 行出现错误:
ORA-20001: SYSMAN already exists..
ORA-06512: 在 line 173、再度上网寻求帮助,发现使用如果使用上面命令出错可以先将资料库删除,使用em -repos drop命令,然后再重新创建,可是使用该命令依然出错,提示信息如下
C:\Documents and Settings\IBM>emca -repos dropEMCA 开始于 2008-6-13 10:11:59
EM Configuration Assistant, 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。输入以下信息:
数据库 SID: orcl
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:是否继续? [yes(Y)/no(N)]: y
2008-6-13 10:12:15 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emc
a_2008-06-13_10-11-59-上午.log。
2008-6-13 10:12:15 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2008-6-13 10:12:17 oracle.sysman.emcp.util.PlatformInterface executeCommand
警告: 执行 CMD /C F:\oracle\product\10.2.0\db_1\sysman\admin\emdrep\bin\RepManag
er.bat -connect (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mah)(POR
T=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl))) -repos_user SYSMAN -action drop -ve
rbose -output_file F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_repo
s_drop_2008-06-13_10-12-15-上午.log  时出错
2008-6-13 10:12:17 oracle.sysman.emcp.EMReposConfig invoke
严重: 删除资料档案库时出错。
2008-6-13 10:12:17 oracle.sysman.emcp.EMReposConfig invoke
信息: 有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\e
mca_repos_drop_<日期>.log 中的日志文件。
2008-6-13 10:12:17 oracle.sysman.emcp.EMConfig perform
严重: 删除资料档案库时出错。
有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_20
08-06-13_10-11-59-上午.log 中的日志文件。
无法完成配置。 有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\em
ca\orcl\emca_2008-06-13_10-11-59-上午.log 中的日志文件。
emca_2008-06-13_10-11-59-上午.log 全文如下:
[13-06-2008 10:12:16] Enter SYS user's password : 
[13-06-2008 10:12:16] 
[13-06-2008 10:12:16] Enter repository user password : 
[13-06-2008 10:12:16] 
[13-06-2008 10:12:16] Getting temporary tablespace from database...
[13-06-2008 10:12:17] Could not connect to SYS/(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=mah)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl))): ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)问题依然没有解决,请求各位达人指教,万分感谢。
 

解决方案 »

  1.   

    emConfig.log全文见下贴
    2008-6-13 9:19:10 oracle.sysman.emcp.util.OUIInventoryUtil setOUILoc
    配置: Setting oracle.installer.oui_loc to F:\oracle\product\10.2.0\db_1\oui
    2008-6-13 9:19:10 oracle.sysman.emcp.util.OUIInventoryUtil setOUILoc
    配置: Setting oracle.installer.oui_loc to F:\oracle\product\10.2.0\db_1\oui
    2008-6-13 9:19:13 oracle.sysman.emcp.util.CentralAgentUtil getCentralAgentHomeAndURL
    配置: Central Agent home and URL: {}
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LOG_FILE value: F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: HOST value: mah
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: PORT value: 1522
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SID value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LISTENER value: LISTENER
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LISTENER_OH value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag '-config' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'db' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: EM_HOME value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: DB_UNIQUE_NAME value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SERVICE_NAME value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: ORACLE_HOME value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'dbcontrol' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'UPDATE_EMAIL' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag '-backup' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'create' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.util.FileUtil _copyFile
    配置: 正在将文件 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\emca_2008-06-13_09-19-10-上午.log 复制到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_2008-06-13_09-19-10-上午.log
    2008-6-13 9:24:33 oracle.sysman.emcp.EMConfig perform
    信息: 正在将此操作记录到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log。
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'CHECK_CONFIG' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    emConfig.log全文见下贴
    2008-6-13 9:19:10 oracle.sysman.emcp.util.OUIInventoryUtil setOUILoc
    配置: Setting oracle.installer.oui_loc to F:\oracle\product\10.2.0\db_1\oui
    2008-6-13 9:19:10 oracle.sysman.emcp.util.OUIInventoryUtil setOUILoc
    配置: Setting oracle.installer.oui_loc to F:\oracle\product\10.2.0\db_1\oui
    2008-6-13 9:19:13 oracle.sysman.emcp.util.CentralAgentUtil getCentralAgentHomeAndURL
    配置: Central Agent home and URL: {}
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LOG_FILE value: F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: HOST value: mah
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: PORT value: 1522
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SID value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LISTENER value: LISTENER
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: LISTENER_OH value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag '-config' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'db' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: EM_HOME value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: DB_UNIQUE_NAME value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SERVICE_NAME value: orcl
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: ORACLE_HOME value: F:\oracle\product\10.2.0\db_1
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'dbcontrol' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'UPDATE_EMAIL' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag '-backup' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'create' set to false
    2008-6-13 9:24:33 oracle.sysman.emcp.util.FileUtil _copyFile
    配置: 正在将文件 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\emca_2008-06-13_09-19-10-上午.log 复制到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emca_2008-06-13_09-19-10-上午.log
    2008-6-13 9:24:33 oracle.sysman.emcp.EMConfig perform
    信息: 正在将此操作记录到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log。
    2008-6-13 9:24:33 oracle.sysman.emcp.ParamsManager setFlag
    配置: Flag 'CHECK_CONFIG' set to true
    2008-6-13 9:24:33 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: orcl, oracleHome: F:\oracle\product\10.2.0\db_1, and user: SYS
    2008-6-13 9:24:34 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-6-13 9:24:34 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: orcl, oracleHome: F:\oracle\product\10.2.0\db_1, and user: DBSNMP
    2008-6-13 9:24:35 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-6-13 9:24:35 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 MODIFY_SID 的值。
    2008-6-13 9:24:35 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine connecting with SID: orcl, oracleHome: F:\oracle\product\10.2.0\db_1, and user: SYS
    2008-6-13 9:24:35 oracle.sysman.emcp.util.GeneralUtil initSQLEngine
    配置: SQLEngine created successfully and connected
    2008-6-13 9:24:36 oracle.sysman.emcp.ParamsManager setFlag
    内容过长,下贴发
      

  2.   

    太多了,只把后半部分发出来吧。配置: 开始执行: CMD /C F:\oracle\product\10.2.0\db_1\sysman\admin\scripts\emca\emcaDbUtil.bat "F:\oracle\product\10.2.0\db_1\sysman\admin\scripts;F:\oracle\product\10.2.0\db_1\bin;" F:/oracle/product/10.2.0/db_1/perl/5.8.3/bin/MSWin32-x86-multi-thread\perl.exe F:\oracle\product\10.2.0\db_1\sysman\admin\scripts\emca\emcaDbUtil.pl F:\oracle\product\10.2.0\db_1 orcl SYS SYSDBA declare repos_pwd varchar2(30); view_user varchar2(30); view_user_pwd varchar2(30); view_user_acc_status varchar2(30); begin repos_pwd := ?; sysman.mgmt_view_priv.get_view_user(view_user); select account_status into view_user_acc_status from sys.dba_users where upper(username) = upper ( view_user ); IF view_user_acc_status like '%LOCKED%' THEN execute immediate 'alter user ' || view_user || ' account unlock'; END IF; IF view_user_acc_status like '%EXPIRED%' THEN sysman.mgmt_view_priv.set_view_user_creds ( repos_pwd ); sysman.mgmt_view_priv.GET_VIEW_USER_CREDS ( view_user, view_user_pwd ); execute immediate 'alter user ' || view_user || ' identified by ' || view_user_pwd || ''; END IF; end; 1 SYSMAN_PWD 
    2008-6-13 9:24:54 oracle.sysman.emcp.util.PlatformInterface executeCommand
    配置: Exit value of 1
    2008-6-13 9:24:54 oracle.sysman.emcp.util.PlatformInterface executeCommand
    配置: Arguments passed F:\oracle\product\10.2.0\db_1 orcl SYS SYSDBA declare repos_pwd varchar2(30); view_user varchar2(30); view_user_pwd varchar2(30); view_user_acc_status varchar2(30); begin repos_pwd := ?; sysman.mgmt_view_priv.get_view_user(view_user); select account_status into view_user_acc_status from sys.dba_users where upper(username) = upper ( view_user ); IF view_user_acc_status like '%LOCKED%' THEN execute immediate 'alter user ' || view_user || ' account unlock'; END IF; IF view_user_acc_status like '%EXPIRED%' THEN sysman.mgmt_view_priv.set_view_user_creds ( repos_pwd ); sysman.mgmt_view_priv.GET_VIEW_USER_CREDS ( view_user, view_user_pwd ); execute immediate 'alter user ' || view_user || ' identified by ' || view_user_pwd || ''; END IF; end; 1 SYSMAN_PWD Connecting to database orcl in home F:\oracle\product\10.2.0\db_1 with user "SYS" role "SYSDBA". 
    connected to database. 
    sql to execute declare repos_pwd varchar2(30); view_user varchar2(30); view_user_pwd varchar2(30); view_user_acc_status varchar2(30); begin repos_pwd := ?; sysman.mgmt_view_priv.get_view_user(view_user); select account_status into view_user_acc_status from sys.dba_users where upper(username) = upper ( view_user ); IF view_user_acc_status like '%LOCKED%' THEN execute immediate 'alter user ' || view_user || ' account unlock'; END IF; IF view_user_acc_status like '%EXPIRED%' THEN sysman.mgmt_view_priv.set_view_user_creds ( repos_pwd ); sysman.mgmt_view_priv.GET_VIEW_USER_CREDS ( view_user, view_user_pwd ); execute immediate 'alter user ' || view_user || ' identified by ' || view_user_pwd || ''; END IF; end; 
    noOfParams to bind: 1. 
    sql execute successfully. 2008-6-13 9:24:54 oracle.sysman.emcp.util.PlatformInterface executeCommand
    配置: 'C:\WINDOWS\system32\seshost.exe' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。2008-6-13 9:24:54 oracle.sysman.emcp.util.PlatformInterface executeCommand
    配置: 执行 CMD /C F:\oracle\product\10.2.0\db_1\sysman\admin\scripts\emca\emcaDbUtil.bat "F:\oracle\product\10.2.0\db_1\sysman\admin\scripts;F:\oracle\product\10.2.0\db_1\bin;" F:/oracle/product/10.2.0/db_1/perl/5.8.3/bin/MSWin32-x86-multi-thread\perl.exe F:\oracle\product\10.2.0\db_1\sysman\admin\scripts\emca\emcaDbUtil.pl F:\oracle\product\10.2.0\db_1 orcl SYS SYSDBA declare repos_pwd varchar2(30); view_user varchar2(30); view_user_pwd varchar2(30); view_user_acc_status varchar2(30); begin repos_pwd := ?; sysman.mgmt_view_priv.get_view_user(view_user); select account_status into view_user_acc_status from sys.dba_users where upper(username) = upper ( view_user ); IF view_user_acc_status like '%LOCKED%' THEN execute immediate 'alter user ' || view_user || ' account unlock'; END IF; IF view_user_acc_status like '%EXPIRED%' THEN sysman.mgmt_view_priv.set_view_user_creds ( repos_pwd ); sysman.mgmt_view_priv.GET_VIEW_USER_CREDS ( view_user, view_user_pwd ); execute immediate 'alter user ' || view_user || ' identified by ' || view_user_pwd || ''; END IF; end; 1 SYSMAN_PWD  时出错
    2008-6-13 9:24:54 oracle.sysman.emcp.EMReposConfig unlockAccounts
    配置: Failed to unlock mgmt_view account
    2008-6-13 9:24:54 oracle.sysman.emcp.EMReposConfig invoke
    严重: 无法对所有 EM 相关帐户解锁
    2008-6-13 9:24:54 oracle.sysman.emcp.EMConfig perform
    严重: 无法对所有 EM 相关帐户解锁
    有关详细资料, 请参阅 F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log 中的日志文件。
    2008-6-13 9:24:54 oracle.sysman.emcp.EMConfig perform
    配置: Stack Trace: 
    oracle.sysman.emcp.exception.EMConfigException: 无法对所有 EM 相关帐户解锁
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:253)
    at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:133)
    at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:142)
    at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:436)
    at java.lang.Thread.run(Thread.java:534)
      

  3.   

     楼上请说详细,愿闻其祥,十分感谢。
    是否需要修改这个文件windows目录下的host文件?如何修改呢?
      

  4.   

    使用lsnrctl status命令竟然发现监听端口是1522
    可是重新填入参数后,问题依然没有解决
      

  5.   

    这个问题我以前遇到过,就是用EM启动数据库有问题.(SQLPLUS能连接,启动EM所需的服务也已启动,但就是连不上) 
    网上有很多帖子是关于这个问题的答案,但我试了大多都不行. 
    我的解决方法是,卸载现有数据库,然后用DATABASE CONFIGURATION ASSISTANT重新创建一个数据库,问题能马上解决. 
      

  6.   

    谢谢楼上回复,这个方法我也试过,但是依然不能解决,我使用的系统陪我走过了三年半的风风雨雨,注册表像个记烂账的文本文件一样经常被我改来改去,其间系统也经历过无数木马,病毒的考验,每次我都是充满耐心的化解,但是这次我用遍了浑身解数依然无法解决。其实问题已开始我就知道最简单的办法就是重装系统,可是我一直不愿意做这个选择。最后却不得不作这个选择。我把系统残害的过于惨烈了,以至于在安装oracle10g的时候这个em控制台总是无法启动,没有办法,我只好重装,正如我所预料,一切问题完全化解于无形,感谢大家对我的建议,同时也悲哀于对于操作系统级的问题,自己是如此的无助。
      

  7.   

    真的是垃圾,,害我做了一晚上,也没有解决问题,就是安装后以sysdba方式登陆就出现什么IO错误
      

  8.   

    很正常  我的oem也出问题了!