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

重装了笔记本上的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-

(0)

相关推荐

  • Oracle数据库TNS常见错误的解决方法汇总

    TNS是Oracle Net的一部分,是专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,就必须配置TNS.本文主要讲述了Oracle数据库TNS常见错误的解决方法如下: 1.ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏.若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用"Net Configuration Assistant"

  • oracle 11g导出数据时报ORA 1455错误的处理方法

    由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

  • oracle错误代码大全(超详细)

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程:无法转换会话 ORA-00022: 无效的会话 ID:访问被拒绝 ORA-00023: 会话引用进程私用内存:无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-00025: 无法分配 ORA-00026:

  • 教你怎样用Oracle方便地查看报警日志错误

    在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题. 一:备份并清除告警日志内容 将每天的告警日志备份好,然后进行清除. 1:备份报警日志 在$ORACLE_HOME/SID/bdump/   目录下, 按日期备份alert_ORACLE_你的实例名.LOG这个文件,如:alert_ORACLE_orcl_201408111639_bak.LOG. 2:清除日志内容 打开报警日志文件,用true > 文件名 可清除掉里面的内容 具体示例: 假如,我现在第一次进行该设置,

  • oracle 11g配置 解决启动连接数据库出现的ora错误

    按照网上方法并结合实践,整理了一下(以后忘记了可以看看),oracle登录问题的解决办法: 常见的登录连接oracle数据库时遇到的问题ora-12560,01034,27101,00119,00132等,可以按照以下步骤检查和解决. Oracle11g数据库监听,数据库启动  1.添加监听程序(服务器端) 打开net manager 添加监听 添加监听位置(网络地址) 添加数据库服务(oracle主目录可以不填) 2.添加服务命名  3.测试 利用服务器端sqlplus工具E:\app\204

  • CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法

    在CentOS6.2操作系统上,安装Oracle10g时,报如下错误: 根据提示查看日志,并没发现帮助信息,如下所示: 复制代码 代码如下: [root@hyl ~]# tail -f /u01/app/oracle/oraInventory/logs/installActions2014-09-20_02-43-00PM.log INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib' I

  • plsql连接oracle数据库报ora 12154错误解决方法

    plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

  • Oracle AS关键字 提示错误

    今天运行程序时,在Oracle中输入SQL语句:select * from USERS as u ,程序报错 输入select * from USERS  u 可以正常的查询出结果. 但是在SQL Server 2005 中输入''select * from USERS as u''相同的语句就没有错,查了原因如下:SQL2规范允许关键字AS出现在表的名字和表的别名之间,虽然这使得FROM子句更容易被读懂,但是在特定的SQL产品中它可能还不被支持. 我想Oracle还不支持这样的语法.

  • win7安装oracle10g 提示程序异常终止 发生未知错误

    oracle 10g 在win7下安装,选择高级选项,提示程序异常终止,发生未知错误 修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 <!--Microsoft Windows 7--> <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SY

  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误

    进入sqlplus SQL> set timing on SQL> SQL> select count(*) from comm_human_role; COUNT(*) ---------- 866 Elapsed: 00:00:00.05 以上数字输出分别是:Hours:Minutes:Seconds.Milliseconds 即用了0.05秒的时间执行,相当于50毫秒. 时间如果是这样的表示:00: 03: 235.78 总共用的时间为235.78秒, 不到4分钟,所以显示的是3分

随机推荐