I am having a problem viewing the queries in v$sqlarea. The scenario is as follows: I have a procedure A (suppose it is named p1) with lots of insert, select, update and delete statements. I am calling procedure p1 from a test procedure p2 inside a loop to have a load test for p1. But when I try to see the v$sqlarea, it is not showing the insert, delete, etc. from p1, but instead showing the statements from p2. What is the problem? I want to see the CPU usage of my queries in procedure p1 from v$sqlarea.

    Requires Free Membership to View

If your shared pool is large enough, all recent SQL and DML should be there!

Starting with Oracle9i, users have the ability to view the estimated CPU, TEMP and I/O costs for every SQL execution plan step. Oracle Corporation has noted that typical OLTP databases are becomingly increasingly CPU-bound and has provided the ability for the DBA to make the optimizer consider the CPU costs associated with each SQL execution step.

The developers of Oracle10g recognized this trend toward CPU-based optimization by providing the ability to choose CPU-based or I/O-based costing during SQL optimization, with the 10g default being CPU-costing. In Oracle10g, system stats are gathered by default, and in Oracle9i the DBA must manually execute the dbms_stat.gather_system_stats package to get CBO statistics.

alter session set "_optimizer_cost_model"=choose;   
alter session set "_optimizer_cost_model"=io;  
alter session set "_optimizer_cost_model"=cpu; 

Here is a good script:

select
   to_number(decode(SID, 65535, NULL, SID)) sid,
   operation_type              OPERATION,
   trunc(WORK_AREA_SIZE/1024)  WSIZE, 
   trunc(EXPECTED_SIZE/1024)   ESIZE,
   trunc(ACTUAL_MEM_USED/1024) MEM, 
   trunc(MAX_MEM_USED/1024)    "MAX MEM", 
   number_passes               PASS
from
   v$sql_workarea_active
order by
   1,2;

I have more complete details and scripts in my latest book, Oracle Tuning.

This was first published in July 2005

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: