Windows服务器2008R2上的Oracle cpu使用率100%

时间:2017-05-18 10:05:13

标签: oracle oracle11g plsqldeveloper oracle11gr2

我的Windows Server 2008R2上有Oracle Standart Edition 11.2.0.1.0单一实例。 今天我们实现了Windows cpu使用率100,没有人无法连接到数据库并工作,直到重启oracle实例。 当我检查警报日志时,我看到的是ORA 600泛型错误,

  

文件中的错误d:\ app \ administrator \ diag \ rdbms \ zozdbc \ zozdbc \ trace \ zozdbc_ora_1548.trc(incident = 77112):   ORA-00600:内部错误代码,参数:[12259],[],[],[],[],[],[],[],[],[],[],[]   事件详细信息在:d:\ app \ administrator \ diag \ rdbms \ zozdbc \ zozdbc \ incident

当我检查实施的跟踪文件后,我看到了以下错误,

  

--------转储触发子列表--------触发子列表0:触发子列表1:触发子列表2:触发子列表3:触发   所有者:zoz_TABS触发器名称:SIS_USER_DEF_TRGA触发子列表4:

     

*** 2017-05-18 10:16:44.437事件77112已创建,转储文件:d:\ app \ administrator \ diag \ rdbms \ zozdbc \ zozdbc \ incident \ incdir_77112 \ zozdbc_ora_1548_i77112.trc   ORA-00600:内部错误代码,参数:[12259],[],[],[],[],   [],[],[],[],[],[],[]

     

跟踪文件   d:\程序\管理员\诊断\ RDBMS \ zozdbc \ zozdbc \跟踪\ zozdbc_ora_1548.trc   Oracle Database 11g 11.2.0.1.0版 - 64位生产Windows NT   版本V6.1 Service Pack 1 CPU:4 - 类型8664,4   Physical Cores Process Affinity:0x0x0000000000000000 Memory   (可用/总计):Ph:25008M / 32767M,Ph + PgF:53887M / 65533M VM名称
  :VMWare版本(6)实例名称:由此安装的zozdbc重做线程   实例:1 Oracle进程号:47 Windows线程ID:1548,图像:   ORACLE.EXE(SHAD)

我的触发器在下方,

    create or replace TRIGGER zoz_TABS.NIN_USER_DEF_TRGA
   AFTER INSERT OR UPDATE
   ON zoz_tabs.NIN_user_def
   FOR EACH ROW
DECLARE
   CURSOR c1 IS
      SELECT * FROM NIN_menu_def;

   CURSOR c2 IS
      SELECT m.menu_code,
             m.upper_menu,
             m.order_no,
             m.menu_label
        FROM (SELECT menu_code FROM NIN_menu_def
              MINUS
              SELECT menu_code
                FROM NIN_user_menu_def
               WHERE user_code = :NEW.USER_CODE) x,
             NIN_menu_def m
       WHERE m.menu_code = x.menu_code;
BEGIN
   IF (INSERTING) THEN
      FOR cc IN c1 LOOP
         INSERT INTO NIN_user_menu_def (user_code,
                                        menu_code,
                                        upper_menu,
                                        order_no,
                                        menu_label)
              VALUES (:new.user_code,
                      cc.menu_code,
                      cc.upper_menu,
                      cc.order_no,
                      cc.menu_label);
      END LOOP;

      ---
      --sifre tan?m bilgisi kullan?c?ya mail ile gonderilir.
      ---
      NIN_user_pwd_mail_prc ('INSERT',
                             :NEW.dil_kod,
                             :new.org_kod,
                             :new.ser_kod,
                             :new.user_type,
                             :new.user_code,
                             :new.user_name || ' ' || :new.user_surname,
                             :new.password,
                             :new.ik_kod);
     --
     --Yeni eklenen user icin default page tanimi yapiliyor.
     --                             
     CREATE_USER_DEFAULT_PAGE(:new.user_code,:new.user_type,:new.kullanilan_NINtem);
   END IF;

   IF (UPDATING) THEN
      IF (:NEW.USER_STATUS = 'ACTIVE' AND :OLD.USER_STATUS != 'ACTIVE')
      THEN
         FOR cc IN c2 LOOP
            INSERT INTO NIN_user_menu_def (user_code,
                                           menu_code,
                                           upper_menu,
                                           order_no,
                                           menu_label)
                 VALUES (:new.user_code,
                         cc.menu_code,
                         cc.upper_menu,
                         cc.order_no,
                         cc.menu_label);
         END LOOP;
      END IF;

      ---
      --sifre de?isikli?i islemi yap?ld???nda veya personel atamas? yap?ld???nda sifre tan?m bilgisi kullan?c?ya mail ile gonderilir.
      ---

      IF ((:OLD.password != :NEW.password) OR (:OLD.ik_kod != :NEW.ik_kod)) THEN
      dbms_output.put_line('ISLEM VAR');
         NIN_user_pwd_mail_prc ('UPDATE',
                                :NEW.dil_kod,
                                :new.org_kod,
                                :new.ser_kod,
                                :new.user_type,
                                :new.user_code,
                                :new.user_name || ' ' || :new.user_surname,
                                :new.password,
                                :new.ik_kod);
      END IF;
   END IF;
END;

检查支持oracle后,我看到了它的一个bug,不幸的是它显示没有固定,只需要opatch等。

我错过了什么吗?我计划增加sga和pga大小,因为我的服务器上有免费资源,我计划完整的数据库istatistics。 有人可以提供更多建议吗? 谢谢,

0 个答案:

没有答案