日期:2014-05-16  浏览次数:21077 次

浏览器中可以正常访问dbconsole,可是服务器端无法查看dbconsole的运行状态
我安装的是Oracle 11g,Oracle的在线文档中说要从浏览器中访问Database Control console process,那么在Oracle服务器上必须起动了Database Control console process dbconsole。
事实上是我可以通过浏览器访问dbconsole,可是当我在oracle服务器上运行命令emctl status dbconsole查看dbconsole的运行状态时报如下错误,
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.
我的疑问是:既然我可以在浏览器中访问dbconsole了,那也就意味着服务器上的dbconsole服务已经起动起来了,并且运行正常,那为什么在服务器上查询服务状态的时候还会报这样的错误信息?

------解决方案--------------------
请参考:

其实就是em的问题重新配置emca即可。以后注意之前设置好ORACLE_UNQNAME 。
 
总结收藏:
 
1,修改DBSNMP密码:
 
重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。
 
sql>alter user dbsnmp identified by xxx;
 
2,删除早期DBCONSOLE创建的用户:
 
sql>drop role MGMT_USER;
 
sql>drop user MGMT_VIEW cascade;
 
sql>drop user sysman cascade;
 
3,删除早期DBCONSOLE创建的对象:
 
sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
 
sql>drop public synonym SETEMVIEWUSERCONTEXT;
 
4,重新创建DBCONSOLE:(如果是在windows下,要先到注册表删除DBCONSOLE的服务,重启电脑)
 
$emca -config dbcontrol db -repos create
 
如果此命令还是失败,可直接利用重建命令:
 
$emca -config dbcontrol db -repos recreate
 
根据提示,先输入SID,再输入Y继续;
 
输入端口1521,输入SYS密码,输入DBSNMP密码,输入SYSMAN 密码,输入Y继续
 
完成。
 
5,检查状态 emctl status dbconsole。