`
wsql
  • 浏览: 11777794 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Oracle OEM重建失败处理案例

 
阅读更多

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

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

ORACLE EM的删除与创建:

http://blog.csdn.net/xujinyang/article/details/6699035

创建完毕,打开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:



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics