加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 10g OEM常规错误(Unknown host specified)解决

发布时间:2020-12-12 16:52:56 所属栏目:百科 来源:网络整理
导读:重装了笔记本上的oracle,安装完成后,可以正常使用OEM控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使用网络环境发生了变化,都有可能遇到问题。这些遇到问题的解决办法使用过,但是很久没折腾就忘记了,今天把这些问题和解决方法记录在此。 1

重装了笔记本上的oracle,安装完成后,可以正常使用OEM控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使用网络环境发生了变化,都有可能遇到问题。这些遇到问题的解决办法使用过,但是很久没折腾就忘记了,今天把这些问题和解决方法记录在此。

1、网络环境变化导致无法启动


这个问题的现象是无法启动OEM。使用命令行如下:
<div class="codetitle"><a style="CURSOR: pointer" data="25797" class="copybut" id="copybut25797" onclick="doCopy('code25797')"> 代码如下:<div class="codebody" id="code25797">
C:/Users/Administrator>set ORACLE_SID=TEST
C:/Users/Administrator>emctl stop dbconsol
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996,2005 Oracle Corporation. All rights reserved.
http://IP:1158/em/console/aboutApplication
.....

这种现象遇到过多次,经常是在你电脑的网络环境(IP地址)发生变化之后,导致在启动的时候oracle会根据你现在的IP地址构造OEM地址,而不是你当初安装的那个IP。注意上面这个地方,http://IP:1158/em。
针对这个问题,当初我也根据google搜索到的办法重建OEM,但是这种方法还是比较繁琐和漫长,而且往往会遇到莫名其妙的错误。
我使用最简单的解决办法是修改$ORACLE_HOME/BIN/emctl.bat文件,打开这个文件,在文件开头或者合适位置(比如我的是在42行的setlocal之后)添加如下2行代码:
<div class="codetitle"><a style="CURSOR: pointer" data="17511" class="copybut" id="copybut17511" onclick="doCopy('code17511')"> 代码如下:<div class="codebody" id="code17511">
set ORACLE_SID=TEST
set ORACLE_HOSTNAME=Laidye

注意,ORACLE_HOSTNAME要设置成你初始安装时候oracle读取和设置的名称,在没有网络环境下安装oem的时候往往就是你的计算机名称,具体可以查看$ORACLE_HOME/HOSTNAME_SID这个文件夹。这样,无论你使用的网络环境如何变化,都可以正常启动OEM了。

2、登陆后页面显示报错


2.1、 错误 java.lang.Exception: Exception in sending Request :: null
这个问题根本原因是时区设置的问题,解决办法是修改配置文件的时区。
停掉OEM,然后打开$ORACLE_HOME/HOSTNAME_SID/sysman/config/emd.properties,将最后一行
agentTZRegion=GMT
改成
agentTZRegion=Asia/Shanghai
具体时区名称可以查看$ORACLE_HOME/sysman/admin/supportedtzs.lst或者通过数据查询Select TZNAME From v$timezone_names;
一般情况下,这样设置完成后重新启动即可。可能还会遇到这错误:数据库错误 Io 异常: Unknown host specified 2.2、数据库错误 Io 异常: Unknown host specified
如果是遇到这个问题,那么手动注册配置下新配置的时区参数即可,使用如下命令:
<div class="codetitle"><a style="CURSOR: pointer" data="95485" class="copybut" id="copybut95485" onclick="doCopy('code95485')"> 代码如下:<div class="codebody" id="code95485">
set ORACLE_SID=youdbsid
emctl stop dbconsole
emctl config agent getTZ
emctl start dbconsol
-The End-

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读