You are on page 1of 16

oratop

A Database Monitoring Tool July 2013

oratop
An Oracle Call Interface (OCI) based A I t!at runs on "inu# $%& 'latfor(s and rese(bles )ni# *to'+ utility in a''earance, Its data gat!ering is solely fro( t!e database using internal -ie.s, T!e utility can be run against /eal A''lication Cluster (/AC) or none0/AC single instance database, It 'ro-ides a user t!e ability to (onitor t!e database in real ti(e and it is not intended to re'lace )ni# *to'+1 2M3C1 or ser-er (anageability tools li4e A561 A7/1 ADDM1 etc,1 t!at 'ro-ides granular details,

INTRODUCTION............................................................................................................................ 3 LAYOUT......................................................................................................................................... 3 DATA DESCRIPTION.................................................................................................................... 4

Section 1: Header............................................................................................................... 4 Section 2: Database............................................................................................................5 Section 3: Database Events............................................................................................... 6


USAGE........................................................................................................................................... 8

Options................................................................................................................................8 Exiting...............................................................................................................................10
CONNECTIONS........................................................................................................................... 10

e!"eat# .......................................................................................................................... 10 $e%ote ............................................................................................................................. 11


BATCH MODE.............................................................................................................................. 12 INTERACTIVE.............................................................................................................................. 13 TECHNICAL DETAILS................................................................................................................. 15 CONCLUSION.............................................................................................................................. 16

Oratop V13.2.4

Abstract
oratop can be used to monitor databases on Linux and other platforms but the executable must run on Linux with an Oracle client. To monitor databases on other platforms simply define an alias in tnsnames.ora of the linux client and connect to the databases remotely as you would with s lplus

