بتاريخ: 11 فبراير 200719 سنة comment_91493 السلام عليكم و رحمة الله و بركاته إخواني الكرام هذه المرة اشارككم اسكربت لعمل تريجر علي مستوي الداتابيز و يقوم هذا التريجر بتخزين الأخطاء التي تحدث في قاعدة البيانات في جدول يمكن استعراض بياناته و يمكنك بعد ذلك بجمل استعلام التعرف الي الأخطاء المتكررة الحدوث إليكم الكود spool err set echo on drop trigger catch_err_trigger; drop table sys.save_err_audit; create table sys.save_err_audit (errstack varchar2(2000), tim date, sid number(4), username varchar2(2000), osuser varchar2(100), machine varchar2(100), process varchar2(100), program varchar2(100)) tablespace TOOLS; create or replace trigger catch_err_trigger after servererror on database DECLARE v_dat date; v_for varchar2(2000); BEGIN v_for :=dbms_utility.format_error_stack; select sysdate into v_dat from dual; insert into sys.save_err_audit (errstack,tim,sid,username,osuser,machine,process,program) select v_for,v_dat,sid,username,osuser,machine,process,program from sys.v$session where sid = (select distinct sid from v$mystat); EXCEPTION WHEN no_data_found THEN raise_application_error(-2002,'no data found'); WHEN program_error THEN raise_application_error(-2003,'internal PL/SQL error'); WHEN storage_error THEN raise_application_error(-2004,'PL/SQL memory error'); WHEN others THEN raise_application_error(-2005,'undefined error'); end; / show errors exit -------------------- --SECOND PART -- sql to show data store in sys.save_err_audit -- -- set echo off feedb on pages 200 lin 800 COLUMN errstack FORMAT A80 COLUMN time FORMAT A18 COLUMN sid FORMAT A10 COLUMN username FORMAT A15 COLUMN osuser FORMAT A20 COLUMN machine FORMAT A25 COLUMN process FORMAT A9 COLUMN program FORMAT A20 spool show_err set colsep | underline _ select to_char(tim,'dd-mon-yy hh:mi AM')time, username, osuser, machine, process, program, errstack from sys.save_err_audit order by time; exit / و الملف بالمرفقات trigger_to_store_errors.txt تقديم بلاغ
بتاريخ: 12 فبراير 200719 سنة comment_91517 شكرا جزيلا لكممكن تجرب معي الكود المرفق وتقول لي لماذا لا يعملفي 9i يعمل بشكل جيد بس في 10g لا يعمل شكرا جزيلا لكممكن تجرب معي الكود المرفق وتقول لي لماذا لا يعملفي 9i يعمل بشكل جيد بس في 10g لا يعمل 02393= -- exceeded call limit on CPU usagetest.txt تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.