日期:2014-05-17  浏览次数:20870 次

em使用异常,求建议
最近接手了一个基于windows2003的oracle10的数据库。发现里面的数据库的em用不起来,我就重建了一把。
emca -repos drop
emca -repos create
emca -config dbcontrol db
在过程当中遇到了两个问题:
一.到第三步的时候一直有问题dbsnmp用户的密码在修改以后验证的时候一直通不过,也不报错,就死在那边
做以下操作解决:
1.Stop dbconsole
2.set new password for dbsnmp
3.test dbsnmp new password by connect
4.edit $ORACLE_HOME/host_sid/sysman/emd/targets.xml
  Search for the line:
  <Property NAME="UserName" VALUE="6f5848a4f53a2d0a" ENCRYPTED="TRUE"/>
  <Property NAME="password" VALUE="829e1a25401de489" ENCRYPTED="TRUE"/>
  Replace the encrypted value by the new password value
  Replace TRUE by FALSE
5.restart dbconsole

二.
再启动,还是有问题,没有具体报错,把日志中的相关信息baidu以后,做如下处理:将主机名子unicom改为Unicom(就是把机器名的第一个字母更改为大写)
再操作,可以将三个命令顺利执行完。

em重建以后,可以正常登录,但是在em主页面中,有如下报错:
java.lang.Exception: Exception in sending Request :: null。而且我只能进“主目录”、“维护”标签,如果选择“性能”、“管理”标签,就会自动注销退出。
网上搜了一把,基本上都说是时区的问题,可是我机器以及数据库的时区都是正常的,但是我还是尽量按照他们说的去做了:
但是在执行完“emctl resetTZ agent”命令后,提示需要进入sql的sysman用户模式,执行一下以下语句:
exec mgmt_target.set_agent_tzrgn('Unicom:1830','Asia/Shanghai')
但是我执行的结果有以下报错:
SQL> exec mgmt_target.set_agent_tzrgn('Unicom:1830','Asia/Shanghai')
BEGIN mgmt_target.set_agent_tzrgn('Unicom:1830','Asia/Shanghai'); END;

*
第 1 行出现错误:
ORA-20233: Invalid agent name Unicom:1830
ORA-06512: 在 "SYSMAN.MGMT_TARGET", line 3683
ORA-06512: 在 line 1

已经困扰我四天了,拜求大师帮忙看看,给些意见,谢谢。

------解决方案--------------------
我是因为修改计算机名称导致Oracle不能用,进行了以下的配置,之后就好了。希望对你有用




Oracle 安装好后 hostname是不能乱改的.

How to change the Hostname of the Windows when the10Gwith ASM being used
Solution
When changing the Hostname, 4 files would be affected.
1) Tnsnames.ora
2) listener.ora
3) Oraclecsservice
4) Enterprise Manager 

1、D:\oracle\product\10.2.0\db_1目录下的 原计算机名.orcl------>修改后的计算机名.orcl

2、D:\oracle\product\10.2.0\db_1\oc4j\j2ee目录下的 OC4J_DBConsole_原计算机名_orcl----->OC4J_DBConsole_修改后的计算机名_orcl

3、D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN目录下的 listener.ora、sqlnet.ora、tnsnames.ora文件中的local名称

4、配置em


/*重新配置dbcosole
emca -repos drop
emca -repos create
emca -config dbcontrol db
emctl start dbconsole
*/ 基本上是删不干净的,所以使用下面的方法

当安装oracle的机器变了机器名,或者变了ip地址。那么原来的dbconsole就起不来了。当在dos下运行:emctl start dbconsole 的时候报错。
解决办法
 
同样适用于windows,unix,linux其他原因导致DBCONSOLE无法正常启动。

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.C:Documents and SettingsAdministrator>emca -config dbcontrol db -repos recreat
e -HOST wanglibo
 
具体步骤如下:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:Documents and SettingsAdministrator>emca -config dbcontrol db -repos recreat
e -HOST wanglibo


希望对你有帮助
------解决方案--------------------
问题代码:
Microsoft Windows [版本 6.1.7600]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\Administrator>hostname
ggsjy
C:\Users\Administrator>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.
C:\Users\Administrator>set ORACLE_SID=orcl
C:\Users\Administrator>emctl start dbconsole
OC4J Configuration issue. D:\oracle