前提:在win7 professional 版上安装oracle 11g 后,在数据库进行自动配置时,提示协议出错,当时也没管他,就直接点退出了。启动oracle 的相关服务进程,进入sql plus,执行相关操作,一切正常,但当要进入OEM 时,系统提示找不到相应页面。初步估计就是当时配置时协议出错后没有继续完成OEM 的原因造成的。
动作:
根据安装时所报的错误,暂定为em 没有完成配置,手动进行重新配置。为确保配置环境的干净,先对em 档案库进行删除:
a. 进入 cmd, 启动 command line 命令窗口;
b. 输入 emca -deconfig dbcontrol db -repos drop,出现如下页面:
c. 输入对应的 SID以及提示的信息,结果如下:
从日志信息可以看到,确实是 EM 没有进行相关配置;
d. 从新创建 em 档案,使用下面的命令:
emca -config dbcontrol db -repos create
根据提示,输入对应的信息,等待系统完成配置,结果如下:
e. 从日志文件可以看出,创建失败,打开日志文件,报的错误是:SYSMAN 用户已经存在;
f. 执行以下操作:
Logon SQLPLUS as user SYS or SYSTEM, and drop the sysman account and management objects:
SQL> drop user sysman cascade;
SQL> drop role MGMT_USER;
SQL> drop user MGMT_VIEW cascade;
SQL> drop public synonym MGMT_TARGET_BLACKOUTS;
SQL> drop public synonym SETEMVIEWUSERCONTEXT;
g. 重新运行命令创建资料库,仍旧出错,查看日志发现错误日志为:
ORA-00955: name is already used by an existing object
这是由于同义词重复的原因造成,将提示的同义词进行删除,然后再次运行,直至系统提示创建配置成功!
h. 再次进入 oem,也就可以打开了!
总结:安装时出现的协议问题直接影响到oem 是可以解释的通的。遇到此类问题时,如果是新装就的机器建议重新卸载安装,上面提到的这种排错方式,事实上很浪费时间,特别是删除重复的同义词时,要想批量删除,只能编写相关的存储脚本,当然也可以用batch命令的形式完成,如果手动删除的话,那将是一件非常头疼的事情,故此安装完oracle 后一定要检查相应的日志文件,确保相关的组件服务都是安装正常的,否则调试修复是件痛苦的事情。