listener.log file’ların içeriğini external bir tabloda tutabiliriz, bunun için aşağıdaki gibi bir örnek işinize yarayacaktır;
[oracle@tstdbsrv01 ~]$ cd /u01/app/oracle/diag [oracle@tstdbsrv01 /u01/app/oracle/diag]$ find . -name listener*log ./tnslsnr/tstdbsrv01/listener_jra/trace/listener_jra.log ./tnslsnr/tstdbsrv01/listener/trace/listener.log ./tnslsnr/tstdbsrv01/listenersqlserver/trace/listenersqlserver.log [oracle@tstdbsrv01 /u01/app/oracle/diag]$ cd tnslsnr/tstdbsrv01/listener/trace [oracle@tstdbsrv01 /u01/app/oracle/diag/tnslsnr/tstdbsrv01/listener/trace]$ ls -la total 30580 drwxr-xr-x 2 oracle oinstall 4096 Jan 30 23:11 . drwxr-xr-x 13 oracle oinstall 4096 Jul 15 2013 .. -rw-r----- 1 oracle oinstall 6809714 Jan 31 16:55 listener.log
CREATE OR REPLACE DIRECTORY DIR_LOG1 AS '/u01/app/oracle/diag/tnslsnr/tstdbsrv01/listener/trace/'; CREATE OR REPLACE DIRECTORY DIR_LOG2 AS '/u01/app/oracle/diag/tnslsnr/tstdbsrv02/listener/trace/'; GRANT READ,WRITE ON DIRECTORY DIR_LOG1 TO sys; GRANT READ,WRITE ON DIRECTORY DIR_LOG2 TO sys;
create table listenerlog1
(
logtime1 timestamp,
connect1 varchar2(300),
protocol1 varchar2(300),
action1 varchar2(15),
service1 varchar2(15),
return1 number(10)
)
organization external (
type oracle_loader
default directory DIR_LOG1
access parameters
(
records delimited by newline
nobadfile
nologfile
nodiscardfile
fields terminated by "*" lrtrim
missing field values are null
(
logtime1 char(30) date_format
date mask "DD-MON-YYYY HH24:MI:SS",
connect1,
protocol1,
action1,
service1,
return1
)
)
location ('listener.log')
)
reject limit unlimited
/
grant select on listenerlog1 to ordba;
select * from sys.listenerlog1;
select logtime1, count(*) from sys.listenerlog group by logtime1 order by logtime1;
select * from sys.listenerlog ; select * from sys.listenerlog where connect1 like '%HOST%'; select * from sys.listenerlog where connect1 NOT like '%HOST=testodb%'; select * from sys.listenerlog where connect1 like '%HOST=10.%';
create table full_listener_log1
(
line varchar2(4000)
)
organization external (
type oracle_loader
default directory DIR_LOG1
access parameters (
records delimited by newline
nobadfile
nologfile
nodiscardfile
)
location ('listener.log')
)
reject limit unlimited
/
grant select on full_listener_log1 to ordba; select * from sys.full_listener_log1;
select * from ordba.LISTENERLOG1 where connect1 like '%HOST%'; select * from ordba.LISTENERLOG1 where connect1 NOT like '%HOST=tstdbsrv01%'; select * from ordba.LISTENERLOG1 where connect1 like '%HOST=10.%'; ------------------------- select * from ordba.LISTENERLOG2 where connect1 like '%HOST%'; select * from ordba.LISTENERLOG2 where connect1 NOT like '%HOST=tstdbsrv01%'; select * from ordba.LISTENERLOG2 where connect1 like '%HOST=10.%';