EM资料库重建 手动删除资料库


由于原来的数据库已经被删除,再重做oem时需要用到监听,此时直接重做报如下错误:
 
[Oracle@localhost ~]$ emca -repos recreate 

Jul 30, 2014 7:15:53 PM oracle.sysman.emcp.EMReposConfig dropRepository

INFO: Dropping the EM repository (this may take a while) ...

Jul 30, 2014 7:15:54 PM oracle.sysman.emcp.util.PlatformInterface executeCommand
 
WARNING: Error executing /u01/app/oracle/10.2.0/db_1/sysman/admin/emdrep/bin/RepManager -connect (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl_asm))) -repos_user SYSMAN -action drop -verbose -output_file /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_repos_drop_2014-07-30_07-15-53-PM.log 
 

提示找不到监听,可是监听确实存在

[oracle@localhost ~]$ lsnrctl status 

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 30-JUL-2014 19:40:45

 

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

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.37.44.111)(PORT=1521)))
 
STATUS of the LISTENER

------------------------

Alias                    LISTENER

Version                  TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                30-JUL-2014 19:15:14

Uptime                    0 days 0 hr. 25 min. 31 sec

Trace Level              off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File  /u01/app/oracle/10.2.0/db_1/network/admin/listener.ora
 
Listener Log File        /u01/app/oracle/10.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.37.44.111)(PORT=1521)))

Services Summary...

Service "orclasm" has 1 instance(s).

  Instance "orclasm", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

 

索性直接创建新的oem
 
[oracle@localhost ~]$ emca -repos create
 
STARTED EMCA at Jul 30, 2014 7:22:28 PM

EM Configuration Assistant, Version 10.2.0.1.0 Production

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

 

Enter the following information:

Database SID: orclasm

Listener port number: 1521

Password for SYS user: 

Password for SYSMAN user: 

Do you wish to continue? [yes(Y)/no(N)]: Y

Jul 30, 2014 7:22:37 PM oracle.sysman.emcp.EMConfig perform

INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_2014-07-30_07-22-28-PM.log.
 
Jul 30, 2014 7:22:37 PM oracle.sysman.emcp.EMReposConfig createRepository

INFO: Creating the EM repository (this may take a while) ...

Jul 30, 2014 7:22:37 PM oracle.sysman.emcp.EMReposConfig invoke

SEVERE: Error creating the repository

Jul 30, 2014 7:22:37 PM oracle.sysman.emcp.EMReposConfig invoke

INFO: Refer to the log file at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_repos_create_<date>.log for more details.
 
Jul 30, 2014 7:22:37 PM oracle.sysman.emcp.EMConfig perform

SEVERE: Error creating the repository

Refer to the log file at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_2014-07-30_07-22-28-PM.log for more details.
 
Could not complete the configuration. Refer to the log file at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_2014-07-30_07-22-28-PM.log for more details.
 
CONFIG: ORA-20001: SYSMAN already exists..

ORA-06512: at line 17

 

观察生成的日志发现sysman用户已经存在,这是由于用老的em资料库配置数据库导致的,删除该用户
 
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:1467)
 
        at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeScript(SQLEngine.java:841)
 
        at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:265)
 
再次执行仍然报错,还没完了。。。

CONFIG: ORA-01921: role name 'MGMT_USER' conflicts with another user or role name
 
 

oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-01921: role name 'MGMT_USER' conflicts with another user or role name
 
 

        at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeImpl(SQLEngine.java:1467)
 
        at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeScript(SQLEngine.java:841)
 
        at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:265)
 
 

登入数据库,这下彻底删除与em有关的用户信息
 
 

select  grantee, granted_role from dba_role_privs where granted_role = 'MGMT_USER';
 drop role mgmt_user;
 drop user sysman cascade;
 drop user mgmt_view cascade;
 
SET HEADING OFF; 
 spool a.sql
 SELECT 'DROP PUBLIC SYNONYM ' || SYNONYM_NAME || ';'
 FROM ALL_SYNONYMS
 WHERE OWNER = 'PUBLIC' AND TABLE_OWNER ='SYSMAN';
 spool off
 SET HEADING ON; 
 @a.sql

 

再次创建资料库就行了

Jul 30, 2014 7:32:06 PM oracle.sysman.emcp.EMConfig perform

INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl_asm/emca_2014-07-30_07-31-53-PM.log.
 
Jul 30, 2014 7:32:06 PM oracle.sysman.emcp.EMReposConfig createRepository

INFO: Creating the EM repository (this may take a while) ...

Jul 30, 2014 7:39:28 PM oracle.sysman.emcp.EMReposConfig invoke

INFO: Repository successfully created

Enterprise Manager configuration completed successfully

相关内容