数据库已关闭。请指定主机身份证明以访问数据库重新启动和诊断工具

感谢这个提供的方法https://www.2cto.com/database/201503/378861.html

我只是做一次详细的说明。首先看下面的是无法登陆的界面,虽然有用户名,口令,但不管你输入什么,都提示你用户名或密码错误。

以下是原文,我用红色做标注。

不能登录EM,执行emca -config dbcontrol db 不知道总是默认1522的端口号,无奈,google一番,从下面第二步开始执行。。。(我的监听没问题)

1、打开oracle配置工具里的Net Configuration Assistant,选择“监听程序配置”,下一步,接着选择“重新配置”,下一步,仔细看下每一步配置的参数是否正确就OK了。 

正常使用的数据,这一步可以不用做。但要知道自己的数据库的监听端口是哪一个,我的改了,是15210.
2、在命令行上使用“emca -deconfig dbcontrol db”命令删除配置 

这个命令是在哪的呢?我开始一直以为是sql plus,在里面运行发现没有这个命令。原来,就在最简单的cmd里面,真是想得太多了。这步运行不会有太多问题。
3、使用“emca -repos drop”命令删除 repository 

主要问题在这步,没理解要填的端口指的是监听端口,以为是em的访问端口,导致几次都不成功。

其实也没啥难的,就是要填要管理的那个数据库sid,一般是orcl,你有多个数据库或者有重命名的要按实际填写。接下来就是输入监听程序端口号,我的就是15210,没更改的应该是1521.或是其他你更改的。

然后就是数据库密码了,这个不记得就没办法了。
注:第2、3步骤都要做,要不然在重新安装EM的时候会报“ ORA-20001: SYSMAN already exists..”的错误导致安装失败。 

4、使用“emca -config dbcontrol db -repos create”命令进行创建em。 

这个也没啥,数据库SID和监听端口号同上,通知发电子邮件地址这些可以直接按enter跳过就可以。
以上步骤做完后就成功创建好em了,点击开始菜单上的oracle文件夹里的Database control-orcl连接就可以正常访问em了。 
这里需要注意的是,之前我初次安装好oracle时访问em的地址是https://localhost:1158/em ,这里端口号是1158,而现在我重建em后访问时地址链接后面的端口号变成了5500.

我发现我的还是1158没有变化,不知道什么原因,不过总算是成功了。最后,看到正确的页面:

大吉大利,晚上吃鸡!

原文地址:https://www.cnblogs.com/lythen/p/8125123.html