Oratop is a tool that provides dynamic, near real-time monitoring of an Oracle database. It displays information on the database, instances, wait events, sessions/processes, and SQL. It can be run against RAC or non-RAC databases and provides both command line and interactive modes. In interactive mode, various options can be toggled using keyboard keys to customize the displayed information.
Report
Share
Report
Share
1 of 31
Download to read offline
More Related Content
Performance Tuning Using oratop
1. Oracle Database Performance Tuning
Using oratop
Tips and tricks
Sandesh Rao
VP AIOps for the Autonomous
@sandeshr
https://www.linkedin.com/in/raosandesh/
https://www.slideshare.net/SandeshRao4
2. A text-based interface like “top”, which can
be run against Real Application Cluster
(RAC) or non-RAC databases
It provides the ability to monitor the
database in near real time
What is oratop
4. Command line mode
$ export ORACLE_HOME=<path>
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/suptools/oratop:$PATH
$ ./oratop –h
oratop: Release 16.5.1
The oratop program provides a dynamic near real-time view of an open database
It also provides a limited on-line interactive interface.
Usage:
oratop [ [Options] [Logon] ]
Logon: {username[@connect_identifier] | / } [AS SYSDBA]
Password is prompted and the connect_identifier is TNS/ EZconnect
Options:
-b: batch mode. Used with –n iteration (default is console)
-n: maximum number of iterations (requires a value)
-o: Write console output to a file (in batch mode)
-i: interval delay (requires a value, default: 5)
-r: real-time (RT) wait events. (section 3, default: Cumulative)
-m: Session/Process MODULE/ACTION (default: USERNAME/PROGRAM)
-s: SQL mode. (section 4, default: session/process mode)
-f: detailed format, 132 columns. (default: standard, 80 columns)
-v: oratop release version number
-h: this help
$ export ORACLE_HOME=<path>
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/suptools/oratop:$PATH
$ ./oratop –h
oratop: Release 16.5.1
The oratop program provides a dynamic near real-time view of an open database
It also provides a limited on-line interactive interface.
Usage:
oratop [ [Options] [Logon] ]
Logon: {username[@connect_identifier] | / } [AS SYSDBA]
Password is prompted and the connect_identifier is TNS/ EZconnect
Options:
-b: batch mode. Used with –n iteration (default is console)
-n: maximum number of iterations (requires a value)
-o: Write console output to a file (in batch mode)
-i: interval delay (requires a value, default: 5)
-r: real-time (RT) wait events. (section 3, default: Cumulative)
-m: Session/Process MODULE/ACTION (default: USERNAME/PROGRAM)
-s: SQL mode. (section 4, default: session/process mode)
-f: detailed format, 132 columns. (default: standard, 80 columns)
-v: oratop release version number
-h: this help
5. Command line mode
$ export ORACLE_HOME=<path>
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
$ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/suptools/oratop:$PATH
oratop: Release 16.5.1
The oratop program provides a dynamic near real-time view of an open database
It also provides a limited on-line interactive interface.
Usage:
oratop [ [Options] [Logon] ]
Logon: {username[@connect_identifier] | / } [AS SYSDBA]
Password is prompted and the connect_identifier is TNS/ EZconnect
Options:
-b: batch mode. Used with –n iteration (default is console)
-n: maximum number of iterations (requires a value)
-o: Write console output to a file (in batch mode)
-i: interval delay (requires a value, default: 5)
-r: real-time (RT) wait events. (section 3, default: Cumulative)
-m: Session/Process MODULE/ACTION (default: USERNAME/PROGRAM)
-s: SQL mode. (section 4, default: session/process mode)
-f: detailed format, 132 columns. (default: standard, 80 columns)
-v: oratop release version number
-h: this help
$ ./oratop –h
6. Login
$ oratop / as sysdba
Connection method is like sqlplus
Connecting “ / as sysdba“ is allowed only for bequeath connections
The remote database requires setting the parameter “REMOTE_LOGIN_PASSWORDFILE”
paired with the availability of an Oracle password file.
7. $ export TWO_TASK= rmtdbhost:1521/db1.domain.com
Login
oratop sys@rmtdbhost:1521/db1.domain.com as sysdba
TNS:
export TNS_ADMIN and connect with a TNS alias name as defined in tnsnames.ora
TWO_TASK can be set with any of the above for ease of use, example
EZConnect, example:
oratop: Release 16.5.1 Production on Fri Feb 11 05:54:50 UTC 2022
Copyright (c) 2011, Oracle. All rights reserved.
Enter password:
$ ./oratop sys as sysdba
9. Miscellaneous
Wait Events (section 3)
Keyboard key press ‘r’ will toggle the wait event section between Cumulative and Realtime.
For C, the stats shown is the accumulation since the last database restart
Header’s %DCP
Column “%DCP” (in section 2) is the database instance cpu usage as %CPU of the host
Header’s “archivelog” and “er” (incidents) These two values are static, they are acquired once upon
start of monitoring only. They are not auto refreshed because the first incur expensive recursive query
and the second adds to diagnosability database waits
Values appearing in RED color
Values flagged and highlighted in red color are merely an emphasis of warning
Tablespaces listing
A list of all the tablespaces (cdb and pdb) can be obtained online with keyboard key press ‘t’
10. Miscellaneous
Detailed format (long)
Note. in RAC environment, while section 2 (instance section) is restricted to the top 5 instances in the
text-based user interface, all of the available instances will be listed in the batch mode.
11. Cycle 1 - oratop: Release 16.5.1 Production on Fri Apr 28 19:42:49 UTC 2023
Oracle 21c - 19:41:56 Pri r/w cdbs up: 13h, 12 sn, 4G sga, 10%fra, 15%db
ID %CPU LOAD AAS ASC ASI ASW ISW IORT MBPS %FRE PGA UCPS SQRT %DBC %DBW
-------------------------------------------------------------------------------
1 51 3 1 0 0 6 6 17m 2 8 834M 42 1m 4 11
EVENT (C) T/O WAIT TIME AVG %DBT WAIT_CLASS
-------------------------------------------------------------------------------
SQL*Net more data from client 31k 1d 3s 93 Network
SQL*Net message from dblink 505k 39t 5m 2 Network
DB CPU 39t 2
oracle thread bootstrap 9k 27t 186m 2 Other
db file sequential read 35k 4t 6m 0 User I/O
ID SID SPID USR PROG S OPN SQLID/BLOCKER E/T %CPU PGA ACT EVENT/OB W/T
-------------------------------------------------------------------------------
1 792 517 TPC tpcc D PL/ 582r1jmmm3tgj 3s 3 4M INA SQL*Net 3s
1 802 439 TPC tpcc D PL/ 582r1jmmm3tgj 184m 3 4M INA SQL*Net 184m
1 418 413 TPC tpcc D PL/ 582r1jmmm3tgj 185m 1 4M INA SQL*Net 185m
Batch Mode
Batch mode is applicable at the command line with the relevant input options.
Cycle 2 - oratop: Release 16.5.1 Production on Fri Apr 28 19:42:54 UTC 2023
Oracle 21c - 19:41:56 Pri r/w cdbs up: 13h, 12 sn, 4G sga, 10%fra, 15%db
ID %CPU LOAD AAS ASC ASI ASW ISW IORT MBPS %FRE PGA UCPS SQRT %DBC %DBW
-------------------------------------------------------------------------------
1 51 3 1 0 0 6 6 17m 2 8 834M 42 1m 4 11
EVENT (C) T/O WAIT TIME AVG %DBT WAIT_CLASS
oratop: Release 16.5.1 Production on Fri Apr 28 19:42:40 UTC 2023
Copyright (c) 2011, Oracle. All rights reserved.
Enter password:
Connecting
$ ./oratop / sysdba -bn1
14. Standby or mounted database instance
• STANDBY - key press “t” for “TABLESPACE INFORMATION” will not return any rows. Reason: BUG
27841703
• MOUNTED Instance – Section 2 will show inst_id highlighted in red color. Reason: Required
statistics is not available until instance is opened.
Miscellaneous
Unprivileged user
A typical error encountered by a non-privileged user upon connection to the database using the tool
is “ORA-00942: table or view does not exist”
To allow the non-privileged user to use oratop, the system administrator with a DBA role may issue
the following grant: “GRANT SELECT ANY DICTIONARY TO ;”
Exiting
To quit the program gracefully, user may press keyboard keys: "q" or "Q", or Esc key. A Ctrl+c to abort
forcibly. In all cases, proper database logout is performed
15. Monitor a local database:
Monitoring a remote database:
or
Monitoring a database every 10 seconds
$ ./oratop -i 10 / as sysdba
$ ./oratop -i 10 username/password@tns_alias
$ ./oratop -i 10 system/manager@tns_alias
27. Oracle major
version
Current time from
system metric
Role
(Primary,
Physical
standby)
Read write, read
only, w/apply
(active)
Name
Database
uptime
Number user
sessions
Number of
instances
Number of
pluggable
databases
Diag active
problem count
Total
database
Size
Largest system
global area
% used flashback
recovery area
Archivelog mode
Database
utilization
(%busy)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
28. Physical
write
total IO
request /
sec
Instance
ID
CPU
Count
CPU %
Busy
Current
OS load
Avg
active
sessions
Avg active
sessions
waiting on
I/O
Avg active
sessions
waiting
Inactive
sessions
waiting or
sleeping
Redo
created
per sec
Temp space
used
I/O Response
Time
(avg sync
single-block
read latency)
I/O
through
put in
MB /sec
I/O requests
/ second
(DB R/W)
Active
sessions on
CPU Physical
read total
IO request
/ sec
Logical
reads /
sec
GC CR+
current
block
received /
sec
Shared
pool free
%
Total PGA
allocated
Network
traffic
(bytes) /
sec
User
trans’ /
sec
User calls
/ sec
SQL service
response time
/ call
Database
CPU
(%Host)
Database
WAIT
(%Host)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
29. Wait event name
(real time mode)
1
2
Number
sessions
waiting
Total number
of waits for
the event
Avg wait
time
Total wait
time
% of
database
time
Name of
wait class
3
4
5
6
7
30. Thank you
Any Questions?
Sandesh Rao
VP AIOps for the Autonomous Database
@sandeshr
https://www.linkedin.com/in/raosandesh/
https://www.slideshare.net/SandeshRao4