在DBCA 单实例 创建过程中报错如下
由于我是ASM单实例数据库创建,所以我使用grid用户创建的 listener 结果导致如上报错
在EM创建资料库的时候,需要记录listener的home 目录
对于oracle用户来说,listener的home目录是/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
对于grid用户来说,listener的home目录是/u01/app/11.2.0/grid/network/admin
所以在最后的配置时才会出现如上报错,此时我们只需要将listener关掉,使用oracle用户创建一个listener即可,创建完成后执行
[grid@oel11g admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-MAR-2013 14:03:22
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oel11g)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 11-MAR-2013 13:34:08
Uptime 0 days 0 hr. 29 min. 14 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /u01/app/oracle/diag/tnslsnr/oel11g/listener/alert/log.xml ·····确保这是指向的目录是/u01/app/oracle/ 而不是/u01/app/grid
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oel11g)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "TESTDB" has 1 instance(s).
Instance "TESTDB", status READY, has 1 handler(s) for this service...
Service "TESTDBXDB" has 1 instance(s).
Instance "TESTDB", status READY, has 1 handler(s) for this service...
The command completed successfully
然后执行脚本/u01/app/oracle/product/11.2.0/dbhome_1/bin/emca 重新配置EM
方法如下:
1. [oracle@oel11g bin]$ emca -deconfig dbcontrol db --删除dbcontrol配置信息
2. [oracle@oel11g bin]$ emca -repos drop ---删除repository
3. [oracle@oel11g bin]$ emca -config dbcontrol db -repos create ---重建EM
如果不执行第1、2步操作的话很可能会报如下错误
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:1650)
at oracle.sysman.assistants.util.sqlEngine.SQLEngine.executeScript(SQLEngine.java:1000)
at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:339)
at oracle.sysman.assistants.util.sqlEngine.SQLPlusEngine.executeScript(SQLPlusEngine.java:380)
at oracle.sysman.emcp.EMReposConfig.createRepository(EMReposConfig.java:510)
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:228)
at oracle.sysman.emcp.EMReposConfig.invoke(EMReposConfig.java:157)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:253)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:589)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1448)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:573)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:521)
以上是因为对EM资料库的信息没有删除干净导致的原因。
创建完成后执行
[oracle@oel11g ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
https://oel11g:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/oel11g_TESTDB/sysman/log
错误解决完毕
常用的命令语法:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26474945/viewspace-755731/ ,如需转载,请注明出处,否则将追究法律责任。