您的位置:首页 > 数据库 > Oracle

Oracle OEM重建失败处理案例

2011-12-22 15:49 465 查看
重庆的passport oracle库开发人员反映出现性能问题,应用日志普通的sql脚本耗时较长,想到了Oracle OEM监控,进行了OEM的安装,

由于数据库连接都正常,并且正在使用,所以没考虑oracle服务器的网络配置情况。直接进行OEM的创建,如何安装请详见blog:

ORACLE
EM的删除与创建:

/article/1673208.html

创建完毕,打开windows客户端的IE,OEM登陆首页直接出现了实例没有启动,服务器机器名也找不到提示信息。

郁闷,见鬼数据库服务器明明在正常使用,而且OEM创建过程中也没吧奥错,顺利成功。

不过凭着经验,这类问题肯定是服务器端的网络配置针对OEM的解析来说存在问题,ssh登陆的oracle服务器,进行三项查找:

# vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost cqydweb2

::1 localhost6.localdomain6 localhost6

192.168.2.14 center

上述内容中明显存在关于hostname 不一致的配置,第一行hostname设置为 cqydweb2,第三行hostname 设置为center。

# hostname

cqydweb2

看来目前内存中正在使用的hostname是cqydweb2,继续

#vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=cqydweb2

hostname是cqydweb2,继续

#su - oracle

#vi $ORACLE_HOME/network/admin/listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC=

(GLOBAL_DBNAME=center)

(ORACLE_HOME=/u01/app/oracle/product/10.2.0)

(SID_NAME=center)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.14)(PORT = 1521))

)

)

SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF

没啥异常,是通过IP连接,跟hostname关系不大。

那就是/etc/hosts内容配置的不一致问题了,跟运维沟通后,统一修改为cqydweb2

然后进行了OEM重建,头脑有点发昏,直接就进行

SQL> DROP public synonym SETEMVIEWUSERCONTEXT;

同义词已删除。

SQL> DROP PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;

同义词已删除。

SQL> drop role MGMT_USER;

角色已删除。

SQL> DROP USER MGMT_VIEW CASCADE;

用户已删除。

突然想起,OEM还没drop,以上的操作是drop后清理残余OEM信息的操作,后悔。。。。,预感到drop em要出错了,进行drop em操作
emca -deconfig dbcontrol db -repos drop

结果在删除EM档案资料库这部卡住了,耐心等待了半个多小时,没反应,也没结束,也没报错。只好进行手工OEM的清理,看以下步骤:
$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 22 15:39:13 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL> conn sysman/zdsoft

Connected.
SQL>exec dbms_aqadm.drop_queue_table(queue_table=>'MGMT_NOTIFY_QTABLE',force=>true);

PL/SQL 过程已成功完成。

SQL> conn / as sysdba
已连接。
SQL> exec sysman.emd_maintenance.remove_em_dbms_jobs;

PL/SQL 过程已成功完成。

SQL> exec sysman.setemusercontext('',5);

PL/SQL 过程已成功完成。

SQL> revoke dba from sysman;

撤销成功。

SQL> declare
2 cursor c1 is
3 select owner,synonym_name name from dba_synonyms
4 where table_owner='SYSMAN';
5 begin
6 for r1 in c1 loop
7 if r1.owner='PUBLIC' then
8 execute immediate 'drop public synonym '||r1.name;
9 else
10 execute immediate 'drop synonym '||r1.owner||'.'||r1.name;
11 end if;
12 end loop;
13 end;
14 /

PL/SQL 过程已成功完成。

SQL> drop user sysman cascade;

用户已删除。
SQL>exit

进行/etc/hosts的hostname统一设置为cqydweb2,从oracle用户退出到root用户下
[oracle@cqydweb2 ~]$ exit

logout

[root@cqydweb2 ~]# vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.2.14 cqydweb2

hostname统一设置为cqydweb2后,再进入oracle用户进行OEM的重新创建成功,如何创建,请见blog:

ORACLE
EM的删除与创建:

/article/1673208.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: