Hi Guys,
i have to do Bulk Insert from sybase db to oracle db,
and my table’s size are huge so first i must tuncate table wiht an procedure that dba’s created.(becasue i dont have DLL operation grants)
and i m aslo trying to alter indexes (with a procedure) so workflow be fast.
but i got error ORA-01502 : unusable index when trying to insert statement.
how can i ensures the performans for workflow to be fast?
i match the times wiht indexes and without indexes ,
for sure without indexes is faster,
i was droping and creating indexes when i have DLL operation grant but after all grants taking , i m just trying to unusable / reuild indexes with a procedure which dba gave to it me.
first i m making unusable indexes for better performans then bulk insert and rebuild them after insert.
Okay, and what is the problem? When does the index-unusable message appear?
And actually, doesn’t the index rebuild need the same permissions as creating the index?
Option1: You use regular inserts to load a table but cannot as you brought the index into unusable state first. True, then an insert does no longer work.
Solution 1: drop index/create index
Solution 2: alter session set skip_unusable_indexes=true as session parameter.
Option 2: Use API bulkload, then DS does recreate the index but is slow
Solution: Drop/create index yourself. I am sure that the load is actually fast, you are just using a better index create statement like parallel nologging novalidate or something.