View in color | License | Download script | History | Other scripts by: plegoff |
30-Apr 12:49 UTC
[0.114] 30.633k
[0.114] 30.633k
ora-listener.rREBOL[
Title: "Analyze of Oracle listener logs"
Date: 10-Jun-2004
Version: 1.1.0
File: %ora-listener.r
Author: "Philippe Le Goff (with help of Ladislav Mecir)"
Purpose: "Oracle SGBD rebtool to analyze listener log"
Email: %lp--legoff--free--fr
note: {- v. 1.0.0 : This script analyze Oracle listener log,
and returns two files : user access stats, and listener-start stats;
works with 9.x Ora SGBD
- v. 1.1.0 : with a GUI for selecting log file }
library: [
level: 'beginner
platform: all
type: 'tool
domain: [database]
tested-under: none
support: none
license: none
see-also: none
]
]
;/////////////////// RULES Defs //////////////////////
digit: charset [#"0" - #"9"]
alpha: charset [#"a" - #"z" #"A" - #"Z"]
; date rule
date: [2 digit "-" 3 alpha "-" 4 digit]
; time rule
time: [2 digit ":" 2 digit ":" 2 digit]
;sid rule
sid: [thru "SID=" copy text to #")" ]
;program rule
program: [thru "PROGRAM=" copy text to #")" ]
; host rule
host: [thru "HOST=" copy text to #")" ]
; user rule
user: [thru "USER=" copy text to #")" ]
;port rule
port: [thru "PORT=" copy text to #")" ]
; date rule
date-TNS: [some date]
; time rule
time-TNS: [some time]
;/////////////////// HANDLERS Defs //////////////////////
; CID Handler definition => user access
CID-handler: [
copy dat date (append result-CID dat)
copy tm time (append result-CID tm)
sid (append result-CID text)
program (append result-CID text)
host (append result-CID text)
user (append result-CID text)
host (append result-CID text)
port (append result-CID text)
]
; TNS (listener) Handler definition => listener on/off
TNS-start-handler: [
;start-TNS ( append result-TNS rejoin [ entab text tab "start" ])
thru "Production on "
copy daty date-TNS (append result-TNS daty)
copy tmy time-TNS (
append result-TNS tmy
append result-TNS "start")
]
TNS-stop-handler: [
copy dat-tns date-TNS (append result-TNS dat-tns)
copy tm-tns time-TNS (
append result-TNS tm-tns
append result-TNS "stop"
)
]
;/////////////////// LAYOUT Defs //////////////////////
; Layout definition => GUI
ssh: system/script/header
my-ora-log: none
log-analyse-file: none
select-btn: false
; ///////////
; trame image de fond
img-fond: load 64#{
R0lGODlhgACAAOYAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsL
CwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsb
GxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisr
KywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7
Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktL
S0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltb
W1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtr
a2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7
e3x8fH19fX5+fn9/fyH5BAAAAAAALAAAAACAAIAAQAf/gFVYVlZOUVdWV1pSTlRS
TYJWVFBWg1NTjVdVVIdRT1FZWFRPT1RYV1KDo1RWTVCnV1FQVVJRg1BUWlVRUbVT
VrpOVVdUVVOzUoSTUY7EvcmbpVKpUFKbWKFWU6Ss2lJTVIhU4ZPAU01UU0y2u6WD
37PavViMkcdPUohTltVYTlBaCEGhVOvULFEDp0SZQoxKIyybel2BuAmXFWi4ZmXh
NM2Wo2MTEfFywpCeFEfKqkiCsm+crEoQB5q6WCvcEyZVsixkOEohq3EQF0Ihtu8K
qnAFrcSbVAoXFoa8BnmakkWSsYPWlDqismVXR0myqGykZa2JLZNXfm0iRJaey0RW
/7JgGvfE2Dcsnqos+sbKWhSwRqH8ZUWrkpW/qIYqrTSJpLUrrw5L+lZFZd8nhJhp
vRRQIUilUQSBq+wwFb1f49ZaaReLFWJgqzZZI2s6tOCc4yhNMopPE0QnlaQ8wSIq
XBQmYjllenvF0KCLhKtAwfxR67QtG3v9reJ8I1tOiUxqUSiJ7blpKhFf2cIonHTE
05xN+XblSaMsxv5qlVTMSSrhhGSFiTLHTGYVI8mIcpJK7100Gi7jhLLLS9oQUl5l
x6RjEhaCrcaWFLg8Zg1xF2nGS4HgeEMWKofws09l07CSYXnVjSLJfAQxpBKIUwiC
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
EmloEoSaSDX4pDU9QRy/UkiRcIcXkR5Guz18uFkBw5vTsN8ckcOxyBuBgoix+zvt
1eqMUBKzBRrV8xNpSJ+XmP+J60SQQzEedlQ7oMhqDkWpEZUvFBUc6Ma4KKjeb9Sv
W7mVX0cM4JOI2AA1lOqIv4WOzjFrlChbAeV3mcgRNWULcfIdiCEe4CGKVrPpiuAl
SeVIDoOCzdEItwGLqb60LEOWrENKBzw+6xXsaOMcGb5CBESjIVJNh1NTWoSMpcvu
7CHoIIno0LgIy1FLB44zDEEKB0M6WSiLgUIIkBDOjAFJRZ9VMIISaHQWwU4RpNCq
1jEFXNDyclRGycjuiyBe9six6VFMkCMMLDILc/Uj9HFU1LIoZMJPNOKN9Dao5zCO
k7EWaIa2+OJSBCWMl4AdE7KJm0O2lYZBHfLrcxFAMHH/PsaxNtoiOH54vUgVFnix
jUDXjfTiRQEkjgs59+mhT1sBJT6zz1pRDO0Yt5IBQRgCIRsy+OaBM3jjI/jsGgUF
3+rFLKvz+hRBHhkNXL3BQ8GuDcCR+c0ggZ9gUikiiA4CM+MwLX1/Mh7CIFdxKVWM
ViA5Ka2fcevIwS6pIirpathDEVrDPQ/ilugGVb9/W97g/U60gRLIEruQ/KJiOl8V
CVmBnwL2fRQTZia0W84zNZZYE30GCFZSU4JSV1NQVlhWVFBTWFVVU1RTUYmCVFVR
UYxUVlWDjE9XjFNPVlOGVYJPUlWLVFKZiFZWUJlUUZ6opJZQVVmNkbuUnJ5SUVhS
/1KftY1TVbfKVIvQochVT5OfUY/LqLektqqMg8y1soK/VZ6xhFSnklKJU4SrUtqv
wbfsp7arlR4JuoJl068sloY5q8QIlBRlzCIx4vfklawroFAdixLtYjRqqVA9oSIO
yrlyDDUxEvmOXb2JpeYJenSv1Stl/KY4+ZRIk64sgl75soJwXaZOzGY9DMkOHKWK
BanlwiSIo8ldI7MwlOKEZC2TtTAO4qSpFzxVLqGppCRTFpZYUWwCNbkK3qedtrpp
sRLlIbJTWjaxOyoryhUqsR7GKnWoIj6LUpld47RpF0etHPF55XtULMNci/iRjbnK
mLkrrpRtcuJKSzZXkvxdgv/yk1WhUVlod0IX6zDbt/ZI0uIK+S2zlwwrf62ipVIs
bVjEHo20zNiT6CM/QUM1qLTLZVigZaneyorrkfeghObZbZGUJojxKQJLiVvvtMY/
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
}
;////////////
aPropos: func [/local lay] [
lay: copy [
across origin 0x0 space 0x0
backtile img-fond
style vtext text white bold right middle font-size 12 font-name "Courrier" with [
feel: none
append init [font: make font []]
]
style text text 200 white font-size 11 font-name "Courrier" font-color white with [
append init [font: make font [colors: [0.0.0 255.255.255]]]
]
image logo.gif box 200x24
effect [merge gradmul 1x0 0.0.0 128.128.128] return
pad 10x10 guide
]
foreach [name value] third ssh [
if not none? value [
append lay reduce [
'vtext mold :name 'tab 'text form value
]
switch/default type?/word value [
string! [append lay mold [with [feel: none]]]
email! [append/only lay compose/deep [
alive?: true error? try [emailer/to (value)]
]]
url! [append/only lay compose/deep [
error? try [browse (value)]
]]
file! [append/only lay compose/deep [
error? try [editor (value)]
]]
] [append lay [with [feel: none]]]
append lay 'return
]
]
append lay [
pad -10x10
box 200x24 effect [merge gradmul 1x0 128.128.128 0.0.0]
button "Close" black [unview/only lay] edge [size: none]
]
view/new/title center-face lay: layout lay join ssh/title ssh/version
]
; /////// main layout ///////
main: layout/tight [
style bout btn gray center middle 85x20 font-size 11 font-name "Courrier" font-color white
style tx-inf text ivory font-size 10 font-name "Courrier" middle center
space 2
tabs [30 100]
backtile img-fond
text " " 0x5
return
across
at 0x15
tab
bout "Select File" [my-ora-log: request-file
f1/text: my-ora-log
select-btn: true
show f1
]
build-stats: bout "Build Stats" [ either all [ select-btn not none? f1/text not equal? "none" to-string f1/text ] [
info-from-log: split-path clean-path to-file my-ora-log
path-to-log: info-from-log/1
name-of-log: info-from-log/2
build to-file my-ora-log
][
inform layout [
backtile img-fond
text " Please, select a log file before !" white font-name "Courrier" font-size 12
at 80x50
btn-cancel 60x20 "Cancel" escape [none hide-popup]
] ; fin layout
] ; fin either
] ; fin action bout
bout "View Stats" [ either log-analyse-file [ editor to-file log-analyse-file ][
inform layout [
backtile img-fond
text " Please, select a log file and build stats before !" white font-name "Courrier" font-size 12
at 80x50
btn-cancel 60x20 "Cancel" escape [none hide-popup]
] ; fin layout
] ; fin either
] ; fin action bout
bout "Info" 40x20 167.17.17 [apropos]
bout "Quit" 40x20 124.154.220 [quit]
at 0x40
across
tx-inf "File:" bold ivory right middle
tab
f1: info 343x15 205.205.205 left middle font-name "Courrier" font-size 10
text " " 15x20
return
across
at 0x65
text " "
at 30x65
tx1: tx-inf "Reading " 50x20 ;underline
at 160x65
tx2: tx-inf "Parsing " ;underline
at 295x65
tx3: tx-inf "Writing " ;underline
return
across
at 30x85
prog1: progress 70x7 coal yellow with [ edge: none color: white ]
prog2: progress 190x7 coal red with [ edge: none color: white ]
prog3: progress 80x7 coal green with [ edge: none color: white ]
return
at 30x100
text " " 15x15
]
;/////////// End GUI defs ///////////////////
;/////////////////// MAIN //////////////////////
build: func [ my-file [file!] ][
; read the log-file
; if the file is very long, it can be replaced by a port access
logs: read/lines to-file my-file
logs-num-line: length? logs
; analysed blocks
result-CID: make block! 0
result-TNS: make block! 0
compteur: make integer! 0
foreach record logs [
; handlers need a different behaviour
if all [ find record "CID" find record "SID" ] [ parse record CID-handler ]
if any [find record " stop " find record "TNSLSNR" ] [ parse record TNS-stop-handler ]
if all [find record "TNSLSNR" find record "Production"] [ parse record TNS-start-handler ]
prog1/data: compteur / logs-num-line
compteur: compteur + 1
show prog1
]
tx1/font/color: yellow
show tx1
;/////////////////// WRITING LOGS //////////////////////
; Now write results in CID-log file
log-analyse-file: rejoin [ path-to-log "analyze-ora-log.txt" ]
;print log-analyse-file
info-log-header: rejoin ["DAY" tab "TIME" tab "USER" tab "HOST" tab "ADDR. IP" tab "PORT" tab "SID" tab "PROGRAM" ]
write/append/lines to-file log-analyse-file info-log-header
logs-res-CID: length? result-CID
; LOGS : 20380
; result-CID : 157000 --> 19625
compteur: make integer! 0
foreach [date-log heure-log sid-log prog-log host-log user-log ip-host-log port-log] result-CID [
info-log: rejoin [date-log tab heure-log tab user-log tab host-log tab ip-host-log tab port-log tab sid-log tab prog-log ]
write/append/lines to-file log-analyse-file info-log
prog2/data: ( 8 * compteur ) / logs-res-CID
; le chiffre 8 vient du fait que les 157000 lignes de result-CID
; sont manipulées par blocs de 8 (date-log --> prog-log), soit 19625
compteur: compteur + 1
show prog2
]
tx2/font/color: red
show tx2
; Now write results in TNS-log file
compteur: make integer! 0
logs-res-TNS: length? result-TNS
log-tns-file: rejoin [ path-to-log "analyze-tns-arret.txt" ]
info-tns-header: rejoin ["DAY" tab "TIME" tab "STATE"]
write/append/lines to-file log-tns-file info-tns-header
foreach [date-log-tns heure-log-tns state-log-tns ] result-TNS [
info-tns: rejoin [date-log-tns tab heure-log-tns tab state-log-tns ]
write/append/lines to-file log-tns-file info-tns
prog3/data: ( 3 * compteur ) / logs-res-TNS
; manipulation par blocs de 3 d'où le chiffre 3
compteur: compteur + 1
show prog3
]
tx3/font/color: green
show tx3
] ; end of build function
view center-face main
;/////////////////// end MAIN ////////////////////// Notes
|