Re: INSERT /*+ append */ hint

From: vsevolod afanassiev <>
Date: Sat, 8 May 2010 16:02:13 -0700 (PDT)
Message-ID: <>

I doubt that 'modifying most inserts to use /*+ APPEND */ hint' is the right thing to do:
- The hint is supposed to be used only for bulk load, in other words
in situation where very large number of records is being inserted by INSERT AS SELECT statement
- You shouldn't use it for single-row INSERT (INSERT INTO TABLE VALUES
- INSERT WITH /*+ APPEND */ hint locks table in exclusive mode so no
other insert/update/delete/(select for update) can be executed
- INSERT WITH /*+ APPEND */ hint inserts only above the high water
mark, so you may end up with fragmented table

To answer your question: obviously something is being executed in parallel here, either SELECT part or INSERT part. There are two things you can do:
- Increase limit on sessions - normally this is done by setting
parameter processes, however this parameter isn't dynamic, to change it the database needs to be restarted
- Reduce number of parallel servers. As far as a remember parameter
parallel_max_servers is dynamic, if you reduce the value then Oracle will use serial execution and you won't needs as many sessions. Received on Sat May 08 2010 - 18:02:13 CDT

Original text of this message