ITPub博客

首页 > 数据库 > Oracle > oracle 11.2.0.4的补丁有大问题

oracle 11.2.0.4的补丁有大问题

原创 Oracle 作者:tonglei2000 时间:2018-02-25 14:57:52 0 删除 编辑
春节刚过,还没有上班,一个客户电话说数据库因主机掉电,不能启动。
发过来报错,如下:
ORA-00704: bootstrap process failure
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [16703], [1403], [20], [], [], [], [], [], [], [], [], []
oracle意外掉电,从来没有见到过这个错误。
经过反复分析,发现控制文件没有问题。system表空间系统重要数据字典损坏。
但是判断是因为断电导致。反正自己是没有办法进行数据恢复。建议用户接受数据损坏的结果。
后来在网上找到了两个一样问题的帖子,才知道问题的严重性
http://www.itpub.net/thread-2091896-1-1.html

http://www.killdb.com/2017/10/05/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A2%AB%E6%B3%A8%E5%85%A5%E6%81%B6%E6%84%8F%E6%94%BB%E5%87%BB%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%A1%88%E4%BE%8B%E6%81%A2%E5%A4%8Dora-16703.html

原来我们手头的11.2.0.4的介质是被篡改的。
在linux平台,使用md5sum命令查看p13390677_112040_Linux-x86-64_1of7.zip这个文件,如果得出的值后面四位是124173就是被篡改的,正确的版本后面四位应该是F58F28。
被篡改的版本会创建一个触发器。这个触发器在数据库每次启动的时候触发。触发时检测数据库创建时间,如果创建时间超过300天,就会删除核心数据字典表。使得数据库马上宕掉,再启动将无法open,报ORA-00704和ORA-00600,以本人的技术水平,基本无法进行数据恢复。
select * from v$version
查看如果是11.2.0.4,就马上查看有没有篡改的trigger。

select text from all_source where type='TRIGGER' AND NAME='DBMS_SUPPORT_DBMONITOR';

使用下面的语句删掉触发器,存储过程,和包

drop TRIGGER DBMS_SUPPORT_DBMONITOR;
drop PROCEDURE DBMS_SUPPORT_DBMONITORP;
drop PACKAGE DBMS_SUPPORT;


网上的介质太坑了

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13337857/viewspace-2151235/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 调整sql临时记录
请登录后发表评论 登录
全部评论

注册时间:2010-10-19

  • 博文量
    109
  • 访问量
    218017