系统环境:
windows server 2008 R2 Ent. 64bit
在用emca配置dbcontrol时,提示:“严重: 将配置数据上载到资料档案库时出错”,经查是IPV6造成的。把网卡配置中的ipv6禁用掉仍然不行,后又查询资料得知需要修改drivers/etc/下的hosts文件。
故障现象:
C:\Users\Administrator>emca -config dbcontrol db EMCA 开始于 2017-9-4 11:51:26 EM Configuration Assistant, 11.2.0.0.2 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: orcl 监听程序 ORACLE_HOME [ E:\app\Administrator\product\11.2.0\dbhome_2 ]: SYS 用户的口令: DBSNMP 用户的口令: SYSMAN 用户的口令: 通知的电子邮件地址 (可选): 通知的发件 (SMTP) 服务器 (可选): ----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ E:\app\Administrator\product\11.2.0\dbhome_2 本地主机名 ................ bt-db 监听程序 ORACLE_HOME ................ E:\app\Administrator\product\11.2.0\dbhome _2 监听程序端口号 ................ 1521 数据库 SID ................ orcl 通知的电子邮件地址 ............... 通知的发件 (SMTP) 服务器 ............... ----------------------------------------------------------------- 是否继续? [是(Y)/否(N)]: y 2017-9-4 11:51:54 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 E:\app\Administrator\cfgtoollogs\emca\orcl\emca_2017_09 _04_11_51_26.log。 2017-9-4 11:52:00 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository 信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)... 2017-9-4 11:55:07 oracle.sysman.emcp.EMReposConfig invoke 信息: 有关详细资料, 请参阅 E:\app\Administrator\cfgtoollogs\emca\orcl\emca_repos _config_<日期>.log 中的日志文件。 2017-9-4 11:55:07 oracle.sysman.emcp.EMReposConfig invoke 严重: 将配置数据上载到资料档案库时出错 2017-9-4 11:55:07 oracle.sysman.emcp.EMConfig perform 严重: 将配置数据上载到资料档案库时出错 有关详细资料, 请参阅 E:\app\Administrator\cfgtoollogs\emca\orcl\emca_2017_09_04_ 11_51_26.log 中的日志文件。 无法完成配置。 有关详细资料, 请参阅 E:\app\Administrator\cfgtoollogs\emca\orcl\e mca_2017_09_04_11_51_26.log 中的日志文件。
此时打开cmd命令窗口ping本地主机名,显示如下:
C:\Users\Administrator>ping bt-db 正在 Ping bt-db [::1] 具有 32 字节的数据: 来自 ::1 的回复: 时间<1ms 来自 ::1 的回复: 时间<1ms ::1 的 Ping 统计信息: 数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms
修改hosts文件,添加一行内容:
10.13.16.34 bt-db
然后再通过ping本地主机名,验证是否已不通过ipv6方式访问主机。
C:\Users\Administrator>ping bt-db 正在 Ping bt-db [10.13.16.34] 具有 32 字节的数据: 来自 10.13.16.34 的回复: 字节=32 时间<1ms TTL=128 来自 10.13.16.34 的回复: 字节=32 时间<1ms TTL=128 10.13.16.34 的 Ping 统计信息: 数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms
最后,重新配置dbcontrol资料库。
C:\Users\Administrator>emca -config dbcontrol db EMCA 开始于 2017-9-4 11:57:20 EM Configuration Assistant, 11.2.0.0.2 正式版 版权所有 (c) 2003, 2005, Oracle。保留所有权利。 输入以下信息: 数据库 SID: orcl 监听程序 ORACLE_HOME [ E:\app\Administrator\product\11.2.0\dbhome_2 ]: SYS 用户的口令: DBSNMP 用户的口令: SYSMAN 用户的口令: SYSMAN 用户的口令: 通知的电子邮件地址 (可选): 通知的发件 (SMTP) 服务器 (可选): ----------------------------------------------------------------- 已指定以下设置 数据库 ORACLE_HOME ................ E:\app\Administrator\product\11.2.0\dbhome_2 本地主机名 ................ bt-db 监听程序 ORACLE_HOME ................ E:\app\Administrator\product\11.2.0\dbhome _2 监听程序端口号 ................ 1521 数据库 SID ................ orcl 通知的电子邮件地址 ............... 通知的发件 (SMTP) 服务器 ............... ----------------------------------------------------------------- 是否继续? [是(Y)/否(N)]: y 2017-9-4 11:57:45 oracle.sysman.emcp.EMConfig perform 信息: 正在将此操作记录到 E:\app\Administrator\cfgtoollogs\emca\orcl\emca_2017_09 _04_11_57_20.log。 2017-9-4 11:57:46 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository 信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)... 2017-9-4 11:58:12 oracle.sysman.emcp.EMReposConfig invoke 信息: 已成功上载配置数据 2017-9-4 11:58:15 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib 信息: 软件库已配置成功。 2017-9-4 11:58:15 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary 信息: 正在部署预配档案... 2017-9-4 11:58:27 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary 信息: 预配档案部署成功。 2017-9-4 11:58:27 oracle.sysman.emcp.util.DBControlUtil secureDBConsole 信息: 正在保护 Database Control (此操作可能需要一段时间)... 2017-9-4 11:58:31 oracle.sysman.emcp.util.DBControlUtil secureDBConsole 信息: 已成功保护 Database Control。 2017-9-4 11:58:31 oracle.sysman.emcp.util.DBControlUtil startOMS 信息: 正在启动 Database Control (此操作可能需要一段时间)... 2017-9-4 11:59:17 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: 已成功启动 Database Control 2017-9-4 11:59:17 oracle.sysman.emcp.EMDBPostConfig performConfiguration 信息: >>>>>>>>>>> Database Control URL 为 https://bt-db:1158/em <<<<<<<<<<< 2017-9-4 11:59:19 oracle.sysman.emcp.EMDBPostConfig invoke 警告: ************************ WARNING ************************ 管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。 加密密钥已放置在文件 E:/app/Administrator/product/11.2.0/dbhome_2/bt-db_orcl/sys man/config/emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可 用。 *********************************************************** 已成功完成 Enterprise Manager 的配置 EMCA 结束于 2017-9-4 11:59:19
下述内容引用其他网友的排查经验:
在OTN上找到此问题的解释:
Cause
The windows machine is in an active directory and is using IPv6. When the short hostname is pinged, it is resolved via the fully qualified hostname to an IPv6 (ISATAP) address eg:-ping machine1
Pinging machine1.uk.oracle.com [fe80::f1bb:2ed:4d5a:1732] with 32 bytes of data:
Reply from fe80::f1bb:2ed:4d5a:1732: time<1msDbconsole 11.2 is built around Grid Control 10.2.0.4 and so is not IPv6 compliant. Grid Control 11.1.0.1 is IPv6 compliant.. The version of dbconsole which is built around Grid Control 11.1.0.1 will be IPv6 compliant. (the version which dbconsole is built round is shown in the output of emctl status agent).
Solution
Add entries into the host file, to force IPv4 style resolution:-1) edit the windows\system32\drivers\etc\hosts file
2) add an entry for the machine of the format:-
<ipaddress> <fully qualified hostname> <short hostname>
eg.
138.3. 146.333 machine1.uk.oracle.com machine1
Now when pinging the short hostname, the ipv4 style ipaddress is returned.
简单解释:
2008默认使用IPV 6协议解析,被ping主机名,它是通过完整主机名解析到IPv6(ISATAP)地址
例如: ping www.swsport.com
DBCONSOLE 11.2围绕网格控制10.2.0.4,所以不支持IPv6兼容。网格控制11.1.0.1是IPv6兼容.. (哪个DBCONSOLE内置一轮的版本中所示的输出emctl状态剂)。
也就是说操作系统用IPV 6解析地址,而你的EM确需要IPV 4解析的地址。解决方法:强行使用IPV4 解析地址