今天迁移了一次oracle,结果em无法启动,删除重建一直提示下面的错误,还有参数为设置的错误。最终找到问题所在,主要是hosts文件与监听地址导致的。导致的错误有以下:
错误一:log4j:ERROR No appenders could be found for category (emSDK.config).
log4j:ERROR Please initialize the log4j system properly.
错误二:严重: 无法在指定的范围内为以下进程分配端口: JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938] | [1830- 1849]
错误三:
严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。
解决方法
1、首先配置hosts文件,下面讲下hosts文件的格式
一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解析。
第一部份:网络IP地址;
第二部份:主机名或域名;
第三部份:主机名别名;
当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
2、修改监听程序,配置监听地址最好为主机名
3、重建EM
3.1、修改DBSNMP密码:
重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。
sql>alter user dbsnmp identified by 密码 ;
3.2、删除早期DBCONSOLE创建的用户:
sql>drop role MGMT_USER;
sql>drop user MGMT_VIEW cascade;
sql>drop user sysman cascade;
3.3、删除早期DBCONSOLE创建的对象:
sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
sql>drop PUBLIC SYNONYM SETEMVIEWUSERCONTEXT;
3.4、重新创建DBCONSOLE
$emca -config dbcontrol db -repos recreate
重建后端口可能会变成5500
如果重建还出现问题,请仔细检测hosts配置,em无法重建,跟hosts文件有很大关系
附emca命令
emca -repos create 创建一个EM资料库
emca -repos recreate 重建一个EM资料库
emca -repos drop 删除一个EM资料库
emca -config dbcontrol db 配置数据库的 Database Control
emca -deconfig dbcontrol db 删除数据库的 Database Control配置
emca -reconfig ports
emca -reconfig ports -dbcontrol_http_port 1160
emca -reconfig ports -agent_port 3940 重新配置db control的端口,默认端口为1158