Skip to menu

Korea Oracle User Group

Guru's Articles

Top 5 SQL Monitor Features

명품관 2015.12.01 11:28 Views : 780

Top 5 SQL Monitor Features

SQL Monitor is one cool tool.  Via EM12c, it empowers everyone, (yes, that means the developer, too, so give them the access to view this data via Cloud Control, please!)  This is a top five list, but it doesn’t stop there, just remember, this is my favorite features when using Cloud Control with SQL Monitoring.

Once logged into the database, you can gain access to SQL Monitor by clicking on Performance –> SQL Monitoring.

1. High Level View

The main view of active and inactive processing, (just remember, SQL Monitor processes will age out, so keep that in mind that this tool isn’t for looking at historical processing.) is a great place to start when we talk about value to your day to day job.

sqlmon5

From the main view, you can easily see what sessions are active, the SQLID, if there is parallel and what the DOP, (Degree of Parallelism) granted, database time, (broken down by wait event percentage) and IO Requests.  There is a ton of pertinent data here, including plan hash values, start and stop time, plus the SQL Text, but everyone has to admit, this is what we all want and need to know.

2. SQL ID Details via SQL Monitor

By clicking on any of the SQLIDs displayed in the SQL Monitor main page, you can then dig into the details surrounding a SQL process.

sqlmon2.3

For the given SQLID, you can view the duration and type of wait event resource consumption.  You can quickly see what the cost is and in graphs added, quickly identify what performance challenges a particular execution plan is most hindered by.  There are arrows to help the DBA or developer navigate the plan to understand what pain points are most evident and where the plan connects from bottom to top as the process filters through data to come up with it’s results.

3.  Offload Percent

Yes, you can use a query to see the offload percent for a process, but SQL Monitor is nice enough to show you right in Cloud Control-

Picture1

If you’re working on an Exadata and want to make sure you’re using all those great engineered system features you paid for, it’s nice to know you’re offloading to a cell node vs. doing the work on your database node that should be used for other work than scanning objects.

4. Resource Usage Details for a Distinct SQLID

Knowing how many resources are going to a process are essential to knowing how to eliminate extra resource usage.

sqlmon3.1

Under Metrics for each SQLID captured by SQL Monitor, you’ll be able to view the amount of CPU, PGA and IO used by the process.  You’ll even be able to tell what kind of waits you’re experiencing if you don’t use Google Chrome, (I’m joking…OK, maybe I’m not, but you understand browser challenges, I’m sure… :))

5.  Session Details

By clicking on the User from the main view, I’m able to log into the session details.  The actual session ID won’t be displayed, (in this case, we just see SH for each session) but we can click on the link, there by displaying vital info about the session details.

sqlmon6

We can quickly link to the SQLID, view if there are any session blocking the one we are investigating and see pertinent wait information including the P1, P2 and P3 waits.

If I click on the bottom link in the WAIT section, it will take me to the object that is causing the most waits, which happens to be the SALES table.

sqlmon7

I can now view column and constraint info without having to go to the schema feature within Cloud Control.

I can also view information about indexes and statistics, which no longer is accessible from SQL Details in Cloud Control.

sqlmon8

6.  (Bonus) Viewing Waits and Pain Points

As a bonus, knowing how many of us like to see tabular vs. graphical execution plans, it may be worthwhile to also view them in graphical form.  Below you can see as I hover my cursor over the sections that are highlighted with yellow lines from the Sales table and then Red for the filtering, you can note that it clearly displays that there are 13 million rows having a nested loop performed out of a 26 million row table.  I think most of us know that a hash join would have performed much faster and this is why the section has been highlighted in red as the pain point for the SQL in question.

screenshot_Mon_Nov_30_16.12.30

Just a little bonus for those of you still as hooked on tabular execution plans as I am… :)

Have a great week after the long weekend and hope your Thanksgiving was wonderful!

No. Subject Author Date Views
Notice Guru's Article 게시판 용도 ecrossoug 2015.11.18 608
44 Explain the Explain Plan: Join Methods 명품관 2021.02.10 749
43 Explain the Explain Plan: Access Methods 명품관 2021.02.10 960
42 Explain the Explain Plan: Cardinality Estimates 명품관 2021.02.09 618
41 Explaining the Explain Plan – How to Read and Interpret Execution Plans 명품관 2021.02.09 492
40 SQL Window Functions Cheat Sheet 명품관 2020.05.26 440
39 SQL Tuning Workshop 명품관 2020.02.20 8158
38 New initialization parameters, data dictionary views & dynamic performance views in Oracle Database 19c 명품관 2019.02.08 1913
37 More New Features in Oracle Database 19c 명품관 2019.02.08 6593
36 New Features of Performance Tuning in Oracle Database 19c 명품관 2019.02.08 918
35 New Features of RAC & ASM in Oracle 19c 명품관 2019.02.08 953
34 New Features of Data Guard in Oracle Database 19c 명품관 2019.02.08 2004
33 New Features of Security in Oracle Database 19c 명품관 2019.02.08 5049
32 Patch conflicts 명품관 2019.02.07 974
31 New Features in Oracle Multitenant 19c 명품관 2019.02.07 744
30 New Features of Backup & Recovery in Oracle Database 19c 명품관 2019.02.07 432
29 New Features in Oracle Database 19c 명품관 2019.02.02 544
28 Different MOS Notes for xTTS PERL scripts – Use V4 scripts 명품관 2019.01.29 531
27 V$EVENT_NAME 뷰의 Name 컬럼에 정의된 event name에서 오는 오해 명품관 2017.03.08 371
26 Can I apply a BP on top of a PSU? Or vice versa? 명품관 2016.06.01 398
25 How to change the database name in 12c 명품관 2016.05.31 1994
Up