首页 > 代码库 > 11g 重建EM 报ORA-20001: SYSMAN already exists

11g 重建EM 报ORA-20001: SYSMAN already exists

 

 

今天在安装11g(11.1.0.7.0)数据库之后,通过emca -config dbcontrol db -repos create 命令手工创建em的时候报错,查看日志后发现有以下错误

CONFIG: Spooling to C:\app\Administrator\cfgtoollogs\emca\orcl\emca_repos_create_2009_01_16_06_44_13.log
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMReposConfig createRepository
CONFIG: ORA-20001: SYSMAN already exists..
ORA-06512: at line 17

oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-20001: SYSMAN already exists..
ORA-06512: at line 17

        at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1530)
        at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeScript(SQLEngine.java:880)
        at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:270)
        at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:311)
        at oracle.sysman.emcp.EMReposConfig.createRepository(EMReposConfig.java:492)
        at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:218)
        at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:147)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:222)
        at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
        at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
        at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)
        at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:468)
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMReposConfig invoke
SEVERE: Error creating the repository
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMReposConfig invoke
INFO: Refer to the log file at C:\app\Administrator\cfgtoollogs\emca\orcl\emca_repos_create_.log for more details.
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMConfig perform
SEVERE: Error creating the repository
Refer to the log file at C:\app\Administrator\cfgtoollogs\emca\orcl\emca_2009_01_16_06_43_53.log for more details.
Jan 16, 2009 6:44:13 AM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace: 
oracle.sysman.emcp.exception.EMConfigException: Error creating the repository
        at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:230)
        at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:147)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:222)
        at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:535)
        at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1215)
        at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:519)
        at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:468)

 

经过同事提醒,才知道自己犯了一个很白痴的错误,在手工创建EM之前,需要先要删除EM配置信息:

具体操作如下 :

0、管理员方式启动cmd. 注意一定是管理员方式,否则后面的移动文件操作可能会造成失败。

1、使用emca -deconfig dbcontrol db命令删除配置

2、使用emca -repos drop删除repository

3、使用emca -config dbcontrol db -repos create 创建Database Control。

以上操作,也适用于10g。配置成功后,会有一下截图的提示内容。

技术分享

 

 

总结:

这种错误,要查看日志文件的具体记录:如E:\Files\Oracle\cfgtoollogs\emca\orcl 中的日志文件

emca_2016_10_22_11_29_55.log

可以看到类似于下面的内容:

技术分享

 

以上错误的提示内容为:

技术分享

 

只要按照出错的日志提示,便可以找到问题的根本原因,而非根据网上的关键字搜索结果,去修改配置,结果弄巧成拙反而浪费了大量的时间。

 

 

 

 

 

参考文章

11g 重建EM 报ORA-20001: SYSMAN already exists

 

11g 重建EM 报ORA-20001: SYSMAN already exists