Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

USER I/O Wait (Please help kind of stuck here from long time)

DaljitSep 12 2007 — edited Sep 14 2007
I have a delete statement running from more than 24 hrs now and the session info says its waiting on user I/O. There are no blocking sessions and its doing a full table scan of a table having around 500000 records. I dont understand what exactly its waiting on and how to check that and why it taking more than 24 hrs to FTS of 1 table? Here are some of the statistics:

SQL> select blocking_session, event, wait_class, wait_time, seconds_in_wait, state from v$session where sid=1026;

BLOCKING_SESSION EVENT WAIT_CLASS WAIT_TIME SECONDS_IN_WAIT
---------------- ------------------------- ---------- ---------- ---------------
STATE
-------------------
db file scattered read User I/O 0 0
WAITING


SQL> select * from table(dbms_xplan.display_cursor('1g5k0k3qpy8j2'));

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
SQL_ID 1g5k0k3qpy8j2, child number 0
-------------------------------------
DELETE FROM RX_TX WHERE ID IN (SELECT ID FROM TEMP_PURGE WHERE TABLE_NAME = 'rx_
tx')


Plan hash value: 3126475949

--------------------------------------------------------------------------------
------------


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)
| Time |

--------------------------------------------------------------------------------
------------

| 0 | DELETE STATEMENT | | | | | 17239 (100)
| |

| 1 | DELETE | RX_TX | | | |
| |

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------

|* 2 | HASH JOIN RIGHT SEMI| | 513K| 123M| 14M| 17239 (2)
| 00:03:27 |

|* 3 | TABLE ACCESS FULL | TEMP_PURGE | 557K| 8717K| | 2789 (2)
| 00:00:34 |

| 4 | TABLE ACCESS FULL | RX_TX | 578K| 130M| | 6918 (2)
| 00:01:24 |

--------------------------------------------------------------------------------

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
------------


Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("ID"="ID")
3 - filter("TABLE_NAME"='rx_tx')


22 rows selected.

SQL> select b.name, a.value from v$sesstat a, v$statname b
where a.statistic# = b.statistic#
and a.value > 0 2 3
4 and b.name like '%wait%'
5 and a.sid=1026;

NAME VALUE
---------------------------------------------------------------- ----------
concurrency wait time 1615
application wait time 388
user I/O wait time 13403000
enqueue waits 1
shared hash latch upgrades - no wait 7924935
redo log space wait time 2852

6 rows selected.


Any help would be appreciable.

This deletes more that 60% of the records from this table so indexed should be out of question here, i think.

Daljit Singh

Message was edited by:
Daljit
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 12 2007
Added on Sep 12 2007
19 comments
3,670 views