&'($OD)*(&O'
The Oracle program named oratop allows users with select privilege to a set of Oracles views to monitor 11.2 or higher version of oracle database activities. It runs dynamically in near real time and provides a live window to a running database. (see sample snapshot shown in Figure 1 below !ey motivation includes" #onitoring current database activities$ %atabase performance$ Identifying contentions and bottlenec& #onitor Act !" D#t# G$#%&

' ($%" 1. oratop (default mode

+,-O)(
The data'grouping and layout of the program te(t output is shown in Figure 2.

' ($%" 2. oratop layout

D,(, DES*$&.(&O'
The )oratop* displays relevant database activity information presented in four sections.

HEADER (+ection1 Tool and database information DATABASE (+ection2 %atabase instance ,ctivity DB EVENTS (+ection,./ li&e )Top 0 Timed 1vents) PROCESSES (+ection2 3rocesses4+essions information

The following are brea&down detail of the various sections data using online help (see interactive section

Section 1: Header

' ($%" 3. 5eader acronyms (*1+ 4ey 'ress)

Section 2: Database
!efault "O#$ mode

' ($%" 4. +ection 2 acronyms IO3+ mode (*2+ 4ey 'ress)

"O%L mode ' .ith &ey press )r* made before going into help

' ($%" 5. +ection 2 acronyms IO/6 mode (*2+ 4ey 'ress)

Section 3: Database Events


,pplicable to both$ the default (7umulative and real'time modes.

' ($%" 6. +ection - acronyms (*3+ 4ey 'ress)

Section 4: .rocess/Session
!efault &$%'#%O( mode

' ($%" ). +ection 2 acronyms default 8+/43/O9 mode (*8+ 4ey 'ress)

)O!'A*T+ mode 0 7it! 4ey 'ress *(+ (ade before going into !el'

,i-ure ., 5ection 8 acrony(s MOD9ACT: (ode (*8+ 4ey 'ress)

Alerts
$elected /ariables will to--le in red color if met the followin- conditions "
% db : %CU : HLD : IORL : %"R : %&' : %%& : D,' : ./.+0 : 23% : ,LOC7.R: '90 : values > 99% load > 2 x cpu counts & host cpu > 99 load > 2 * cpu counts and aas > cpu counts value > 2 !s value # $% value ( sess)on counts* U&+ value > cpu counts value > - % %ct)ve 1a)t event potent)al unusual !e!o45 64o1th a bloc8)n6 sess)on 1)th 1a)t t)!e > - !)nutes value > $ sec

USAGE

' ($%" *. Co((and line !el'

Options
i : Interval delay time. ( requires value in seconds) Specifies t e delay !et"een update refres . A short interval delay (<10s) is not guaranteed to return for the specified delay. This is particularly true for a loaded system. #efault: 3 seconds. $o overrides t e default value %ommand line: &i 'num!er in seconds( )un time: c an*ed "it t e +f+ ,eystro,e interactive commands.

0 : .on* format/ (032 columns) Specifies lon* format for eader 1 process section. #efault: s ort (-2 columns) $o overrides t e default value %ommand line: &f )un time: c an*ed "it t e +f+ ,eystro,e to to**le !et"een s ort and lon* format. r : I3). column of section 2. Specifies I43 selection. #efault: I35S $o overrides t e default value %ommand line: &r )un time: c an*ed "it t e +r ,eystro,e to to**le !et"een I35S and I3).. d : )eal&$ime $op 5 6ait 7vents/ section 3. Specifies 6ait 7vents display mode. #efault: %umulative $o overrides t e default value %ommand line: &d )un time: c an*ed "it t e +d ,eystro,e to to**le !et"een %umulative and )eal&$ime. % : 8odule49ction columns of section 4. Specifies 8odule49ction selection. #efault: :S7)45)3;)98 $o overrides t e default value %ommand line: &m )un time: c an*ed "it t e +m< ,eystro,e to to**le !et"een 83#49%$= and :S)45)3;. b : >atc mode operation. )uns in sequential frames. It is useful for sendin* output to a file. In t is mode/ oratop "ill run continuously interrupted only !y t e user (%$).&%) or until t e iterations limit is reac ed if it is set "it t e +&n+ command&line option. #efault: )efres ed $o overrides t e default value %ommand line: &! )un time: =49. n : 8a?imum =um!er of iterations. (requires a num!er) Specifies t e ma?imum num!er of iterations/ or frames/ oratop s ould produce !efore endin*. #efault: infinite $o overrides t e default value %ommand line: &n 'num!er of iterations( )un time: =49. # : @elp. #isplays usa*e or output information. #efault: =49 $o overrides t e default value %ommand line: A B elpC )un time: c an*ed "it t e + < ,eystro,e.

Exiting
To :uit the program$ user may press any of the following &eyboard &eys" 7haracter ;:; or ;<;$ 1sc &ey 7trl=c (to abort

In all cases$ proper O7I session cleanup and logout is performed.

U+,% ! -"("& $."%


To allow the non'privileged user to use oratop$ the system administrator with %>, privileges may issue the following grants"
grant grant grant grant grant grant grant grant grant grant grant grant grant grant select select select select select select select select select select select select select select on on on on on on on on on on on on on on v_$instance to <username>; v_$parameter to <username>; v_$statname to <username>; v_$wait_chains to <username>; gv_$process to <username>; gv_$session to <username>; gv_$sysstat to <username>; gv_$sesstat to <username>; gv_$osstat to <username>; gv_$sga to <username>; gv_$system_event to <username>; gv_$session_event to <username>; gv_$session_wait to <username>; gv_$sysmetric to <username>;

T#/-" 1. G%#+t. %"0$ %"& 12% $+,% ! -"("& $."%


N2t". $ypical error for a non&*ranted user may receive upon connection is/ ERROR CODE = 9 ! OR"#$$9 !% ta&le or view 'oes not e(ist

CONNECTIONS
+hell environment settings
$ export ORACLE_HOME=<path> $ export LD_LIBRARY_PATH=$ORACLE_HOME/li $ export PATH=$ORACLE_HOME/ i!"$PATH

The program can be run with either of the following methods.

e!"eat#
6ocal connection within the same oracle +erver4client 6inu( environment. To run the program directly on a 6inu( server that hosts a database$ (bypassing the listener

02

set the 8ni( environment for O/,761?+I% and start the program.
$ export ORACLE_#ID=<$i%> $ oratop )Options* )+ogon*

$e%ote
Front'end )oratop* client is started from a 6inu( host and connecting remotely via T@+ to oracle bac&'end remote server (platform independent .

/unning the program from a client 6inu( host with installed compatible AO/,761?5O#1 via T@+ to any server$ (6inu( or none'6inu( with databases version 11.2.B.- onward. The procedures re:uire the following"

Server Settings
$ e remote data!ase requires t e follo"in*:

1. *REMOTE_LOGIN_PASSWORDFILE+ 'ara(eter
2, Oracle 'ass.ord file
+ote, Connecting * 9 as sysdba* is allo.ed only for be;ueat! connections,

Client Settings
Eor remote connection/ t e follo"in* must !e satisfied on t e client AO/,761?5O#1. , T@+ entry to the remote database must e(ist in $TNS_ADMIN/tnsnames.ora.

00

<tns_alias> =,DE-CR./0.O1 = ,"DDRE-- = ,/RO0OCO+ = 0C/2,3O-0 = <-erver_host>2,/OR0 = <port>22 ,CO11EC0_D"0" =,-ER4.CE_1"5E = <'&_service> 222

T#/-" 2. /emote connection tnsnames.ora


To run )oratop* from the client home$ set client environment variables and start it
$ export T&#_ADMI&=<$ORACLE_HOME/!et'or(/a%)i!> $ oratop )Options* )+ogon*

atc# %ode

' ($%" 10. >atch mode redirected to output te(t file.

02

&'(E$,*(&1E $ e follo"in* ,ey!oard ,eys "ill to**le display mode at run time/
0h1 2 Online 3"-,

,i-ure 11. %un time help menu

0f1 2 L2+(4.32%t '2%5#t

' ($%" 12. 6ong format (1-2 columns

03

0d1 2 R"#-6T 5"4C$5$-#t !"

' ($%" 13. Top0 .ait 1vents in /eal'Time 0r1 2 IORL4IOPS

' ($%" 14. %isplay I4O latency instead of IO3+.

04

0m1 2 M2&$-"6Act 2+4U."%6,%2(%#5

' ($%" 15. %isplay #odule4,ction instead of 8ser43rogram. TECHNICAL DETAILS


The )oratop* program is written in c using O7I ,3I. It is not intrusive to a database server$ and it leaves small footprints on the server$ namely the s:ls used by the program. It employs 8ni( )termio$ )ioctl* libraries$ and CT1BB escape characters to achieve cursor control$ font colors$ program e(it control and terminal ((term resiDing capability.

3ver ead
The oratop program is a very light process that uses minimal 738 and #emory. +erver process resources are server dependent.

L 5 t#t 2+.
T3" ,%2(%#5 . +2t ,2%t#/-"7 t %$+. 2+ L +$8 ,-#t12%5. 2+-9 The program is compatible with oracle client version11.2 and 12c/1 /e:uires server to have been started with the following parameters"
statistics_level=06/.C"+7 time'_statistics=0R8E

+tatistics?level c#++2t be set to )>,+I7* since it will disable #anageability feature.

05

%aveats
The program may e(hibit anomalies at run time$ most of which are e(pected since an event may occur while the program is in the middle of e(ecuting4 fetching operations.

>lan, Screen
On a busy server$ the following operations may leave the terminal blan& for a short period" , program initialiDation , terminal resiDing (shrin&4e(pand the terminal ,n instance Eoining4leaving the cluster <uitting interactive &eys menus 8pon e(iting the program S-$(( .3 %".,2+." t2 :"9/2#%& :"9 ,%".. 3ressing a &eyboard &ey to interact with the program may appear to have slow response on a busy server. A/+2%5#- t"%5 +#t 2+ 6i&e any +<6 session$ the program may fail due to a server error$ and the particular error will be displayed. A/+2%5#- "8 t In some situation (corner cases the program may leave the terminal ((term in an undesirable setting. To reset the terminal to its original settings$ the user may issue the 6inu( command )reset*.

CONCLUSION oratop utility provides a dba user a :uic& overview of a running database status and activity. It has the capability to provide needed information such as overall database performance bottlenec&$ identifying potential bloc&er(s $ and detecting possible process that may have a memory lea&. The program also reports badly performing s:l as well. Furthermore$ it helps in tuning some aspects of the database li&e user concurrency.

#odifications"
Version 13.2.4 Version 13.2.3 Version 13.2.2 Version 13.2.0 Version 13.1.0 Version 12.1.0 Versions 1512 July 2013, Top waits change for cpu stats by statsname an waits by sum. June 2013, !ll instances in section 2 will be liste implicitly in batch mo e. June 2013, "ntro uce new switches, "#$%&"#'(, )#*,!+T,&-%',$'#.. )ay 2013, (ong format an Top / ynamic wait e0ents. )ar 2013, s1lplus connection li2e an the oc were up ate from June 2011. *ec 2012, a e help 2ey 3h4. )ar 2010, create .

06

You might also like