Alert Log Dosyası Okuma-Ekleme-Sorgulama

Alert Log Dosyası Okuma-Ekleme-Sorgulama

Alert log dosyası bildiğiniz gibi instance’la ilgili hataların, uyarıların, önemli değişikliklerin saklandığı log dosyasıdır.Bir dba log dosyasını günlük olarak incelemelidir.Bu dosya işletim sistemi üzerinde metin editörleriyle açılıp okunabilir, ama sql üzerinden sorgulamak daha pratik olabiliyor..Oluşturacağımız external table üzerinden alert log dosyamıza erişip içeriğini sql sorgumuzla listeleyeceğiz.İsim formatı alert_.log şeklindedir.

Alert log dosyasının bulunduğu dizini aşağıdaki sorgu ile bulabiliriz:

Alert log dosyası nerede?

SELECT VALUE FROM V$PARAMETER WHERE NAME LIKE '%background_dump_dest%';
/oracle/app/oracle/diag/rdbms/orcl/orcl/trace

ya da

SQL> show parameter background
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
background_core_dump                 string      partial
background_dump_dest                 string      /oracle/app/oracle/diag/rdbms/orcl/orcl/trace

Alert log dosyamızın bulunduğu dizine bir directory oluşturalım.

CREATE DIRECTORY log_dir AS '/oracle/app/oracle/diag/rdbms/orcl/orcl/trace';

DBA rolüne bu directory için okuma,yazma izni verelim.
Yetkiyi aslında DBA rolüne sahip kullanıcılara vermiş olduk.

GRANT READ,WRITE ON DIRECTORY log_dir TO DBA;

External tablomuzu oluşturalım.

CREATE TABLE alert_log
(txt_line varchar2(512))
organization external
(type ORACLE_LOADER
default directory log_dir
access parameters (records delimited by newline
fields
(txt_line char(512)))
location ('alert_orcl.log'));

Tablomuzu create ettikten sonra sorgulama yapabiliriz.

SELECT * FROM ALERT_LOG;
TXT_LINE
Thu Jan 16 13:56:43 2013
OER 7451 in Load Indicator : Error Code = OSD-04500: illegal option specified

Sorgumuzu biraz daha düzenlersek ve son 50 satırı görmek istersek;

SELECT ROWNUM LINE_NO,TXT_LINE
FROM (SELECT ROWNUM RN, TXT_LINE FROM ALERT_LOG)
WHERE RN BETWEEN
(SELECT MAX(RN) - 50 FROM (SELECT ROWNUM RN FROM ALERT_LOG)) AND
(SELECT MAX(RN) FROM (SELECT ROWNUM RN FROM ALERT_LOG));
 
LINE_NO	TXT_LINE
1	Thu Jan 16 17:01:21 201316
2	OER 7451 in Load Indicator : Error Code = OSD-04500: illegal option specified

Log dosyasına metin eklemek:

Alert log dosyasına kendi notlarınızı eklemek isterseniz aşağıdaki gibi ekleyebilirsiniz.

BEGIN
Dbms_system.ksdwrt(1,'Upgrade_Oncesi Restore Point oluşturuldu, Ömer'||SYSDATE);
END;

Flush buffer işlemi

BEGIN
Dbms_system.ksdfls;
END;

External table ile ilgili daha detaylı bilgiye bu makaleden ulaşabilirsiniz.

External Table Nedir,Okuma Yazma Islemleri

Tagged: , , , , , , , ,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir