Skip to Main Content

SQL & PL/SQL

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!

How to monitor a long running INSERT that don't show anything in long ops?

894042Jan 27 2015 — edited Jan 28 2015

Hi,

I am stuck in a situation and need to use your help to make an educated decision.
I am running an Insert..Select which inserts around 1,300,000 records from a normal table to a partitioned table. I executed the following commands prior to my Insert.

  1. ALTER SESSION FORCE PARALLEL DML;
  2. ALTER TABLE <DESTINATION TABLE> NOLOGGING;


I am also using the append and parallel hints in my Insert.

INSERT /*+ parallel(4) append */ INTO <DESTINATION TABLE NAME> SELECT /*+ parallel(4) */ * FROM <SOURCE TABLE NAME>;


My partitioned table has 5 partitions that is why I use 4 DOP. The query is running for a long time and I am running out of time. I need to decide whether I should kill the session or let it run. but I don't have any clue that how far the query executed. I checked the waits and locks and I am certain that query is not stuck. There is nothing in long ops as well.

Now I have two questions:

  1. How and where I can gather some information about how far the query executed? Estimated remaining time, etc.
  2. The big part of the problem is the indexes on the destination table which I forget to drop before running the insert. What could I do now? Is there any way to mark them unusable or drop them now?


Best regards,

Shahram

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 25 2015
Added on Jan 27 2015
2 comments
6,614 views