Query regarding direct path write

Hi All,
We have Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production running on Redhat 4.
We have performance issue with high disk utilization.
When seen statspack report, top event is always direct path write.
when checked about direct path write found that it is consequence of direct path inserts/high sort operations.
I checked v$sort_usage and identified query which is listed there most of time, but column segtype is HASH for that query.
So is there chance i can conclude that this is the query which is causing direct path writes as confusing thing is SEGTYPE is HASH.
Please let me know your comment about the same and also is there a way i can find sql statement which are writing to temp tablespace using direct path write.
Regards
Vinay

v$sql_workarea_active gives information about the active work areas in the system. It shows the operation type, sid, memory usage and temp tablespace usage. You can check this to see what session is using the temporary tablespace for work areas.

Similar Messages

  • Getting wait event "direct path write temp" during query execution

    Hi All,
    While executing one query in database, it is taking longer time and failing with error "ORA-01652: unable to extend temp segment by 1280 in tablespace PSTEMP".
    I have increaesd the Temp tablespace size also till 96GB, Database size is 120GB.
    I have upgraded the database from 10.2.0.3 to 11.2.0.3 version last month.
    same query is running fine in other databases on same version.
    It is giving me "Direct write temp path" wait event.
    server load is also normal.
    I have increased pga_aggregate_target upto 512MB but it has not solved my problem
    Can you please help me out to solve this issue.

    Hi Nicolay,
    Please find below output from that query :
    SQL>
    SELECT DBMS_SQLTUNE.report_sql_monitor(
    sql_id => '(*******',
    type => 'TEXT',
    report_level => 'ALL') AS report
    FROM dual;SQL> 2 3 4 5
    SQL Monitoring Report
    SQL Text
    SELECT ASGN.TRANSACTIONID ,ASGN.UPA_CLIENT_ID FROM PS_UPA_CM_PRE_ASGN ASGN ,PS_UPA_CLIENT_TBL CL ,PS_UPA_CM_ADMIN_WL WL ,PSXLATITEM XCT ,PSXLATITEM XCS ,PS_PWC_INDUSTR_TBL IND ,PS_PWC_SUBIND_TBL SCT ,PS_UPA_FIN_REG_TBL REG ,PS_UPA_CM_MKT_VW1 MKT WHERE ASGN.UPA_CLIENT_ID = CL.UPA_CLIENT_ID AND CL.UPA_CM_GRP_ID = ' ' AND ASGN.UPA_CM_ADMIN_ACT = 'RCD' AND ASGN.UPA_CM_CLT_ROLENBR = WL.UPA_CM_CLT_ROLENBR AND ASGN.UPA_CM_ROLENBR_SEQ = WL.UPA_CM_ROLENBR_SEQ AND WL.UPA_CM_WL_STATUS = 'A' AND
    WL.UPA_CM_ADMIN_ACT = 'RCD' AND CL.EFFDT = ( SELECT MAX(CL1.EFFDT) FROM PS_UPA_CLIENT_TBL CL1 WHERE CL1.UPA_CLIENT_ID = CL.UPA_CLIENT_ID AND CL1.EFFDT <= SYSDATE) AND CL.EFF_STATUS = 'A' AND CL.UPA_MONTH_DAY <> ' ' AND CL.UPA_CLIENT_TYPE <> ' ' AND CL.UPA_CLIENT_SEGMENT <> ' ' AND CL.PWC_INDUSTRY <> ' ' AND CL.PWC_SUB_INDUSTRY <> ' ' AND CL.UPA_FIN_REGION <> ' ' AND CL.UPA_STRAT_MKT <> ' ' AND CL.UPA_CLT_PRIORITIZ <> ' ' /*Harieash - Aadded as part of PR support IR 43024 */ AND XCT.FIELDNAME =
    'UPA_CLIENT_TYPE' AND XCT.FIELDVALUE = CL.UPA_CLIENT_TYPE AND XCT.EFFDT = ( SELECT MAX(XCT1.EFFDT) FROM PSXLATITEM XCT1 WHERE XCT1.FIELDNAME = XCT.FIELDNAME AND XCT1.FIELDVALUE = XCT.FIELDVALUE AND XCT1.EFFDT <= SYSDATE) AND XCT.EFF_STATUS = 'A' AND XCS.FIELDNAME = 'UPA_CLIENT_SEGMENT' AND XCS.FIELDVALUE = CL.UPA_CLIENT_SEGMENT AND XCS.EFFDT = ( SELECT MAX(XCS1.EFFDT) FROM PSXLATITEM XCS1 WHERE XCS1.FIELDNAME = XCS.FIELDNAME AND XCS1.FIELDVALUE = XCS.FIELDVALUE AND XCS1.EFFDT <= SYSDATE) AND
    XCS.EFF_STATUS = 'A' AND IND.SETID = 'USA00' AND CL.PWC_INDUSTRY = IND.PWC_INDUSTRY AND IND.EFFDT = ( SELECT MAX(IND1.EFFDT) FROM PS_PWC_INDUSTR_TBL IND1 WHERE IND1.SETID = IND.SETID AND IND1.PWC_INDUSTRY = IND.PWC_INDUSTRY AND IND1.EFFDT <= SYSDATE) AND IND.EFF_STATUS = 'A' AND SCT.SETID = 'USA00' AND CL.PWC_SUB_INDUSTRY = SCT.PWC_SUB_INDUSTRY AND SCT.EFFDT = ( SELECT MAX(SCT1.EFFDT) FROM PS_PWC_SUBIND_TBL SCT1 WHERE SCT1.SETID = SCT.SETID AND SCT1.PWC_SUB_INDUSTRY = SCT.PWC_SUB_INDUSTRY AND
    SCT1.EFFDT <= SYSDATE) AND SCT.EFF_STATUS = 'A' AND REG.SETID = 'USA00' AND CL.UPA_FIN_REGION = REG.UPA_FIN_REGION AND REG.EFFDT = ( SELECT MAX(REG1.EFFDT) FROM PS_UPA_FIN_REG_TBL REG1 WHERE REG1.SETID = 'USA00' AND REG1.UPA_FIN_REGION = REG.UPA_FIN_REGION AND REG1.EFFDT <= SYSDATE) AND REG.EFF_STATUS = 'A' AND CL.UPA_STRAT_MKT = MKT.UPA_STRAT_MKT
    Global Information
    Status : EXECUTING
    Instance ID : 1
    Session : *******
    SQL ID : *******
    SQL Execution ID : *********
    Execution Started : 11/12/2012 04:31:25
    First Refresh Time : 11/12/2012 04:31:33
    Last Refresh Time : 11/12/2012 04:31:55
    Duration : 31s
    Module/Action : ***** (TNS V1-V3)/-
    Service : SYS$USERS
    Program : ******* (TNS V1-V3)
    Global Stats
    =========================================================
    | Elapsed | Cpu | IO | Buffer | Write | Write |
    | Time(s) | Time(s) | Waits(s) | Gets | Reqs | Bytes |
    =========================================================
    | 33 | 25 | 7.30 | 162 | 4755 | 557MB |
    =========================================================
    SQL Plan Monitoring Details (Plan Hash Value=2177602723)
    ========================================================================================================================================================================================================
    | Id | Operation | Name | Rows | Cost | Time | Start | Execs | Rows | Write | Write | Mem | Temp | Activity | Activity Detail |
    | | | | (Estim) | | Active(s) | Active | | (Actual) | Reqs | Bytes | | | (%) | (# samples) |
    ========================================================================================================================================================================================================
    | 0 | SELECT STATEMENT | | | | | | 1 | | | | | | | |
    | 1 | NESTED LOOPS | | | | | | 1 | | | | | | | |
    | 2 | NESTED LOOPS | | 1 | 491 | | | 1 | | | | | | | |
    | -> 3 | HASH JOIN | | 120 | 130 | 31 | +1 | 1 | 0 | 4011 | 470MB | 95M | 598M | 80.65 | Cpu (19) |
    | | | | | | | | | | | | | | | direct path write temp (6) |
    | -> 4 | MERGE JOIN CARTESIAN | | 120 | 61 | 23 | +8 | 1 | 13M | | | | | | |
    | -> 5 | MERGE JOIN CARTESIAN | | 1 | 38 | 23 | +8 | 1 | 1870 | | | | | | |
    | -> 6 | MERGE JOIN CARTESIAN | | 1 | 37 | 23 | +8 | 1 | 70 | | | | | | |
    | -> 7 | MERGE JOIN CARTESIAN | | 1 | 35 | 23 | +8 | 1 | 12 | | | | | | |
    | 8 | MERGE JOIN CARTESIAN | | 1 | 33 | 21 | +8 | 1 | 2 | | | | | | |
    | 9 | MERGE JOIN CARTESIAN | | 1 | 31 | 1 | +8 | 1 | 1 | | | | | | |
    | 10 | VIEW | PS_UPA_CM_MKT_VW1 | 1 | 29 | 1 | +8 | 1 | 1 | | | | | | |
    | 11 | SORT UNIQUE | | 1 | 28 | 1 | +8 | 1 | 1 | | | | | | |
    | 12 | TABLE ACCESS BY INDEX ROWID | PS_UPA_ST_MKT_TBL | 10 | 2 | 1 | +8 | 1 | 43 | | | | | | |
    | 13 | INDEX SKIP SCAN | PS0UPA_ST_MKT_TBL | 10 | 1 | 1 | +8 | 1 | 43 | | | | | | |
    | 14 | SORT AGGREGATE | | 1 | | 1 | +8 | 33 | 33 | | | | | | |
    | 15 | INDEX SKIP SCAN | PS0UPA_ST_MKT_TBL | 2 | 1 | 1 | +8 | 33 | 50 | | | | | | |
    | 16 | BUFFER SORT | | 1 | 31 | 1 | +8 | 1 | 1 | | | | | | |
    | 17 | TABLE ACCESS BY INDEX ROWID | PSXLATITEM | 1 | 2 | 1 | +8 | 1 | 14 | | | | | | |
    | 18 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 1 | 14 | | | | | | |
    | 19 | SORT AGGREGATE | | 1 | | 1 | +8 | 14 | 14 | | | | | | |
    | 20 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 14 | 14 | | | | | | |
    | 21 | BUFFER SORT | | 1 | 31 | 21 | +8 | 1 | 2 | | | | | | |
    | 22 | TABLE ACCESS BY INDEX ROWID | PSXLATITEM | 1 | 2 | 1 | +8 | 1 | 2 | | | | | | |
    | 23 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 1 | 2 | | | | | | |
    | 24 | SORT AGGREGATE | | 1 | | 1 | +8 | 2 | 2 | | | | | | |
    | 25 | INDEX RANGE SCAN | PS_PSXLATITEM | 1 | 1 | 1 | +8 | 2 | 2 | | | | | | |
    | -> 26 | BUFFER SORT | | 3 | 33 | 23 | +8 | 2 | 12 | | | | | | |
    | 27 | TABLE ACCESS BY INDEX ROWID | PS_PWC_INDUSTR_TBL | 3 | 2 | 1 | +8 | 1 | 10 | | | | | | |
    | 28 | INDEX SKIP SCAN | PS0PWC_INDUSTR_TBL | 6 | 1 | 1 | +8 | 1 | 26 | | | | | | |
    | 29 | SORT AGGREGATE | | 1 | | 1 | +8 | 26 | 26 | | | | | | |
    | 30 | FIRST ROW | | 1 | 1 | 1 | +8 | 26 | 26 | | | | | | |
    | -> 31 | INDEX RANGE SCAN (MIN/MAX) | PS_PWC_INDUSTR_TBL | 1 | 1 | 23 | +8 | 26 | 26 | | | | | | |
    | -> 32 | BUFFER SORT | | 3 | 35 | 23 | +8 | 12 | 70 | | | | | | |
    | 33 | TABLE ACCESS BY INDEX ROWID | PS_UPA_FIN_REG_TBL | 3 | 2 | 1 | +8 | 1 | 6 | | | | | | |
    | 34 | INDEX SKIP SCAN | PS0UPA_FIN_REG_TBL | 6 | 1 | 1 | +8 | 1 | 12 | | | | | | |
    | 35 | SORT AGGREGATE | | 1 | | 1 | +8 | 12 | 12 | | | | | | |
    | 36 | FIRST ROW | | 1 | 1 | 1 | +8 | 12 | 12 | | | | | | |
    | -> 37 | INDEX RANGE SCAN (MIN/MAX) | PS_UPA_FIN_REG_TBL | 1 | 1 | 23 | +8 | 12 | 12 | | | | | | |
    | -> 38 | BUFFER SORT | | 14 | 36 | 23 | +8 | 70 | 1870 | | | | | | |
    | 39 | INDEX RANGE SCAN | PSAPWC_SUBIND_TBL | 14 | 1 | 1 | +8 | 1 | 27 | | | | | | |
    | 40 | SORT AGGREGATE | | 1 | | 1 | +8 | 184 | 184 | | | | | | |
    | 41 | FIRST ROW | | 1 | 2 | 1 | +8 | 184 | 184 | | | | | | |
    | -> 42 | INDEX RANGE SCAN (MIN/MAX) | PS_PWC_SUBIND_TBL | 1 | 2 | 23 | +8 | 184 | 184 | | | | | | |
    | 43 | BUFFER SORT | | 794 | 60 | 29 | +2 | 1870 | 13M | | | 306K | | 19.35 | Cpu (6) |
    | 44 | TABLE ACCESS FULL | PS_UPA_CM_ADMIN_WL | 794 | 23 | 1 | +8 | 1 | 7052 | | | | | | |
    | 45 | TABLE ACCESS FULL | PS_UPA_CM_PRE_ASGN | 3536 | 69 | | | | | | | | | | |
    | 46 | INDEX RANGE SCAN | PSDUPA_CLIENT_TBL | 1 | 2 | | | | | | | | | | |
    | 47 | SORT AGGREGATE | | 1 | | | | | | | | | | | |
    | 48 | FIRST ROW | | 1 | 3 | | | | | | | | | | |
    | 49 | INDEX RANGE SCAN (MIN/MAX) | PS_UPA_CLIENT_TBL | 1 | 3 | | | | | | | | | | |
    | 50 | TABLE ACCESS BY INDEX ROWID | PS_UPA_CLIENT_TBL | 1 | 3 | | | | | | | | | | |
    ========================================================================================================================================================================================================
    SQL>
    spool offSQL>

  • A lot of messages "direct path write temp" and "direct path read temp"

    Hello, all
    Please, understand me, what is going on in my system (DB: Oracle database 11.2.0.3, OS: Windows 2008 R2).
    In AWR report (1 hour) I see next:
    Foreground Wait Events
                                                                 Avg               
                                            %Time Total Wait    wait    Waits   % DB
    Event                             Waits -outs   Time (s)    (ms)     /txn   time
    direct path write temp          132,627     0      1,056       8      0.8   21.7
    direct path read temp           308,969     0        565       2      2.0   11.6
    log file sync                    19,228     0        241      13      0.1    5.0
    direct path write                17,698     0        135       8      0.1    2.8
    db file sequential read          21,149     0         94       4      0.1    1.9
    SQL*Net message from dblin           59     0          5      86      0.0     .1
    Segments by Direct Physical Reads         DB/Inst: SGRE/sgre  Snaps: 1039-1040
    -> Total Direct Physical Reads:         392,273
    -> Captured Segments account for   94.7% of Total
               Tablespace                      Subobject  Obj.        Direct       
    Owner         Name    Object Name            Name     Type         Reads  %Total
    ** MISSING TEMP       ** TRANSIENT: 437734 MISSING ** UNDEF       38,290    9.76
    DBSNMP     TEMP       MGMT_TEMPT_SQL                  TABLE       38,242    9.75
    ** MISSING TEMP       ** TRANSIENT: 438784 MISSING ** UNDEF       37,790    9.63
    ** MISSING TEMP       ** TRANSIENT: 437312 MISSING ** UNDEF       37,661    9.60
    ** MISSING TEMP       ** TRANSIENT: 439257 MISSING ** UNDEF       37,477    9.55Some selects:
    SELECT   S.sid,
             T.blocks * TBS.block_size / 1024 / 1024 mb_used, T.tablespace, T.SEGTYPE
    FROM     v$sort_usage T, v$session S, v$sqlarea Q, dba_tablespaces TBS
    WHERE    T.session_addr = S.saddr
    AND      T.sqladdr = Q.address (+)
    AND      T.tablespace = TBS.tablespace_name
    AND      S.sid = 732
    ORDER BY S.username, S.sid;
    SID     MB_USED     TABLESPACE     SEGTYPE
    732     2          TEMP          LOB_DATA
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          INDEX
    732     1          TEMP          DATA
    732     1          TEMP          INDEX
    732     1          TEMP          LOB_INDEX
    select st.sid, sn.name, st.VALUE
    from V$statname sn, v$sesstat st
    where st.STATISTIC# = sn.STATISTIC#
    and (sn.name like 'sorts%')
    and st.sid in (select sid from v$session_wait where event like '%direct path write temp%')
    order by st.sid
    SID     NAME          VALUE
    732     sorts (memory)     591408
    732     sorts (rows)     102126
    732     sorts (disk)     0Why I do not see any disk sorts? If TEMP is used for no sort operations, then for which operations?
    How I can see that? How can I decrease direct path write temp without tuning SQL?
    Additional information:
    PGA_AGGREGATE_TARGET is set to big value - 6GB (3GB enough due to advisory recommendation)
    Please, help.
    Regards, user12103911.

    user12103911 wrote:
    SELECT optimal_count, round(optimal_count*100/total, 2) optimal_perc,
    onepass_count, round(onepass_count*100/total, 2) onepass_perc,
    multipass_count, round(multipass_count*100/total, 2) multipass_perc
    FROM
    (SELECT decode(sum(total_executions), 0, 1, sum(total_executions)) total,
    sum(OPTIMAL_EXECUTIONS) optimal_count,
    sum(ONEPASS_EXECUTIONS) onepass_count,
    sum(MULTIPASSES_EXECUTIONS) multipass_count
    FROM   v$sql_workarea_histogram); 
    OPTIMAL_COUNT OPTIMAL_PERC  ONEPASS_COUNT ONEPASS_PERC  MULTIPASS_COUNT MULTIPASS_PERC
    13150685      100           0             0             0               0No n-pass executions.That's a pretty convincing display - given that your AWR manages to NAME an object that is in the TEMP tablespace, an obvious point to follow up is global temporary tables. If you have any declared as "on commit preserve" (duration = 'SYS$SESSION') then you could have code which does "insert /*+ append */ into gtt", and if you then query this in parallel (or - since you're on 11.2.0.3 - the data volume is large enough) Oracle could choose to do direct path writes to load the GTT and direct path reads to read it back.
    Regards
    Jonathan Lewis

  • Wait events 'direct path write'  and 'direct path read'

    Hi,
    We have a query which is taking more that 2 min. It's a 9.2.0.7 database. We took the trace/tkprof of the query,and identified that there are so manay 'direct path write' and 'direct path read' wait events in the trace file.
    WAIT #3: nam='direct path write' ela= 5 p1=201 p2=70710 p3=15
    WAIT #3: nam='direct path read' ela= 170 p1=201 p2=71719 p3=15
    In the above, "p1=201" is a file_id, but we could not find any data file, temp file, control file with that id# 201.
    Can you please let us know what's "p1=201" here, how to identify the file which is causing the issue.
    Thanks
    Sravan

    What does:
    show parameter db_filesreturn? My guess, is that it returns 200.
    The direct file read and direct file write events are reads and writes to TEMP tablespace. In those wait events, the file# is reported as db_files+temp file id. So, 201 means temp file #1.
    Now, as to your actual performance problem.
    Without seeing the SQL and the corresponding execution plan, it's impossible to be sure. However, the most common causes of temp writes are sort operations and group by operations.
    If you decide to post your SQL and execution plan, please be sure to make it readable by formatting it. Information on how to do so can be found here.
    Hope that helps,
    -Mark
    Edited by: mbobak on May 1, 2011 1:50 AM

  • Direct path write temp wait problrm

    Hi there,
    (DB= 11.2.0, OS= OL 5)
    I have a query which it takes approximately 20 seconds if I run it manually against the server via a tool like PL/SQL Developer and takes about 7 minutes if it runs via a reporting tool like BI Publisher. I dont have this problem with other queries. the query is against a huge table containing 800 million records. through monitoring EM the problem seems to be the wait event "DIRECT PATH WRITE TEMP". But when I execute it manually that will not be an issue. I'm sure the queries are the same in both environments. Application Server (where the BIP runs on it) access to DB server is through a LAN and my access is through a VPN over the net. By the way, the query has no order by clause. The memory_target_parameter is 20g and sort_area_size is 65536.
    Please help me to understand why two behaviors of DB against a same query and why the wait event "DIRECT PATH WRITE TEMP" occurs and how I can resolve it.
    THANKS
    SMSK

    Thanks Dom,
    After posting this thread I also doubted about different Plans, Too. I noticed that the application runs the query via a web service but there is no web service call when I run it on my PL/SQL Developer client. I dont know if this is informational or not.
    Another thing that surprised me is DATABASE LINK. when I run a query containing a reference to a DB-LINK provided table, COMMIT and ROLLBACK buttons of the PL/SQL Developer client menu bar will be enabled. this is not natural. I just run a SELECT statement which doesnt require COMMIT nor ROLLBACK. So I try to temporarily bring those DB-LINK tables using CTAS. Surprisingly performance of the application server becomes good and prepares the report result in just 4 seconds!
    Therefore, it seems that subject of the problem I'm looking for should be change to:
    Why commit or rollback will be enabled after executing a select statement over a DB-LINK table?
    IS this occurrence affects query performance?
    Does this leads to wait event "direct path write temp"?
    Any helpful comment or link about db-link performance.
    SMSK.

  • DIRECT PATH WRITE TEMP during SQL

    Hi all,
    recently I have been experiencing a very interesting question. We have 2 equal system therefore 2 databases. They have same hardware, the same memory and init configuration. On one of the system an SQL statement runs in 1 second, on the other system the statement hangs with:DIRECT PATH WRITE TEMP wait event. I came to the conclusion in a way that I traced the session:
    *** 2013-08-08 18:09:05.131
    *** SESSION ID:(90.36255) 2013-08-08 18:09:05.131
    *** CLIENT ID:() 2013-08-08 18:09:05.131
    *** SERVICE NAME:(SYS$USERS) 2013-08-08 18:09:05.131
    *** MODULE NAME:(sqlplus@i87345 (TNS V1-V3)) 2013-08-08 18:09:05.131
    *** ACTION NAME:() 2013-08-08 18:09:05.131
    WAIT #140650920871104: nam='direct path write temp' ela= 2254 file number=201 first dba=1800095 block cnt=31 obj#=71542 tim=1375978145131322
    *** 2013-08-08 18:09:25.905
    WAIT #140650920871104: nam='direct path write temp' ela= 18683 file number=201 first dba=1746847 block cnt=31 obj#=71542 tim=1375978165905262
    WAIT #140650920871104: nam='direct path write temp' ela= 26832 file number=201 first dba=1740253 block cnt=31 obj#=71542 tim=1375978165988243
    and so on
    just waiting and waiting, and then
    ORA-01652: unable to extend temp segment by 128 in tablespace TEMP
    significantly there is no difference in the amount of data between the 2 systems. Statistics have beeen collecting and are actual. Earlier the statement run properly, also within one second. Something has changed, but not to system configuration. Temp tablespace could be extended, but probably this is not the way (I think).
    Any tip how we can continue?
    thanks
    Attila

    Run both queries again, and pull the execution plans from memory using dbms_xplan.display_cursor() and the format 'peeked_binds' option.
    Bear in mind that even if the data is the same, and stats were collected at the same instant on the two systems, a sample (rather than a compute) could result in slightly different statistics that end up giving different execution plans. This is more likely to happen if there are histograms on the critical columns.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    Now on Twitter: @jloracle

  • Oracle 10g direct path write too slow

    Hi All,
    We have Oracle 10g on a Solaris virtual server, VMWare ESXi being the host. Data files are on RAID1, internal storage on a HP DL585 with VMFS partition at ESXi level. Problem is that DB writes for a CREATE TABLE as SELECT... statement is way too slow. To create a table which is 0.5 GB, DB takes 9 minutes which amounts to 1 MB/s. When we check for FTP or file copy at Solaris level with same size file (0.5 GB), it flies through in less than a minute. This is Oracle 10.2.0.4, 8K data block, 2 vCPU assigned to the Solaris VM. Have checked with VMWare support for any known issues and also have SR open with Oracle for any param changes that can help speed up things. Any clues or pointers from you all will be of great help.
    Thanks,
    Nikhil

    Here's the output from tkprof for waits
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    single-task message 1 0.17 0.17
    SQL*Net message to dblink 150 0.00 0.00
    SQL*Net message from dblink 150 0.04 0.32
    SQL*Net message to client 1 0.00 0.00
    direct path write temp 4003 1.16 804.93
    direct path read temp 2563 0.14 35.86
    SQL*Net more data from dblink 126967 0.17 11.81
    SQL*Net message from client 1 17.73 17.73
    Direct Path write temp has total waits of 804.93. Also, I am NOT looking to tune a particular SQL. Database is overall slow on VMware and I am looking for any gotchas for running Oracle 10g within a Solaris VM.
    Thanks,
    Nikhil

  • Direct Path Write

    Is there a way to get Toplink to use direct path write (use the 'append' hint)?
    Thanks,
    Mike

    p.s. we are using the BPEL database adapter...

  • Why parallel query use direct path read ??

    I think because access buffer cache needs latch and buffer block lock,if parallel query don't use direct path read ,parallel query will be impacted by Serialization mechanism such as latch and lock .so oracle choose direct path read to avoid it .
    anybody have a good idea ??
    Edited by: jinyu on Dec 8, 2008 7:52 AM

    jinyu wrote:
    I think because access buffer cache needs latch and buffer block lock,if parallel query don't use direct path read ,parallel query will be impacted by Serialization mechanism such as latch and lock .so oracle choose direct path read to avoid it .Jinyu,
    basically, yes I think that's it. The purpose of parallel query is to scan a very large segment, because the overhead of communication between the processes and maintaining/starting up the parallel slave renders the operation inefficient for small segments.
    Therefore I guess the assumption is that the segment to scan is probably very large, the fraction of the blocks in the buffer cache would be only very small in comparison to the blocks to scan, and therefore the reduced overhead of directly reading the blocks bypassing all the serialization issues of the buffer cache should outweigh the "un-buffered" blocks issue and save the buffer cache for objects that benefit more from being cached.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Regarding 'Direct Path Read' waits

    As we all know, direct path read waits is a new feature in Oracle 11g. From Oracle Documents or others' articles, when it is full table scan, direct path read occured. But why it occured?  I don't know clearly.
    Below is Oracle Document description:
    http://docs.oracle.com/cd/E18283_01/server.112/e17110/waitevents003.htm#sthref3849
    During Direct Path operations the data is asynchronously read from the database files. At some stage the session needs to make sure that all outstanding asynchronous I/O have been completed to disk. This can also happen if during a direct read no more slots are available to store outstanding load requests (a load request could consist of multiple I/Os).
    Question:
    1. During Direct Path operations the data is asynchronously read from the database files.  >> what does this statement mean? what's ''asynchronously read'?
    2. describe above description for me in details.
    3. who can clearly explain 'why direct path read waits occur' for me?
    Thanks in advance.
    Lonion

    Lonion wrote:
    Question:
    1. During Direct Path operations the data is asynchronously read from the database files.  >> what does this statement mean? what's ''asynchronously read'?
    2. describe above description for me in details.
    3. who can clearly explain 'why direct path read waits occur' for me?
    If you want to get very technical, Frits Hoogland has written lots of stuff about the implementation:
    http://fritshoogland.wordpress.com/2013/05/09/direct-path-read-and-fast-full-index-scans/
    http://fritshoogland.wordpress.com/2013/01/04/oracle-11-2-and-the-direct-path-read-event/
    http://fritshoogland.wordpress.com/2012/12/27/oracle-11-2-0-1-and-the-kfk-async-disk-io-wait-event/
    http://www.ukoug.org/what-we-offer/library/about-multiblock-reads/about-multiblock-reads.pdf
    Regards
    Jonathan Lewis

  • Query Tuning (sequential read + direct path read/write temp)

    Following query takes nearly 10 minutes under 10.2.0.2 on WIN2K3 to execute but I am sure there would be an alternate to tune it further.
    Major waits are 'db file sequential read' and 'direct path read temp' in addition to 'direct path write temp'
    Increasing/tuning the work_area_policy/sort_area_size would help? moving the tables to faster disk would reduce PIO causing sequential read, query re-writing would prove to be helpful?.
    Below is the tkprof:
    SELECT
      P.PER_ID
      , CL.DESCR
      , P.ENG_NAME
      , P.ARA_NAME
      , P.NATION
      , P.ADDR
      , ('Mob:' || NVL(P.MOB, '') || ', Home:' || NVL(P.HOME, '') || ', Bus.:' || NVL(P.BUS, '') || ', Fax:' || NVL(P.FAX, '')) PHONE
      , SUM(CASE
              WHEN FT.FT_TYPE_FLG IN ('BS','BX','AD','AX') THEN FT.CUR_AMT
            ELSE 0
            END) BILL
      , SUM(CASE
              WHEN FT.FT_TYPE_FLG IN ('PS','PX') THEN FT.CUR_AMT * -1
            ELSE 0
            END) PAY
      , SUM(FT.CUR_AMT) DUE
      , SUM(CASE
              WHEN FT.FREEZE_DTTM > '03-JUN-08' THEN
                  CASE WHEN FT.FT_TYPE_FLG IN ('PS','PX') THEN FT.CUR_AMT * -1
                  ELSE 0
                  END
            ELSE 0
            END) PAY_02JUN
    FROM
      CI_FT FT
      , CI_SA SA 
      , CI_ACCT_CHAR AC
      , CI_CUST_CL_L CL
      , CI_ACCT A
      , CI_ACCT_PER AP
          SELECT
            P.PER_ID
            , (P.CITY || ', ' || P.STATE || ',' || P.COUNTRY) ADDR
            , MAX(DECODE(PP.PHONE_TYPE_CD, 'MOB         ', PP.PHONE)) MOB
            , MAX(DECODE(PP.PHONE_TYPE_CD, 'BUSN        ', PP.PHONE)) BUS
            , MAX(DECODE(PP.PHONE_TYPE_CD, 'HOME        ', PP.PHONE)) HOME
            , MAX(DECODE(PP.PHONE_TYPE_CD, 'FAX         ', PP.PHONE)) FAX
            , MAX(DECODE(PN.NAME_TYPE_FLG, 'PRIM', PN.ENTITY_NAME)) ENG_NAME
            , MAX(DECODE(PN.NAME_TYPE_FLG, 'ALT ', PN.ENTITY_NAME)) ARA_NAME
            , MAX(DECODE(PC.CHAR_TYPE_CD, 'NATION  ', PC.CHAR_VAL)) NATION
          FROM
            CI_PER P
            , CI_PER_PHONE PP
            , CI_PER_NAME PN
            , CI_PER_CHAR PC
          WHERE
            P.PER_ID = PP.PER_ID (+)
          AND P.PER_ID = PN.PER_ID (+)
          AND P.PER_ID = PC.PER_ID (+)
          GROUP BY
            P.PER_ID
            , (P.CITY || ', ' || P.STATE || ',' || P.COUNTRY)
        ) P
    WHERE
      P.PER_ID = AP.PER_ID
    AND AP.ACCT_ID = AC.ACCT_ID
    AND AP.ACCT_ID = SA.ACCT_ID
    AND AP.MAIN_CUST_SW = 'Y'
    AND A.ACCT_ID = SA.ACCT_ID
    AND A.ACCT_ID = AP.ACCT_ID
    AND AC.CHAR_TYPE_CD = 'ACCTYPE' 
    AND AC.CHAR_VAL IN ('UOS', 'DEFAULT') 
    AND AC.ACCT_ID = SA.ACCT_ID
    AND CL.LANGUAGE_CD = 'ENG'
    AND A.ACCT_ID = AC.ACCT_ID
    AND A.CUST_CL_CD = CL.CUST_CL_CD
    AND SA.SA_ID = FT.SA_ID
    AND FT.FREEZE_DTTM IS NOT NULL 
    GROUP BY
      P.PER_ID
      , CL.DESCR
      , P.ENG_NAME
      , P.ARA_NAME
      , P.NATION
      , P.ADDR
      , ('Mob:' || NVL(P.MOB, '') || ', Home:' || NVL(P.HOME, '') || ', Bus.:' || NVL(P.BUS, '') || ', Fax:' || NVL(P.FAX, ''))
    HAVING
      SUM(FT.CUR_AMT) > 0
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.64       0.64          0          0          0           0
    Execute      1      0.00       0.00          0          0          0           0
    Fetch      304    353.09     430.04      21720   52997832          0        4543
    total      306    353.73     430.69      21720   52997832          0        4543
    Misses in library cache during parse: 1
    Optimizer mode: CHOOSE
    Parsing user id: 79  (CISADM)
    Rows     Row Source Operation
       4543  FILTER  (cr=52997832 pr=21720 pw=10311 time=430019418 us)
       5412   HASH GROUP BY (cr=52997832 pr=21720 pw=10311 time=430015729 us)
    199471    VIEW  (cr=52997832 pr=21720 pw=10311 time=423392346 us)
    199471     HASH GROUP BY (cr=52997832 pr=21720 pw=10311 time=423192867 us)
    4013304      TABLE ACCESS BY INDEX ROWID CI_FT (cr=52997832 pr=11409 pw=0 time=140469508 us)
    17717785       NESTED LOOPS  (cr=49295470 pr=8987 pw=0 time=407554071 us)
    13704480        NESTED LOOPS  (cr=21818135 pr=7655 pw=0 time=287797921 us)
    2782119         NESTED LOOPS OUTER (cr=3915432 pr=2950 pw=0 time=38953485 us)
    571492          NESTED LOOPS OUTER (cr=2545763 pr=2711 pw=0 time=7433194 us)
    286061           NESTED LOOPS OUTER (cr=2253263 pr=2671 pw=0 time=26607373 us)
    123411            NESTED LOOPS  (cr=1989056 pr=2642 pw=0 time=22711194 us)
    123411             NESTED LOOPS  (cr=1864959 pr=2642 pw=0 time=20860026 us)
    123411              NESTED LOOPS  (cr=1494040 pr=1754 pw=0 time=15553373 us)
    243088               NESTED LOOPS  (cr=29540 pr=1754 pw=0 time=10213331 us)
      13227                TABLE ACCESS FULL CI_PER (cr=251 pr=49 pw=0 time=43331 us)
    243088                INDEX RANGE SCAN XM150S1 (cr=29289 pr=1705 pw=0 time=6178159 us)(object id 97173)
    123411               INLIST ITERATOR  (cr=1464500 pr=0 pw=0 time=7220251 us)
    123411                INDEX RANGE SCAN CM064S0 (cr=1464500 pr=0 pw=0 time=5631936 us)(object id 108631)
    123411              TABLE ACCESS BY INDEX ROWID CI_ACCT (cr=370919 pr=888 pw=0 time=7241286 us)
    123411               INDEX UNIQUE SCAN XM148P0 (cr=247508 pr=0 pw=0 time=1198649 us)(object id 97147)
    123411             TABLE ACCESS BY INDEX ROWID CI_CUST_CL_L (cr=124097 pr=0 pw=0 time=1391837 us)
    123411              INDEX UNIQUE SCAN XC523P0 (cr=686 pr=0 pw=0 time=595005 us)(object id 97745)
    283749            TABLE ACCESS BY INDEX ROWID CI_PER_PHONE (cr=264207 pr=29 pw=0 time=3549713 us)
    283749             INDEX RANGE SCAN XM172P0 (cr=125886 pr=4 pw=0 time=1307395 us)(object id 98733)
    571492           INDEX RANGE SCAN XM171S2 (cr=292500 pr=40 pw=0 time=2976807 us)(object id 98728)
    2777066          TABLE ACCESS BY INDEX ROWID CI_PER_CHAR (cr=1369669 pr=239 pw=0 time=23084761 us)
    2777066           INDEX RANGE SCAN XM168P0 (cr=596156 pr=53 pw=0 time=7394319 us)(object id 98719)
    13704480         TABLE ACCESS BY INDEX ROWID CI_SA (cr=17902703 pr=4705 pw=0 time=163320548 us)
    13704480          INDEX RANGE SCAN XM199S1 (cr=5688247 pr=104 pw=0 time=51063061 us)(object id 98973)
    4013304        INDEX RANGE SCAN CM112S1 (cr=27477335 pr=1332 pw=0 time=124063022 us)(object id 116797)
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      SQL*Net message to client                     304        0.00          0.00
      db file sequential read                     11366        0.34         65.63
      direct path write temp                       1473        0.06          2.91
      latch: cache buffers chains                    17        0.00          0.00
      db file scattered read                          7        0.01          0.03
      read by other session                           2        0.00          0.00
      direct path read temp                        1473        0.03          6.85
      SQL*Net message from client                   304        0.02          2.74
      SQL*Net more data to client                   292        0.00          0.00
    ********************************************************************************

    Luckys
    I've just realised that I mis-read part of your plan:
      199471     HASH GROUP BY (cr=52997832 pr=21720 pw=10311 time=423192867 us)
    4013304      TABLE ACCESS BY INDEX ROWID CI_FT (cr=52997832 pr=11409 pw=0 time=140469508 us)
    17717785       NESTED LOOPS  (cr=49295470 pr=8987 pw=0 time=407554071 us)The time component for a line is the time it supplies, plus the sum of the time from its direct descendents.
    In this case I looked at the HASH GROUP BY and TABLE ACCESS and got a difference of about 283 seconds. In fact I should have taken more notice of the other lines in the plan - comparing the HASH GROUP BY with the NESTED LOOP for a difference of about 16 seconds and assuming that the time in the TABLE ACCESS line was not to be trusted. (See http://jonathanlewis.wordpress.com/2007/04/26/heisenberg/ for a couple of comments on the timing issue).
    So the grouping is responsible for relatively little of the excess time - most of the time goes into the nested loop.
    I shall be using the Hints as advised, when we say we
    have to "rewrite the query"
    given the current context excluding the HINTS, what
    exactly should I be
    considering in terms of query rewrite, what
    additional intelligence I can add to the
    query in question so that CBO produces a different
    plan.
    The main consideration is what the query is supposed to report. Compare this with the way the optimizer is running the query and see if it makes sense.
    When are talking about high intermediate rows
    processing are we referring to this
    section of the plan?;
    4013304      TABLE ACCESS BY INDEX ROWID CI_FT
    (cr=52997832 pr=11409 pw=0 time=140469508 us)
    17717785       NESTED LOOPS  (cr=49295470 pr=8987
    pw=0 time=407554071 us)
    13704480        NESTED LOOPS  (cr=21818135 pr=7655
    pw=0 time=287797921 us)
    2782119         NESTED LOOPS OUTER (cr=3915432
    pr=2950 pw=0 time=38953485 us)
    2777066          TABLE ACCESS BY INDEX ROWID
    CI_PER_CHAR (cr=1369669 pr=239 pw=0 time=23084761
    us)
    2777066           INDEX RANGE SCAN XM168P0 (cr=596156
    pr=53 pw=0 time=7394319 us)(object id 98719)
    13704480         TABLE ACCESS BY INDEX ROWID CI_SA
    (cr=17902703 pr=4705 pw=0 time=163320548 us)
    13704480          INDEX RANGE SCAN XM199S1
    (cr=5688247 pr=104 pw=0 time=51063061 us)(object id
    98973)
    4013304        INDEX RANGE SCAN CM112S1 (cr=27477335
    pr=1332 pw=0 time=124063022 us)(object id 116797)
    Correct - one of the nested loops returns 2.78M rows - but as you run the next join you end up collecting 13.7M entires from the next index and table. That step is responsible for quite a lot of your work and time (as is the following step where you USE the 13.7M rows to probe the next index/table combination). If the optimizer had not grown the data set by merging the P view earlier on, the data sizes would be significantly smaller at that point.
    Your inline view looks as if it is trying to turn rows into columns (the max(decode()) trick) - which is why I think it might be a good idea to stop Oracle from merging the view. So, as I suggested, look at the query withouth that bit of complexity and work out a sensible way to walk through the tables - bearing in mind the statistics below and the available indexes, and the amount of data your predicates identify at each stage.
    Moreover tables have been analyzed:
    CI_ACCT                            243068
    CI_ACCT_CHAR                       222320
    CI_ACCT_PER                        242971
    CI_FT                              794510
    CI_PER                              13227
    CI_PER_CHAR                         42555
    CI_PER_PHONE                        18488
    CI_SA                             1082301
    Parameters:
    optimizer_features_enable string 10.2.0.2
    optimizer_index_caching integer 100
    optimizer_index_cost_adj integer 1
    Unless you've been given strict instructions by a 3rd-part supplier, those settings for the optimizer_index_caching and optimizer_index_cost_adj are particularly bad - especially in 10g. With those settings, the optimizer is quite likely to choose stupid plans with excessive use of indexes - and pick the wrong index while doing it.
    It's not appropriate to fiddle with system parameters to address one query - but at some stage you need to rethink your entire set of parameter settings to do things the 10g way. See this note from the Optimizer Group: http://www.oracle.com/technology/products/bi/db/10g/pdf/twp_bidw_optimizer_10gr2_0208.pdf
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "The greatest enemy of knowledge is not ignorance,
    it is the illusion of knowledge." Stephen Hawking.

  • Direct path temp write

    Hi,
    Oracle Version : 11.2.0.1(Standard Edition)
    Operating System : RHEL-5
    We are having one Procedure which is causing Direct Path Temp Write Even. How can we avoid that and it is taking lot of time for execution.
    Please help me how solve my problem.
    Thanks & Regards,
    Poorna Prasad.S

    SIDDABATHUNI wrote:
    Hi,
    Oracle Version : 11.2.0.1(Standard Edition)
    Operating System : RHEL-5
    We are having one Procedure which is causing Direct Path Temp Write Even. How can we avoid that and it is taking lot of time for execution.
    Please help me how solve my problem.
    Thanks & Regards,
    Poorna Prasad.SRead Charles Hooper comments on this event from this post direct path write temp wait event on temp lob

  • Direct path read/write temp

    Hi!
    We are getting an high number of wait events:
    - direct path read temp
    - direct path write temp
    What could be the problem and what actions to debug this situation?
    Thanks a lot
    A.

    While i execute the above query, it shows the output like
    OBJECT_NAME OBJECT_TYPE EVENT P1 P2 P3 TTL_WAIT_TIME
    FIN2010 TABLE direct path read 35 549636 124 .2
    FIN2010 TABLE direct path read 35 415236 124 .15
    FIN2010 TABLE direct path read 35 703616 128 .08
    FIN2010 TABLE direct path read 35 487569 111 .07
    FIN2010 TABLE direct path read 35 472960 128 .07
    FIN2010 TABLE direct path read 35 125696 128 .07
    FIN2010 TABLE direct path read 35 303618 126 .06
    FIN2010 TABLE direct path read 35 146560 128 .06
    FIN2010 TABLE direct path read 35 373376 128 .06
    FIN2010 TABLE direct path read 35 523776 128 .06
    FIN2010 TABLE direct path read 35 467584 128 .06
    FIN2010 TABLE direct path read 35 456068 124 .06
    FIN2010 TABLE direct path read 35 434304 128 .05
    FIN2010 TABLE direct path read 35 443648 128 .05
    FIN2010 TABLE direct path read 35 467840 128 .04
    FIN2010 TABLE direct path read 35 752640 128 .04
    FIN2010 TABLE direct path read 35 266240 128 .04
    FIN2010 TABLE direct path read 35 525696 128 .04
    FIN2010 TABLE direct path read 35 499200 128 .04
    FIN2010 TABLE direct path read 35 854656 128 .04
    FIN2010 TABLE direct path read 35 439552 128 .04
    FIN2010 TABLE direct path read 35 514048 128 .04
    FIN2010 TABLE direct path read 35 750279 57 .04
    FIN2010 TABLE direct path read 35 434816 128 .04
    FIN2010 TABLE direct path read 35 418308 124 .04
    FIN2010 TABLE direct path read 35 534912 128 .04
    FIN2010 TABLE direct path read 35 401057 95 .03
    FIN2010 TABLE direct path read 35 476800 128 .03
    FIN2010 TABLE direct path read 35 188928 128 .03
    FIN2010 TABLE direct path read 35 865920 128 .03
    FIN2010 TABLE direct path read 35 103812 124 .03
    FIN2010 TABLE direct path read 35 307586 126 .03
    FIN2010 TABLE direct path read 35 539520 79 .03
    FIN2010 TABLE direct path read 35 333696 128 .03
    FIN_TEST TABLE direct path read 35 272944 8 .03
    FIN2010 TABLE direct path read 35 644608 128 .03
    FIN2010 TABLE direct path read 35 833152 128 .03
    FIN2010 TABLE direct path read 35 709248 128 .03
    FIN2010 TABLE direct path read 35 507904 128 .02
    FIN2010 TABLE direct path read 35 540928 128 .02
    FINTABLE TABLE direct path read 35 569216 128 .02
    FIN2010 TABLE direct path read 35 311810 126 .02
    FIN2010 TABLE direct path read 35 441600 110 .02
    FIN2010 TABLE direct path read 35 555780 124 .02
    FIN2010 TABLE direct path read 35 144384 128 .02
    FIN2010 TABLE direct path read 35 384000 128 .02
    FIN2010 TABLE direct path read 35 720000 128 .02
    FIN2010 TABLE direct path read 35 133376 128 .02
    FIN2010 TABLE direct path read 35 135680 128 .02
    FIN2010 TABLE direct path read 35 553732 124 .02
    FIN2010 TABLE direct path read 35 840960 128 .02
    FIN2010 TABLE direct path read 35 547072 128 .02
    FIN2010 TABLE direct path read 35 756864 128 .01
    FIN2010 TABLE direct path read 35 165888 128 .01
    FIN2010 TABLE direct path read 35 885120 128 .01
    FIN2010 TABLE direct path read 35 538880 128 .01
    FIN2010 TABLE direct path read 35 646656 128 .01
    FIN2010 TABLE direct path read 35 377856 128 .01
    FIN2010 TABLE direct path read 35 336384 128 .01
    FIN2010 TABLE direct path read 35 380032 128 .01
    FIN2010 TABLE direct path read 35 573440 128 .01
    FIN2010 TABLE direct path read 35 660352 128 .01
    FIN2010 TABLE direct path read 35 482688 128 .01
    FIN2010 TABLE direct path read 35 553088 128 .01
    FIN2010 TABLE direct path read 35 545408 128 .01
    FIN2010 TABLE direct path read 35 145152 128 0
    FIN2010 TABLE direct path read 35 886272 128 0
    FIN2010 TABLE direct path read 35 695424 128 0
    FIN2010 TABLE direct path read 35 671488 128 0
    FIN2010 TABLE direct path read 35 393344 128 0
    FIN2010 TABLE direct path read 35 756096 128 0
    FIN2010 TABLE direct path read 35 681344 128 0
    FIN2010 TABLE direct path read 35 657536 128 0
    FIN2010 TABLE direct path read 35 151296 128 0
    FIN2010 TABLE direct path read 35 112000 128 0
    FIN2010 TABLE direct path read 35 637184 128 0
    FIN2010 TABLE direct path read 35 146304 128 0
    FIN2010 TABLE direct path read 35 105344 128 0
    FIN2010 TABLE direct path read 35 358148 124 0
    FIN2010 TABLE direct path read 35 137856 128 0
    FIN2010 TABLE direct path read 35 713984 128 0
    FIN2010 TABLE direct path read 35 704896 128 0
    FIN2010 TABLE direct path read 35 687616 128 0
    FIN2010 TABLE direct path read 35 702720 128 0
    FIN2010 TABLE direct path read 35 673664 128 0
    FIN2010 TABLE direct path read 35 142592 128 0
    FIN2010 TABLE direct path read 35 394496 128 0
    FIN2010 TABLE direct path read 35 403072 128 0
    FIN2010 TABLE direct path read 35 639616 128 0
    FIN2010 TABLE direct path read 35 710656 128 0
    FIN2010 TABLE direct path read 35 131328 128 0
    FIN2010 TABLE direct path read 35 161156 124 0
    FIN2010 TABLE direct path read 35 107520 128 0
    FIN2010 TABLE direct path read 35 157824 128 0
    FIN2010 TABLE direct path read 35 98502 58 0
    FIN2010 TABLE direct path read 35 695936 128 0
    FIN2010 TABLE direct path read 35 709632 128 0
    FIN2010 TABLE direct path read 35 689536 128 0
    FIN2010 TABLE direct path read 35 126218 118 0
    FIN2010 TABLE direct path read 35 647680 128 0
    FIN2010 TABLE direct path read 35 842240 119 0
    FIN2010 TABLE direct path read 35 497536 128 0
    FIN2010 TABLE direct path read 35 264960 128 0
    FIN2010 TABLE direct path read 35 704256 128 0
    FIN2010 TABLE direct path read 35 714240 128 0
    FIN2010 TABLE direct path read 35 641920 128 0
    FIN2010 TABLE direct path read 35 837376 128 0
    FIN2010 TABLE direct path read 35 646528 128 0
    FIN2010 TABLE direct path read 35 700672 128 0
    FIN2010 TABLE direct path read 35 642432 128 0
    =======================================================================
    While i check my awr report, it take large time for direct path write temp.
    Anybody help me to find the root cause and how to tune the database.
    Please help me..
    While

  • What is p1 for direct path read temp wait event in 11gr1

    hi friends,
    When i run this query in my database(11gr1) i get this
    SELECT P1,P1TEXT FROM V$ACTIVE_SESSION_HISTORY WHERE event='direct path write temp' and sql_id='2sd3hryy2baav';
    P1 P1TEXT
    1260 file number
    As per the documentation given on the link
    http://docs.oracle.com/cd/B28359_01/server.111/b28320/waitevents002.htm#
    when i run the query for file#
    select *
    from v$datafile
    where file# = file#;
    i get no rows returned.
    Can someone please tell me what is this value 1266??

    Hemant K Chitale wrote:
    P1 as FILE_ID is actually the value of DB_FILES (an instance parameter) + the temp file id. Check if DB_FILES is set to 1250. In that case P1 of 1260 would mean the 10th TEMPFILE.
    How did you came to know that P1.V$ACTIVE_SESSION_HISTORY = DB_FILES + the temp file id ?
    Because when I checked in the docs it is saying :
    P1     NUMBER     First additional parameter
    http://docs.oracle.com/cd/E11882_01/server.112/e25513/dynviews_1007.htm#REFRN30299
    Kindly share with us the link, is possible please.
    Regards
    Girish Sharma

  • Direct Path Inserts = By DBWR or by Shadow Process

    Hello guys,
    if i use the append hint (direct path inserts) - which process is writting the data to the datafile?
    In the documentation of oracle:
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96524/c21dlins.htm#10778
    Oracle appends the inserted data after existing data in the table. Data is written directly into datafiles, bypassing the buffer cache Ok that is clear - but who is writing down the data? The shadow process which is handling the insert statement or is it given to the dbwr and it flushes the data directly to the datatfile without putting it into the buffer cache.
    And another question regarding direct path inserts:
    http://sai-oracle.blogspot.com/2006/03/parallel-query-is-it-good-or-bad.html
    If you want to do direct path insert in parallel, you would block all other non direct path insert operations on that table. This is because direct path insert would append above highwater mark, and no other process is allowed to update HWM until your operation is doneIf i insert data in serial with direct path insert... i also write data behind the High-HWM .. why is it only locked in parallel mode?
    And why does oracle not check if there is enough space in some other blocks below the High-HWM and using these blocks for "normal" inserts?
    Regards
    Stefan

    It's the server process that's responsible for writing direct path blocks to disk.
    DBWR only ever flushes out of the buffer cache.
    You do NOT write "data behind the HWM" in direct path mode, ever. Direct path works so fast because all you do is slam whole blocks of data onto disk ABOVE the high water mark. You can slam whole blocks down without worrying about what you're over-writing precisely because the blocks are above the HWM and thus cannot possibly be in use by anyone for anything. Under the HWM and you have to start worrying about locking and contention and stuff like that.
    Parallel operations (or simultaneous serial operations by two different users) inevitably have to block each other for this sort of thing: if I am busy writing to blocks above the HWM, great. But if you want to do it too... well, what's to stop us from over-writing each other's blocks?! Nothing, actually. So Oracle simply has to lock the entire table from any other direct path operation to make the situation manageable.

Maybe you are looking for

  • Stored procedure for disabling all foreign key constraints ?

    hi all, I need a stored procedure for disabling / enable all constraints in that database schema. Create or replace procedure enable_disable_proc(status varchar2(3),schema_name varchar2(20)) ---> where 'status' parameter condition should be ( YES for

  • Trim in pl/sql block

    hi all, what is wrong in this query 1 declare 2 type a is table of varchar2(10) 3 index by binary_integer; 4 b a; 5 begin 6 b(1) := 'abc'; 7 b(2) := 'nmnm'; 8 b(45) := 'klkk'; 9 b.trim(b.count); 10 dbms_output.put_line(b.count); 11* end; SQL> / b.tri

  • OBIEE 11g installationwith sql server management studio

    Hi All, I am trying to install obiee 11.1.1.6.0 into my machine with window 7 and Microsoft Sql Server(Management studio) as my backend. When i run the Rcu i get an error saying Invalid Server name/Port number. Please specify correct Server name/Port

  • How to remove alternative netbios name

    We renamed a Windows 2008 R2 x64 server. We renamed it by running  netdom computername oldname /add:newname netdom computername oldname /makeprimary:newname    netdom computername newname /remove:oldname REF: http://technet.microsoft.com/en-us/librar

  • IMac shuts down while updating at startup.

    And it won't go past the start up screen now. The apple logo is displayed, and there is a loading bar underneath. It gets about 1/4 of the way completed, and then shuts down completely. I have a lot of work I need to finish, so any help would be grea