Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: Unusable partition index -- working funny
It's probably the case that the trigger fires the first time - but at parse/optimise time Oracle had already determined the sequence of actions needed to execute the statement based on the then session state, so that sequence is played out, irrespective of the fact that you changed the session state in the middle of the sequence.
By analogy, consider an update to an
updatable join view which defaults to
using a hash join. If you create a "before
row update" trigger to disable hash joins,
would you expect Oracle to not do a hash
join the first time the statement executes ?
Regards
Jonathan Lewis
http://www.jlcomp.demon.co.uk
The educated person is not the person
who can answer the questions, but the
person who can question the answers -- T. Schick Jr
Next public appearance2:
March 2004 Hotsos Symposium - Keynote
March 2004 Charlotte NC - OUG Tutorial
April 2004 Iceland
One-day tutorials:
http://www.jlcomp.demon.co.uk/tutorial.html
Three-day seminar:
see http://www.jlcomp.demon.co.uk/seminar.html
____UK___February
The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html
> Hello All,
> I have a strange problem...
> I have a table on which i am doing an update. Its a partition table and
> the local index on the column which is being updated is in an unusable
> state.
> I have a database trigger at statement level (before update of col_a for
> ....) where i do an execute immediate ' alter session set
> skip_unusable_indexes = true';
>
> i log into sqlplus as the owner of the table and do the following
> ----------------------------------------------------------------
>
> SQL> connect nevadmin_at_nv_prod
> Enter password: ******
> Connected.
> SQL> UPDATE nevadmin.DM_MORTGAGE_LOAN_HIST SET ORIGINATION_SOURCE_KEY =
> 11111 where
> 2 mortgage_loan_key = 11111 and period_key = '30-JUN-03';
> UPDATE nevadmin.DM_MORTGAGE_LOAN_HIST SET ORIGINATION_SOURCE_KEY =
> 1166444 where
> *
> ERROR at line 1:
> ORA-01502: index 'NEVADMIN.DM_MORTGAGE_LOAN_HIST_BK13' or partition of
> such
> index is in unusable state
>
> SQL> /
>
> 1 row updated.
> --------------------------------------------------------------------------
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Jonathan Lewis INET: jonathan_at_jlcomp.demon.co.uk Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Wed Jan 21 2004 - 02:24:25 CST