好贷网好贷款

解决oracle关于OEM 中“Enterprise Manager 无法连接到数据库实例”的问题

发布时间:2016-12-5 18:30:16 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"解决oracle关于OEM 中“Enterprise Manager 无法连接到数据库实例”的问题",主要涉及到解决oracle关于OEM 中“Enterprise Manager 无法连接到数据库实例”的问题方面的内容,对于解决oracle关于OEM 中“Enterprise Manager 无法连接到数据库实例”的问题感兴趣的同学可以参考一下。

前段时间,我的OEM忽然打不开了,上面显示“Enterprise Manager 无法连接到数据库实例”,而下面的提示则是数据库实例已开启,还有代理连接也能连上,但就是打不开OEM。 后来,我去网上,找了很多方法,它们不是无效,就是不能正常实行,经过了一周蛋疼的奋战,在一次重新配置DBConsole失败后,我的oracle完全坏掉了,不止是OEM的问题了,很多服务都不见了,再次尝试修复未果后,只好重装了。 然后,就是又过了一段时间,当我再次打开OEM时,它又出现这个问题了,我就发飙了,遂发誓一定要把它解决。这次我总算成功地解决了这个问题了,现把我第二次解决的经历与方法分享与下: 首先是关于网上说的sysman用户的账户问题,当时查到这么一个解决方案,说是OEM打不开是因为该账户被锁定了,于是我尝试着使用这个方法: 1、使用SQL PLUS. 在DOS模式下运行SQL PLUS. SQL> conn 请输入用户名: sys as sysdba 输入密码: 连接成功 SQL>desc dba_users 注意:如果此时提示发现该视图无效。用D:\oracle\product\10.2.0\db_1\RDBMS\ADMINsql.bsq 新建立user_astatus_map , DBA_USERS . 否则会显示如下信息: 名称 是否为空? 类型----------------------------------------- -------- ----------------------------USERNAME NOT NULL VARCHAR2(30)USER_ID NOT NULL NUMBERPASSWORD VARCHAR2(30)ACCOUNT_STATUS NOT NULL VARCHAR2(32)LOCK_DATE DATEEXPIRY_DATE DATEDEFAULT_TABLESPACE NOT NULL VARCHAR2(30)TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)CREATED NOT NULL DATEPROFILE NOT NULL VARCHAR2(30)INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)EXTERNAL_NAME VARCHAR2(4000)SQL> select username,account_status from dba_users where username='SYSMAN' ;USERNAME ACCOUNT_STATUS------------------------------ --------------------------------SYSMAN LOCKEDSQL>alter user sysman account unlock; 用户已更改。 此时系统就可以连接到数据库了。 结果发现我的账户果然是被锁定了的,按照该方法进行解锁后,再次打开OEM,还是进不去,然后在sqlplus下查看sysman用户的状态,发现又被锁定了。开始以为是因为没有在管理员权限下运行的原因(以前采用其他办法时,的确碰见过部分原因是这个),于是在管理员模式下继续改办法,无效。而且,我发现,只要每次解锁后,再次打开OEM都会在次被锁上,我就无语了。 只好再次去茫茫网络中搜寻,又被我找到了貌似的答案,由于OEM打开时会尝试使用这些这些用户连接数据库,由于profiles的限制造成锁定,于是以管理员用户登陆到数据库: SQL> ALTER PROFILE DEFAULT LIMITfailed_login_attempts UNLIMITED ; 配置文件已更改 然后还是不行,又有说法是密码必须改回初始密码,否则多次登录错误会造成账户被锁定,于是修改sysman密码为初始密码: SQL> alter user system identified by ***; 用户已更改。 然后还是登不上OEM,唯一的变换就是sysman用户不会再因为登录OEM而被锁定了,每次都是OPEN,可这样我就更不知道该怎么办了。只好放弃这条路,去采取别的办法,然后再网上我又找到另外一种方式: 1、重新配置em C:\Documents and Settings\Administrator>emca -config dbcontrol db  EMCA 开始于 2008-12-18 13:55:39 EM Configuration Assistant 10.2.0.1.0 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID:best 已为数据库 XBOMS 配置了 Database Control 您已选择配置 Database Control, 以便管理数据库 XBOMS 此操作将移去现有配置和默认设置, 并重新执行配置 是否继续? [yes(Y)/no(N)]:Y 监听程序端口号:1521 SYS 用户的口令: DBSNMP 用户的口令: SYSMAN 用户的口令: (如果提示密码不对的话,用alter user SYSMAN identified by xxx 来改) 通知的电子邮件地址 (可选): 通知的发件 (SMTP) 服务器 (可选): ----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ E:\oracle\product\10.2.0\db_1 数据库主机名 ................ wuhao 监听程序端口号 ................ 1521 数据库 SID ................ best 通知的电子邮件地址 ............... 通知的发件 (SMTP) 服务器 ............... ----------------------------------------------------------------- 是否继续? [yes(Y)/no(N)]:Y 2008-12-18 13:57:04 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 E:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\XBOMS\em ca_2008-12-18_01-55-39-下午.log。 2008-12-18 13:57:12 oracle.sysman.emcp.util.DBControlUtil stopOMS 信息: 正在停止 Database Control (此操作可能需要一段时间)... 2008-12-18 13:57:59 oracle.sysman.emcp.util.DBControlUtil startOMS 信息: 正在启动 Database Control (此操作可能需要一段时间)... 2008-12-18 13:58:39 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: 已成功启动 Database Control 2008-12-18 13:58:39 oracle.sysman.emcp.EMDBPostConfig performConfiguration 警告: 无法创建 Database Control 快捷方式 2008-12-18 13:58:39 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: >>>>>>>>>>> Database Control URL 为http://wuhao:5500/em<<<<<<<<<<< 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2008-12-18 13:58:39 再次打开成功! 上帝总是希望熊猫能多承受一些苦难,所以理所当然,“再次打开成功” 没有应验在我的电脑上,而且我记得以前用过这种方式,触动错误还是一模一样的: 2011-8-3 3:05:05 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 D:\app\zhou\cfgtoollogs\emca\orcl\emca_2011_08_03_03_04_31.log。 2011-8-3 3:05:05 oracle.sysman.emcp.EMConfig perform 严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。 有关详细资料, 请参阅 D:\app\zhou\cfgtoollogs\emca\orcl\emca_2011_08_03_03_04_31.log 中的日志文件。 无法完成配置。 有关详细资料, 请参阅 D:\app\zhou\cfgtoollogs\emca\orcl\emca_2011_08_03_03_04_31.log 中的日志文件。 很显然,我的监听器是打开的,很不甘心,于是这次我专门针对这个严重错误去搜索,有很多种说法,有用net manager配置路径的,但我好不容易找到它在哪里,打开后却发现不知道怎么配置,于是换个方案: 不重建emca,先emca -repos drop删除emca,然后emca -config dbcontrol db重建emca吧。 看到这个方案就伤心,还记得上一次我的oracle就是被这个方案搞坏的,终于这次没敢尝试,于是继续搜索:经过仔细研究发现,在emConfig.log中使用如下hostname:配置: connectDesc : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=BlueAeri-PC)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))但是在listener.ora中是这样的:(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))显然 BlueAeri-PC 是不能访问 localhost的,因此有两个解决方法:1、单机用户适用:增加操作系统环境变量:ORACLE_HOSTNAME=localhost2、服务器适用:在listener.ora中增加对BlueAeri-PC或ip地址的侦听提示,在emConfig.log中仍然会报以下错误,不过不用理会:配置: 未设置参数 ORACLE_HOSTNAME 的值。 我记得以前找过的许多方法都说是IP问题了,于是兴致勃勃的去找到这两个文件打开一看,又傻眼了,他们都是localhost,我就无语了,最后在抱着试一试的心态下,我给电脑配置了ORACLE_HOSTNAME的环境变量,然后,重新配置em,十多分钟后……竟然配置成功了,接着,我怀着七上八下的心打开浏览器,终于见到了我可爱的登陆界面,尝试登陆也成功了,有时候,幸福就是来的这么突然,在你快要放弃的时候它就突然出现在你眼前。 总结:oracle的服务是很脆弱的,对IP特别敏感,在个人电脑上(因为服务器一般不会随便变更IP地址)这点尤为重要,所以我们在关电脑前最好先把oracle的服务都关了。(其实对于这个问题的解决的麻烦过程,主要还在于对oracle的三层结果不是很清楚,其底层配置命令的用途究竟为何也不甚了解,所以以后如果选择oracle数据库的童鞋一定要首先对其整个结构有了基础的了解,才不会在这些蛋疼的问题上浪费时间,OVER!!!)

上一篇:Linux yum详解
下一篇:关于VisualStudio性能分析数据中的独占样本数和非独占样本数的意义

相关文章

相关评论