最近在学习Oracle,平常喜欢使用EM查看数据库状态,但是在最近突然发现EM连接不上Oracle数据库了,不知道问题出在哪里,只好卸载了重装。但是,在使用了几天以后,又出现了相同的问题,于是下决心将这个问题解决。

图1、出错界面

网上查找资料,说是这个问题可以通过emca重建资料库来解决,具体操作如下:

1、先删除原来的配置:打开SQL PLUS,以sys账户登录Oracle,执行命令

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;
同义词已删除。

2、到这里我们已经删除了原来的em配置,接下来创建新的配置。这里需要注意,下面的步骤是在DOS环境下执行的,找到cmd命令框,进行下面的操作:

(这一部分代码由于未作保存,从网上找了一个除文件路径外均相同的代码,不用理会)

C:\Users\zhou>emca -repos recreate

EMCA 开始于 2011-8-3 3:04:32
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息:
数据库 SID: 数据库 SID: 数据库 SID:
数据库 SID: orcl
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令:
是否继续? [是(Y)/否(N)]: y
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 中的日志文件

这个问题困扰了我很久,最后解决如下:

[①增加系统环境变量:ORACLE_HOSTNAME=localhost。这一步有的博客上有介绍,有的没有,我添加了该系统环境变量。到底要不要添加,以后在做验证,这里不做讨论]

①打开Oracle中的net manager里面的监听目录,在数据库服务中添加如下图的信息,然后点击:文件->保存网络配置。关闭net manager。

②重新启动监听服务,以管理员方式启动cmd,执行命令lsnrctl reload即可。如下图:

3、上面的问题解决了,接下来重新配置em。

C:\WINDOWS\system32>emca -repos recreate

EMCA 开始于 2016-12-11 16:03:44
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息:
数据库 SID: orcl
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令: 是否继续? [是(Y)/否(N)]: y
2016-12-11 16:04:10 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 e:\app\admin\cfgtoollogs\emca\orcl\emca_2016_12_11_16_03_44.log。
2016-12-11 16:04:10 oracle.sysman.emcp.EMReposConfig invoke
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2016-12-11 16:04:11 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
2016-12-11 16:04:11 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2016-12-11 16:07:21 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2016-12-11 16:07:21 C:\WINDOWS\system32>emca -config dbcontrol db EMCA 开始于 2016-12-11 16:10:44
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息:
数据库 SID: orcl
已为数据库 orcl 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 orcl
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [是(Y)/否(N)]: y
监听程序 ORACLE_HOME [ e:\app\admin\product\11.2.0\dbhome_1 ]:
SYS 用户的口令:
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ e:\app\admin\product\11.2.0\dbhome_1 本地主机名 ................ localhost
监听程序 ORACLE_HOME ................ e:\app\admin\product\11.2.0\dbhome_1
监听程序端口号 ................ 1521
数据库 SID ................ orcl
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ............... -----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2016-12-11 16:12:26 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 e:\app\admin\cfgtoollogs\emca\orcl\emca_2016_12_11_16_10_44.log。
2016-12-11 16:12:30 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2016-12-11 16:12:52 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...
2016-12-11 16:13:14 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功上载配置数据
2016-12-11 16:13:20 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 软件库已配置成功。
2016-12-11 16:13:20 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 正在部署预配档案...
2016-12-11 16:13:36 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 预配档案部署成功。
2016-12-11 16:13:36 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2016-12-11 16:13:40 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保护 Database Control。
2016-12-11 16:13:40 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2016-12-11 16:14:16 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2016-12-11 16:14:16 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 https://localhost:1158/em <<<<<<<<<<<
2016-12-11 16:14:17 oracle.sysman.emcp.EMDBPostConfig invoke
警告:
************************ WARNING ************************ 管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。加密密钥已放置在文件 e:/app/admin/product/11.2.0/dbhome_1/localhost_orcl/sysman/config/emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可用。 ***********************************************************
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2016-12-11 16:14:17

到此,em已经重新配置完成,重启即可。

