Oracle Database Performance Tuning Using oratop Sandesh Rao VP AIOps for the Autonomous @sandeshr https://www.linkedin.com/in/raosandesh/ https://www.slideshare.net/SandeshRao4 Tips and tricks
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 23/07/2022 Copyright © 2021, Oracle and/or its affiliates
23/07/2022 Copyright © 2021, Oracle and/or its affiliates Visual layout (1) Database (2) Instance activity (3) AWR like “Top 5 Timed Events” (4) Process or SQL
$ export ORACLE_HOME=<path> $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib $ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/suptools/oratop:$PATH Command line mode 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
$ oratop / as sysdba Login 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.
$ export TWO_TASK= rmtdbhost:1521/db1.domain.com oratop sys@rmtdbhost:1521/db1.domain.com as sysdba Login 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
Symbols: (B)tyle, (K)illo, (M)ega, (G)iga, (T)err, [PEXY] (u)micro, (m)illi, (s)econd, minu(t)e, (h)our, (d)ay, (y)ear [60s/ 15s] – metric interval size, else current. Interactive Mode Options can be seen after starting the utility followed by pressing the keyboard key ‘h’ oratop: Release 16.5.1 Abbreviations Help Menu: Section 1 – DATABASE .. [1] Section 2 – INSTANCE .. [2] Section 3 – DB WAIT EVENTS .. [3] Section 4 – SESSION/PROCESS .. [4] Quit Help .. (q|Q) Enter selection number: Interactive Keys: [default] f : toggle between [standard] & detailed format r : toggle between [Cumulative ©] & Real-Time (RT) (section 3) s : switch to SQL mode (section 4) p : switch to [session/process] mode (section 4) m : Toggle session [USERNAME/PROGRAM] & MODULE/ACTION (sections 4) t : tablespace information (N/A on standby) x : SQL plan table (requires a value) I : refresh interval, requires value in seconds [5] q : quit/ exit program Esc : pause.
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 Miscellaneous 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’
Detailed format (long) Miscellaneous 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.
Cycle 1 - oratop: Release 16.5.1 Production on Thu Feb 10 19:42:49 UTC 2022 Oracle 23c - 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 is applicable at the command line with the relevant input options. Batch Mode Cycle 2 - oratop: Release 16.5.1 Production on Thu Feb 10 19:42:54 UTC 2022 Oracle 23c - 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 Thu Feb 10 19:42:40 UTC 2022 Copyright (c) 2011, Oracle. All rights reserved. Enter password: Connecting $ ./oratop / sysdba -bn1
SQL (key press ‘s’) SQL
SQL (key press ‘x’) SQL Plan
23/07/2022 Copyright © 2021, Oracle and/or its affiliates 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
23/07/2022 Copyright © 2021, Oracle and/or its affiliates 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
23/07/2022 Copyright © 2021, Oracle and/or its affiliates Running from AHF
23/07/2022 Copyright © 2021, Oracle and/or its affiliates tfactl menu
23/07/2022 Copyright © 2021, Oracle and/or its affiliates
23/07/2022 Copyright © 2021, Oracle and/or its affiliates
23/07/2022 Copyright © 2021, Oracle and/or its affiliates f : toggle between [standard] & detailed format
23/07/2022 Copyright © 2021, Oracle and/or its affiliates r : toggle between [Cumulative ©] & Real-Time (RT) (section 3)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates s : switch to SQL mode (section 4)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates p : switch to [session/process] mode (section 4)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates m : Toggle session [USERNAME/PROGRAM] & MODULE/ACTION (sections 4)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates t : tablespace information (N/A on standby)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates x : SQL plan table (requires a value)
23/07/2022 Copyright © 2021, Oracle and/or its affiliates I : refresh interval, requires value in seconds [5]
23/07/2022 Copyright © 2021, Oracle and/or its affiliates (h) Help menu
23/07/2022 Copyright © 2021, Oracle and/or its affiliates (h) Help menu
23/07/2022 Copyright © 2021, Oracle and/or its affiliates (h) Help menu
23/07/2022 Copyright © 2021, Oracle and/or its affiliates (h) Help menu
23/07/2022 Copyright © 2021, Oracle and/or its affiliates (h) Help menu
Oracle Database performance tuning using oratop

