oracle 10g OEM常规错误(Unknown host specified)解决
程序员文章站
2023-11-05 16:52:16
重装了笔记本上的oracle,安装完成后,可以正常使用oem控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使用网络环境发生了变化,都有可能遇到问题。这些遇到问题的...
重装了笔记本上的oracle,安装完成后,可以正常使用oem控制台,但是注销后重新登录或者重启系统后登录,或者笔记本使用网络环境发生了变化,都有可能遇到问题。这些遇到问题的解决办法使用过,但是很久没折腾就忘记了,今天把这些问题和解决方法记录在此。
1、网络环境变化导致无法启动
这个问题的现象是无法启动oem。使用命令行如下:
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行代码:
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
如果是遇到这个问题,那么手动注册配置下新配置的时区参数即可,使用如下命令:
set oracle_sid=youdbsid
emctl stop dbconsole
emctl config agent gettz
emctl start dbconsol
-the end-
1、网络环境变化导致无法启动
这个问题的现象是无法启动oem。使用命令行如下:
复制代码 代码如下:
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行代码:
复制代码 代码如下:
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
如果是遇到这个问题,那么手动注册配置下新配置的时区参数即可,使用如下命令:
复制代码 代码如下:
set oracle_sid=youdbsid
emctl stop dbconsole
emctl config agent gettz
emctl start dbconsol
-the end-
下一篇: 如何查询占CPU高的oracle进程