【oracle】Enterprise Manager 无法连接到数据库实例。下面列出了组件的状态---个人解决方案的更多相关文章

  1. OEM:Enterprise Manager 无法连接到数据库实例 错误解决

    今天遇到了一个Enterprise Manager 无法连接到数据库实例的错误,无法使用OEM,经过检查发现是 SYSMAN用户被锁定了,关于Enterprise Manager 无法连接到数据库实例 ...

  2. oracle11g OEM无法连接到数据库实例解决办法

    我的电脑是32位的win7家庭版系统,那么这样的系统能不能装上oracle呢?能的!就是可能会出错,在装oracle时,每个人遇到的问题都不同,有的人装了双系统,有的人重做了系统,真心酸,先让电脑断网 ...

  3. 将oracle冷备份恢复到另外一个数据库实例中

    因更换服务器需要将Oracle数据库转移到另外台Oracle中.说明: 1.测试环境为:windows server2003 和 oracle 10g. 2.2台服务器安装的程序目录一样,数据目录不一 ...

  4. Oracle Enterprise Manager打不开的解决方法

    之前OEM一直可以打开,但今天上班发现打不开了,输入http://localhost:1158/em 提示该网页无法打开. 那么检查一下: cmd进命令行 C:\Documents and Setti ...

  5. Oracle Enterprise Manager Cloud Control 12c R4 安装配置

    准备软件 em12.1.0.4_linux64_V45344-01.zip em12.1.0.4_linux64_V45345-01.zip em12.1.0.4_linux64_V45346-01. ...

  6. Oracle DB 通过 Oracle Enterprise Manager注册要使用的恢复目录

    通过 Oracle Enterprise Manager  注册要使用的恢复目录.  a)  在 EM 中,导航到“Availability > Recovery Catalog Setting ...

  7. Oracle Enterprise Manager快速重建

    我们在使用Oracle时, 可以利用Oracle自带的EM(Enterprise Manager)来更方便的管理我们的数据库.但是有时候我们的em却有时候无法连接,造成这个问题的原因有好多,例如没有正 ...

  8. ORACLE的客户端如何连接到数据库

    如何连接oracle数据库及故障解决办法   如何配置才能使客户端连到数据库:     要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是jav ...

  9. Oracle基础(二) 创建数据库实例

    Oracle中数据库也称为数据库实例,在Oracle在安装过程中可以选择创建数据库,也可以再安装之后再进行创建. 一般创建数据库可以使用图形界面方式和SQL指令的方式,由于SQL指令方式较为复杂,这里 ...

随机推荐

  1. 利用 Composer 一步一步构建自己的 PHP 框架(四)——使用 ORM

    本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过前三篇文章 基础准备 . 构建路由 和 设计 ...

  2. [iOS 10 day by day] Day 1:开发 iMessage 的第三方插件

    本文介绍了 iOS 10 的一个重要更新:Messages 应用支持第三方插件了.作者用一个小游戏作为例子,说明了插件开发从建工程开始,到绘制界面.收发消息的全过程. <iOS 10 day b ...

  3. CoreDate的使用

    勾选 xcode的 CoreDate会帮我们自动创建 CoreData 但是我们通常不那样使用,通常把 CoreDate 在单利类中创建, // // ZYDAO.h // StoryboardTes ...

  4. iOS之Xcode8 Auto Layout新特性

    目录 1.Incrementally Adopting Auto Layout 2.Design and Runtime Constraints 3.NSGridView 4.Layout Feedb ...

  5. JPA注释,内嵌数据对象

    @Data @Embeddable @NoArgsConstructor @AllArgsConstructor @JsonNaming(value = LowerCaseWithUnderscore ...

  6. Telnet客户端连接服务器,看不见字符,只显示横线

    Telnet 窗口看不见字符,只显示小横线 在用telnet连接tomcat服务器的 时候,窗口中不显示字符,显示成一个一个的横线 解决办法: 按住“Ctrl+]” 回车解决问题

  7. [改善Java代码]使用构造函数协助描述枚举项

    一.分析 一般来说,我们经常使用的枚举项只有一个属性,即排序号,其默认值是从0.1.2... ....但是除了排序号外,枚举还有一个(或多个)属性:枚举描述,它的含义是通过枚举的构造函数,声明每个枚举 ...

  8. #if...#endif的用法总结

    在写到  pwm音阶程序的时候,在代码中有#if...#endif的用法问题,相关音阶的代码如下: /************************************************* ...

  9. 【推公式】UVa 10995 - Educational Journey

    1A~,但后来看人家的代码好像又写臭了,T^T... Problem A: Educational journey The University of Calgary team qualified f ...

  10. hdu 4009 最小树形图

    思路:唯一一个值得一提的就是建一个0号根节点,往每个房子建一条边,权值为房子的高度乘以X. #include<iostream> #include<cstdio> #inclu ...