Oracle Database performance tuning using oratop

  • 1.
    Oracle Database PerformanceTuning Using oratop Sandesh Rao VP AIOps for the Autonomous @sandeshr https://www.linkedin.com/in/raosandesh/ https://www.slideshare.net/SandeshRao4 Tips and tricks
  • 2.
    A text-based interfacelike “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 23/07/2022 Copyright © 2021, Oracle and/or its affiliates
  • 3.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates Visual layout (1) Database (2) Instance activity (3) AWR like “Top 5 Timed Events” (4) Process or SQL
  • 4.
    $ export ORACLE_HOME=<path> $export LD_LIBRARY_PATH=$ORACLE_HOME/lib $ export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/suptools/oratop:$PATH Command line mode 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
  • 5.
    $ oratop /as sysdba Login 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.
  • 6.
    $ export TWO_TASK=rmtdbhost:1521/db1.domain.com oratop sys@rmtdbhost:1521/db1.domain.com as sysdba Login 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
  • 7.
    Symbols: (B)tyle, (K)illo, (M)ega,(G)iga, (T)err, [PEXY] (u)micro, (m)illi, (s)econd, minu(t)e, (h)our, (d)ay, (y)ear [60s/ 15s] – metric interval size, else current. Interactive Mode Options can be seen after starting the utility followed by pressing the keyboard key ‘h’ oratop: Release 16.5.1 Abbreviations Help Menu: Section 1 – DATABASE .. [1] Section 2 – INSTANCE .. [2] Section 3 – DB WAIT EVENTS .. [3] Section 4 – SESSION/PROCESS .. [4] Quit Help .. (q|Q) Enter selection number: Interactive Keys: [default] f : toggle between [standard] & detailed format r : toggle between [Cumulative ©] & Real-Time (RT) (section 3) s : switch to SQL mode (section 4) p : switch to [session/process] mode (section 4) m : Toggle session [USERNAME/PROGRAM] & MODULE/ACTION (sections 4) t : tablespace information (N/A on standby) x : SQL plan table (requires a value) I : refresh interval, requires value in seconds [5] q : quit/ exit program Esc : pause.
  • 8.
    Wait Events (section3) 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 Miscellaneous 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’
  • 9.
    Detailed format (long) Miscellaneous 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.
  • 10.
    Cycle 1 -oratop: Release 16.5.1 Production on Thu Feb 10 19:42:49 UTC 2022 Oracle 23c - 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 is applicable at the command line with the relevant input options. Batch Mode Cycle 2 - oratop: Release 16.5.1 Production on Thu Feb 10 19:42:54 UTC 2022 Oracle 23c - 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 Thu Feb 10 19:42:40 UTC 2022 Copyright (c) 2011, Oracle. All rights reserved. Enter password: Connecting $ ./oratop / sysdba -bn1
  • 11.
    SQL (key press‘s’) SQL
  • 12.
    SQL (key press‘x’) SQL Plan
  • 13.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates 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
  • 14.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates 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
  • 15.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates Running from AHF
  • 16.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates tfactl menu
  • 17.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates
  • 18.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates
  • 19.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates f : toggle between [standard] & detailed format
  • 20.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates r : toggle between [Cumulative ©] & Real-Time (RT) (section 3)
  • 21.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates s : switch to SQL mode (section 4)
  • 22.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates p : switch to [session/process] mode (section 4)
  • 23.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates m : Toggle session [USERNAME/PROGRAM] & MODULE/ACTION (sections 4)
  • 24.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates t : tablespace information (N/A on standby)
  • 25.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates x : SQL plan table (requires a value)
  • 26.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates I : refresh interval, requires value in seconds [5]
  • 27.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates (h) Help menu
  • 28.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates (h) Help menu
  • 29.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates (h) Help menu
  • 30.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates (h) Help menu
  • 31.
    23/07/2022 Copyright © 2021,Oracle and/or its affiliates (h) Help menu