Oracle 10.2.0.3.0 - impdp - unusable index exists on unique/primary...

Hi all

Oracle 10.2.0.3.0 - during impdp the following error appears:

Object type SCHEMA_EXPORT/TABLE/CONSTRAINT/treatment
ORA-39083: THAT CONSTRAINT Type could not create object error:
ORA-14063: unusable Index exists on constraint unique/primary key
Because sql is:
ALTER TABLE 'MY_SCHEMA '. "' MY_TABLE ' ADD CONSTRAINT PRIMARY KEY 'MY_TABLE_PK' ('ID')
USING INDEX PCTFREE, INITRANS 10 2 MAXTRANS 255
STORAGE (INITIAL 1048576 THEN 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 DEFAULT USER_TABLES)
TABLESPACE "MY_TBS".

Question:

Tree index does not contain the dump file, and impdp should simply create index as it appears in the metadata information.

So, what's the point to clear this error?

921817 wrote:

So, what's the point impdp tells his State? It can be hundreds of unusable indexes, why it is not only rebuild?

Because Impdb cannot create an object that is already there and can't make it valid.

Aman...

Tags: Database

Similar Questions

  • Unused indexes in PS CVDDH ACCTG LINE... remove them?

    There are a number of table index SQL Server comes with table PS_VCHR_ACCTG_LINE who appear to have no. seeks, scans or searches and some clues that have only a few 10 similar. These indices take much space. In total, they are half of the disk space used for this table. Looks like it would be good to remove these and re - use this space. Maybe with some other indexes even better.
    More precisely:

    Not looking, analyses, research:

    PSCVCHR_ACCTG_LINE
    PSEVCHR_ACCTG_LINE
    PSGVCHR_ACCTG_LINE
    PSJVCHR_ACCTG_LINE

    Rare:
    PSHVCHR_ACCTG_LINE
    PSKVCHR_ACCTG_LINE

    No matter who else looked or done this? Why are they here? If only they were supposed to be removed when others have been added?

    PeopleSoft Financials 9.1, 8.52 tools.

    Ron

    You can remove, but it would be considered a customization. Some clues have comments associated with them that should give you an idea what they are for. According to the features of your users are using currently, you can always wait you will have unused indexes on the tables though. Disk is cheap, however, so customize to save space probably is not worth.

    You can view comments in the application designer, or use SQL - something like

    Select indexid, idxcomments from psindexdefn where recname = "VCHR_ACCTG_LINE" to order by indexid;

    If you do not want to drop an index, you must set the platform to zero indicator (not active) in the application designer (Tools-> Data Administration-> index, then highlight the index you want to delete and click on modify indexes). If you use Build-> current definition and select Create indexes (make sure you build settings say create the indexes only if change), I think it will generate the DROP INDEX instructions for you.

    If you remove just the index in Oracle, you will get errors DDDAUDIT. If you completely delete the index definition in the application designer, it will probably not be identified as a customization in an upgrade and the index will reappear if you aren't careful.

    Kind regards

    Bob

  • What causes this "cleaning 12 entered unused index file 0 $SII x 9.

    Why always do following the briefing note on "unused index entries" Winlogon in respect of the Application in my event viewer when I do a Check Disk?

    Also, I play a 'chkdsk /f"if I run Chkdsk by going to Windows Explorer, right-click on my hard drive, choosing Properties, tools, error checking, check now and the two options?  (He still plans on the next reboot.)

    __________________________________________

    Checking file system on C:
    The type of the file system is NTFS.
    Volume label is SQ004207P01.

    A disk check has been programmed.
    Windows will now check the disk.
    Cleaning 12 entered unused index file 0 $SII x 9.
    Cleaning 12 entered unused index file 0 $SDH x 9.
    Cleaning of security descriptors not used 12
    .
    CHKDSK checks Usn Journal...
    Audit of the USN Journal is complete.
    CHKDSK is verifying file data (stage 4 of 5)...
    File data verification completed.
    CHKDSK is verifying free space (step 5 of 5)...
    Free space verification is complete.

    77834893 KB total disk space.
    13842992 KB in 48756 files.
    16080 Ko 5274 index.
    0 KB in bad sectors.
    147953 KB used by the system.
    65536 KB occupied by the log file.
    63827868 KB available on disk.

    4 096 bytes in each allocation unit.
    19458723 total allocation on the drive units.
    15956967 allocation units available on disk.

    Internal information:
    D3 1 00 d 01 1 a 00 00 and 00 c6 01 00 00 00 00 00 1B...
    D4 02 00 00 03 00 00 00 7 b 06 00 00 00 00 00 00... {.......
    5A 16 04 00 00 00 00 19 81 1 c0 c7 d 00 00 00 00 Z...
    32 40 93 0e 00 00 00 00 c8 f9 7 c 00 02 00 00 00 2@...| .....
    3rd DF 04 06 00 00 00 26 56 97 8 a 04 08 00 00 00... & V. >...
    9F 99 36 00 00 00 00 00 88 38 07 00 74 be 00 00... 6... 8.t...
    00 00 00 00 00 03 00 00 00 9 a 14 00 00 4 c e8 c0... L........

    Windows has finished checking your disk.
    Please wait while your computer restarts.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

    I googled them and the search results seemed to suggest there was some kind of security threat.  At that time, the number was significantly higher at 12.  (in the 80 years and 50 years.)  I thought that maybe the words 'security descriptors' should I worry.

    No, it isn't really a threat.  Security descriptors are where permissions are stored, these permissions to control who can and who have no access to 'the object' in question.  Unused security descriptors simply means that descriptors that are not used.  Files can no longer be present or the descriptor can be orphaned otherwise, like everything is blank and the error message can be annoying to see but in your case, it's nothing to worry about.

    What are the security and access control lists descriptors?

    John

  • Call Oracle ADF Forms - refresh problem makes it unusable!

    Hello world!

    I use JDeveloper 11.1.1.4.0 and I need to call a form of Oracle (10g of form) inside my ADF application. I did exactly what is explained in the Oracle documentation at this link

    http://www.Oracle.com/technetwork/articles/ADF/Wilfred-ADF-forms-099635.html

    and it works very well. I put the code within a region which lies in a page of tabs in my ADF application. The problem is that do EVERYTHING outside this form (tab page change, press a button,...) makes the page refresh and my form resets (in fact, this is the applet which reloads).

    How can I avoid this? Is it possible to make the form stay alive, even trigger events of the ADF? As it is now launching a form inside the ADF is completely useless.

    I posted this question also in the JDeveloper forum, but no answer then perhaps someone here can help you.

    Thanks in advance for any suggestion

    Roberto

    Shaped 11g, you can set the following parameter in the server configuration file Forms formsweb.cfg 'legacy_lifecycle = true', which will prevent the applet restart when the ADF pages are between the loading of the page. However, I don't know if it exists in the form of 10g. Give it a try.

    Thank you

    Gavin

  • Unusable index Partitioned table

    Oracle Version: 11.2.0.2
    OS: Linux RHEL 5

    I'm having a problem with the index on a partitioned table interval. This is the scenario:

    There are 3 indices (A, B, C) on a table. A is created on two columns (1,2), B is on the column (2), C is the column (3). Table is partitioned on column 2 apart. A and B are partitioned indexes. When I drop a partition without a clause to update index, Index C will unusable. After seeing this, I gave up the C rating and create it as a local partitioned index, then all indexes are in condition of use after the drop partition statement. Is - this mandatory on a range partitioned table all indexes on the table must be locally partitioned inorder to have indexes in usable state after the drop statement of partition (without the update index clause)? Also there will be a negative impact for all indexes on the table like locally partitioned indexes?

    >
    Is - this mandatory on a range partitioned table all indexes on the table must be locally partitioned inorder to have indexes in usable state after the drop statement of partition (without the update index clause)?
    >
    Yes - it should be obvious by looking at a simple example.

    You have an OVERALL index and drop a partition but say Oracle are NOT updating the overall index.

    How this index may be usable for anything? It is not accurate. There was GARBAGE everywhere that gets in the way of Oracle find the entries of the "good". There are the index keys in the branch blocks that belong to the partition that has been deleted. Oracle cannot use these keys to determine how the blocks of branch, he needs to find.
    >
    Also there will be a negative impact for all indexes on the table like locally partitioned indexes?
    >
    Who knows? There are maybe or maybe not.

    As with many things Oracle "it depends."

    It depends on what types of queries that you ran.

    It depends on the filter predicates used for query.

    It depends on if the maintenance simple score (add/drop/split) are important to you.

    For the maintenance of the partition only all index LOCAL is the best.

    For full table scan, an index is not intended to be used.

    For a query that needs all THE records for a COMPANY_ID given in a table partitioned by DATE an OVERALL index could be better. Oracle also use 100 index LOCAL (if there are 100 partitions) to get the same data.

    It depends on.

  • Moving the partitions to tablespace diffreent marking unusable indexes

    Hello

    I use 11.2.0.3 oracle on IBM PoWER sERIES 7 ON aix

    and have a routine to move partitions greater n days in a dedicated tablespace, but when that move these old partitions of the index are marked as unusable.

    How can I avoid this, what am I doing wrong?
      execute immediate ('alter table '||i.table_name||' move partition '||i.partition_name
                                 ||' tablespace '||v_archive_partition_tspace);
    move works very well but the indexes show also unusable and not want to re-create the index each time that would take nearly an hour.

    Table partitioned by day_num (NUMBER)

    each partition belongs to the same tablespace BI_DATA and index belong to the BI_IDX.

    When moving the old question of partitions above the command - t - it not unlcude the index - thera is an index option?

    Thank you

    It is up to you; storage spaces are for administrative convenience.

    My preference would be to place them in a tablespace - you would never restore without the table index or vice versa, so put in a single tablespace would be convenient administratively.

  • Identification and drops the unused index - index of key foreign - 11g R2

    Hi team,

    In our application, table main source have nearly 55 M records and this table have almost 15 foreign key columns. He y 5 foreign key columns that reference 5 very small tables (max 10 lines for each table) where the child tables ever updated or removed, it's very static data.

    so we thought to remove the foreign key index, in order to expedite the DML operations on the source table.

    It's the right option... ?

    Please guide me on the right track, please...

    Thank you

    RAM

    Almosty certainly right, but there are a number of things to be wary of:

    (a) you can't update the keys to reference table (parent) deliberately, but some application codes (typically a form generated) can use a generic statement to update the line and include 'id of the game {its original value} =' as part of the update. It is always updated the parent key even if it does not change, and he closed the child table.

    (b) you have an example where 99.9999% of one of the columns has a single value and the other 0.0001% of the data is shared between the remaining values of 9 parent - this could be useful as a path index even if you do not need to protect against the problem of blocking foreign. In this case you need to constrauct a histogram on the column for that the optimizer can see the extreme data distribution.

    Options

    (a) If you are confident that the parent tables never see no DML so you can move them to a separate tablespace that you do read-only (older versions of Oracle) or make read-only tables (12 c)

    (b) you can disable locking on the child table - it always helps to have implicit mode 2 and mode 3 locks (which will not appear in the lock of v$), but stop a parent update to acquire mode 4 it would be necessary for the child if something tries to update or delete the parent key.  There are however some behavior buggy serious around this area, and I don't know if it was fixed yet: https://jonathanlewis.wordpress.com/2010/02/15/lock-horror/

    ADDENDUM: If almost all the data of a column contains the same, then you can consider using a null to represent this value. Otherwise, you could play with index based on a function (changing the code of the application accordingly) to create an index that contains only the values 'rare' rather than having an index that held an entry for each row in a table. This approach would also avoid the need for a histogram.  Something like the folllowing (although the example is not a perfect match for your requirement): https://jonathanlewis.wordpress.com/2014/04/02/tweaking/

    Concerning

    Jonathan Lewis

  • Unused indexes

    create table big( id number, name varchar2(100));
    insert into big(id, name) select rownum, object_name from all_objects;
    create index big_index on big(id);
    
    
    
    
    
    
    select count(*) from big;
    1260398 
    
    
    
    
    1.EXPLAIN PLAN FOR  
    SELECT   ID  FROM big ORDER BY id; 
    
    
    SELECT *  FROM TABLE(DBMS_XPLAN.DISPLAY); 
    
    
    Plan hash value: 1222949096
    
    -----------------------------------------------------------------------------------
    | Id  | Operation          | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    -----------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT   |      |  1260K|  7385K|       |  5549   (2)| 00:01:07 |
    |   1 |  SORT ORDER BY     |      |  1260K|  7385K|    14M|  5549   (2)| 00:01:07 |
    |   2 |   TABLE ACCESS FULL| BIG  |  1260K|  7385K|       |  1444   (1)| 00:00:18 |
    -----------------------------------------------------------------------------------
    
    
    
    
    2. EXPLAIN PLAN FOR  
    SELECT   *  FROM big ORDER BY id; 
    Plan hash value: 1222949096
    
    -----------------------------------------------------------------------------------
    | Id  | Operation          | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
    -----------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT   |      |  1260K|    30M|       | 10550   (1)| 00:02:07 |
    |   1 |  SORT ORDER BY     |      |  1260K|    30M|    43M| 10550   (1)| 00:02:07 |
    |   2 |   TABLE ACCESS FULL| BIG  |  1260K|    30M|       |  1445   (1)| 00:00:18 |
    -----------------------------------------------------------------------------------
    
    
    
    
    In why does the time increases to 2:07 for the second explain plan
    

    Why the time increases to 02:07 for the second plan to explain?

    Hello

    1. in comparing Oracle index as an index of a book where the index can occupy a few pages, how store Oracle index?

    Oracle stores the index "outside of work". The index has also usually occupies less space than the table. (that's why I suggested to create your table of test with more fields to better see the difference. You can take a look at Where USER_SEGMENTS to see the size of the table and the size of the index)

    2. why the column must be NON NULL for indexes to use?

    Because the null entries are not stored in an index, if Oracle does not know that there may be NULL values, it can "use the index to be sure to find ALL values... Imagine a table T (col1 NUMBER, VARCHAR2(10 CHAR) NOT NULL, col2, col3,...) where col1 is NOT defined as "not null", and the table contains three lines:

    (10, 'x',...), (NULL, 'y',...) and (2, 'z',...)  and there is an index on col1 and col2 on.

    If asked "SELECT col1 FROM t", Oracle must retrieve three lines: 10, NULL, 2. search in the index would show only 2 and 10 but not NULL... But if we ask "SELECT col2 FROM t" then Oracle can use the index on col2 because he knows "design table" who will miss us no line. If the dictionary contains more information (columns not null, unique constraints, primary key, foreign key) this info can be used by the optimizer. In addition, the optimizer can make best estimates when accurate statistics are available (statistics include things like "distinct values how we have for the column?) How many rows have a NULL value? What are the minimum and maximum values of the column? ... "- Note that via statistical table, knowing that there are values null null to a column is not the same thing that to know this fact via a NOT NULL constraint present in the dictionary... If the optimizer has only information through statistics, this cannot be used to decide"we will use the index"as it is possible that, despite the news of the stats it is possible that NULL values exist (created after the last update of stats or) failure by the updating of statistics due to the sample data used to update statistics).

    Providing constraints (not null, unique, pk, fk, check) for the dictionary is not only good for the optimizer but also good to add quality control of data do not believe developers/suppliers of applications that tell you that the constraints are unnecessary, as the design of the application supports controls ;-)

    Best regards

    Bruno Vroman.

  • Skip unusable indexes - true assigned to the parameter true but always get error if unusable pk

    Hello

    Using 11.2.0.3 and when moving data in a partitioned table (Beach dates then Sub partitioned on hash) to another constraint of pk tablespace on table that uses (global) indexes marked as UNUSABLE.

    Other indices also marked as UNUSABLE, but considers that the need to rebuild the inserts if not later PK index in the table fail.

    Sounds like the setting index skip unusable applies to all indexes apart form PK index which must always be used.

    This interpretation is correct?

    Thank you

    Yes

  • How Oracle called the hidden for the function-based index columns?


    I came across an interesting problem today.  Statistics object for a schema that have been created on the basis of data X have been imported into a 'identical' to the database schema Y.

    The problem is that, on the basis of data X a group of hidden columns associated with index based service (FBIs) were named SYS_NC00182$ to SYS_NC00191$ and on the basis of data Y the same hidden columns were named SYS_NC00183$ to SYS_NC00192$!  The consequence was that statistical column for an FBI data base X have been used for a totally different FBI on the database Y.

    Now, of course, if this was g 11 or 12 c I could just create virtual columns and those of the index.  In this way the names of the columns would be compatible on databases.  However, it is a 10g database, and I do not have this option.

    I am curious to understand how Oracle generates these hidden column names.  I'm also curious if, in 10g, there is a way to identify the name of a column hidden for an FBI that doesn't involve a statement explain plan running on a query that uses all the expressions of the FBI for the table.

    The names of $ SYS_NCnnnnn are based on the internal column id - what is loosely based on the order of creation of the FBI. If you delete a column the column internal ids (after this column), which means the names for the SYS_NCnnnnn$ the change.  An opportunity to explain your results is that a (real) column on the X data table fell, but the column still exists on the database Y.

    If you want to get the link between the current internal name and expression, then you can start with dba_ind_expressions - and create a customized version of the view - e.g @.

    Select c.intcol #, c.name, io.name, idx.name, bo.name, base.name, c.default$, ic.pos #.

    of sys.col$ c, sys.obj$ idx, basis of sys.obj$, sys.icol$ ic.

    sys. User$ io, sys.user$ bo, sys.ind$ I

    where bitand(ic.spare1,1) = 1 / * expression * /.

    and (bitand (students, 1024) = 0) / * not bmji * /.

    and ic.bo # c.obj = #.

    and ic.intcol # c.intcol = #.

    and ic.bo # base.obj = #.

    and io.user # idx.owner = #.

    and bo.user # base.owner = #.

    and ic.obj # idx.obj = #.

    and idx.obj # i.obj = #.

    and however # (1, 2, 3, 4, 6, 7, 9)

    /

    The first two columns in the select ones that I added to the initial view definition.

    Concerning

    Jonathan Lewis

  • ORA-20000: Oracle text error: 10599-DRG: column is not indexed

    Hi all

    I am using Oracle 11.2, and DRG-10599 error when I used contains and have ctxsys.context index as follows:

    create the table tb_nm
    (
    VARCHAR2 (32) nm.
    addr clob
    );

    create index idx_addr on tb_nm (addr) indextype is ctxsys.context
    parameters (' storage idx_addr lexer TEXT_LEXER sync (on commit) ");

    Select * from tb_nm where contains (addr, "How are") > 0;

    Any suggestion?

    Thank you!

    Then you have the answer. Most likely, something was wrong during the import. Let drop and re-create the index.

    SY.

  • Search for unused index

    Dear administrators,

    I'll do a kind of cleansing for my database and I need to know the last 'use date' for each clue, so I can not get used.

    Is this possible?

    date of last of 'use' for each index

    No version of Oracle. You can identify the specific index is used or not from v$ object_usage.

    [Index monitoring | http://www.oracle-base.com/articles/10g/IndexMonitoring.php]

  • This code were not run if an error occurs?

    I created a script to remove tables as below.
     DECLARE
        v_sql VARCHAR2(4000);
     BEGIN
         FOR obj IN (select table_name from user_tables) 
      LOOP
          v_sql := 'drop table  ' || obj.tablename';
          dbms_output.put_line(v_sql);
       EXECUTE IMMEDIATE v_sql;
        END LOOP;
      END;
    But, if oracle encounters an error, say an error like
    ORA-02449: unique/primary keys in table referenced by foreign keys
    This code will break out of the loop and stop the execution. Right?

    After getting the typo is included in your example:

    -ORA-01756: city not properly finished chain
    -component 'TABLENAME' must be declared

    The answer to your question is: right, but you could have tested this easily yourself of course.

    SQL> select constraint_name, constraint_type, table_name from all_constraints where table_name in ('TABLE1', 'TABLE2');
    
    CONSTRAINT_NAME                C TABLE_NAME
    ------------------------------ - ------------------------------
    SYS_C0020788                   P TABLE1
    C1                             R TABLE1
    SYS_C0020789                   P TABLE2
    C2                             R TABLE2
    
    4 rows selected.
    
    Elapsed: 00:00:00.21
    SQL> DECLARE
      2      v_sql VARCHAR2(4000);
      3   BEGIN
      4       FOR obj IN (select table_name from user_tables)
      5  .
    SQL> DECLARE
      2      v_sql VARCHAR2(4000);
      3   BEGIN
      4       FOR obj IN (select table_name from user_tables where table_name in  ('TABLE1', 'TABLE2'))
      5  LOOP
      6        v_sql := 'drop table  ' || obj.tablename';
      7        dbms_output.put_line(v_sql);
      8     EXECUTE IMMEDIATE v_sql;
      9      END LOOP;
     10    END;
     11  /
    ERROR:
    ORA-01756: quoted string not properly terminated
    
    Elapsed: 00:00:00.11
    SQL> DECLARE
      2      v_sql VARCHAR2(4000);
      3   BEGIN
      4       FOR obj IN (select table_name from user_tables where table_name in  ('TABLE1', 'TABLE2'))
      5  LOOP
      6     v_sql := 'drop table  ' || obj.tablename;
      7        dbms_output.put_line(v_sql);
      8     EXECUTE IMMEDIATE v_sql;
      9      END LOOP;
     10    END;
     11  /
       v_sql := 'drop table  ' || obj.tablename;
                                      *
    ERROR at line 6:
    ORA-06550: line 6, column 35:
    PLS-00302: component 'TABLENAME' must be declared
    ORA-06550: line 6, column 4:
    PL/SQL: Statement ignored
    
    Elapsed: 00:00:00.07
    SQL>  DECLARE
      2        v_sql VARCHAR2(4000);
      3     BEGIN
      4         FOR obj IN (select table_name from user_tables where table_name in  ('TABLE1', 'TABLE2'))
      5    LOOP
      6          v_sql := 'drop table  ' || obj.table_name;
      7         dbms_output.put_line(v_sql);
      8      EXECUTE IMMEDIATE v_sql;
      9       END LOOP;
     10     END;
     11  /
    drop table  TABLE2
     DECLARE
    *
    ERROR at line 1:
    ORA-02449: unique/primary keys in table referenced by foreign keys
    ORA-06512: at line 8
    
    Elapsed: 00:00:00.23
    SQL> desc table1
     Name
     ----------------------------------------------------------------------
     COL1
     COL2                                                                   
    
    SQL> desc table2
     Name
     ----------------------------------------------------------------------
     COL1
     COL2                                                                   
    
  • Oracle 11 g Express Edition 11.2.0.0 not supported the impdp utility?

    Hello

    We strive to import a dump Oracle Express Edition, without success. We got the error message: ORA-39213: metadata processing is not available.

    (A) source database: database Oracle 11 g Enterprise Edition Release 11.1.0.7.0
    (B) target database: database Oracle 11 g Express Edition Release 11.2.0.2.0

    You are looking for a solution has led us to the following forum entries:

    1 http://kmpdba.wordpress.com/2012/05/02/ora-39213-metadata-processing-is-not-available/ Cause: package DBMS_METADATA_UTIL does not run successfully. Solution: install (among others) SQL > @$ORACLE_HOME/javavm/install/initjvm.sql
    2. purpose: there is no scrript of @$ORACLE_HOME/javavm/install/initjvm.sql--> http://www.oracle.com/us/products/database/enterprise-edition/comparisons/index.html--> Oracle 11 g EX does not support java

    Issues related to the:

    (a) does support Oracle 11 g EX impdp utility at all?
    (b) how it would be possible to import the dump mentioned above in (A) in (B)?

    Thanks in advance,

    Michel

    Hello
    It seems ike datapump has somehow been corrupted somehow. You can recharge at 11.2 by running:

    @?/rdbms/admin/catproc.sql as SYS (connections to is arrested all get it first).

    Then try again.

    I don't really use XE, but I don't see why datapump doesn't work - some function/feature can be turned off, but the main feature is expected to be there.

    Agress,
    Harry

  • The index of the first State UNUSABLE.

    Hi my current version of the DB is version 11.2.0.3.0 Oracle.

    In one of the old environment (Release 10.2.0.4.0), I found one of the query works fine (about 4 minutes) while the same get expired (~ 30 minutes) in the current version(11g).

    After analysis found that in 10g environment its going for scan limited index, but 11g a its goes for FTS of the same table.
    Then I tried to force the flag for 11g environment and got below error.

    ERROR on line 1:
    ORA-01502: index 'INV_ID1' or partition of this index is unusable

    But when I tried to understand the usual State status, its display n/a, index partitioned index.
    I checked the status column of DBA_IND_PARTITION for all partitions 62 specific for the index INV_ID1, its display "n/a".
    So my question is how can I find the UNUSABLE State of this/other index in my database and repair?

    The index above is local partitioned with 62 partitions. Here is the comparison of the plan.
    10g:
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                             | Name                 | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |  OMem |  1Mem | Used-Mem |
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    |   1 |  TABLE ACCESS BY INDEX ROWID          | pi                   |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |
    |*  2 |   INDEX UNIQUE SCAN                   | pi_PKI               |      0 |      1 |      0 |00:00:00.01 |       0 |      0 |       |       |          |
    |   3 |  SORT ORDER BY                        |                      |      1 |    500 |      0 |00:04:30.17 |   95321 |   4557 |  1024 |  1024 |          |
    |*  4 |   COUNT STOPKEY                       |                      |      1 |        |      0 |00:04:30.17 |   95321 |   4557 |       |       |          |
    |   5 |    PARTITION RANGE ALL                |                      |      1 |  46695 |      0 |00:04:30.17 |   95321 |   4557 |       |       |          |
    |   6 |     PARTITION HASH ALL                |                      |     62 |  46695 |      0 |00:04:30.17 |   95321 |   4557 |       |       |          |
    |*  7 |      TABLE ACCESS BY LOCAL INDEX ROWID| INV                  |    496 |  46695 |      0 |00:04:30.16 |   95321 |   4557 |       |       |          |
    |*  8 |       INDEX RANGE SCAN                | INV_ID1              |    496 |  47220 |  48147 |00:00:16.70 |    2202 |    309 |       |       |          |
    ------------------------------------------------------------------------------------------------------------------------------------------------------------
    
    
    11g:
    --------------------------------------------------------------------------------------------------------------------------------------------------
    | Id  | Operation                   | Name                 | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |  OMem |  1Mem | Used-Mem |
    --------------------------------------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT            |                      |      1 |        |    396 |00:30:34.02 |   86M|      8265K|       |       |          |
    |   1 |  TABLE ACCESS BY INDEX ROWID| pi                   |      6 |      1 |      6 |00:00:00.01 |   20 |         0 |       |       |          |
    |*  2 |   INDEX UNIQUE SCAN         | pi_PKI               |      6 |      1 |      6 |00:00:00.01 |   14 |         0 |       |       |          |
    |   3 |  SORT ORDER BY              |                      |      1 |    500 |    396 |00:30:34.02 |   86M|      8265K| 86016 | 86016 |75776  (0)|
    |*  4 |   COUNT STOPKEY             |                      |      1 |        |    396 |00:30:34.02 |   86M|      8265K|       |       |          |
    |   5 |    PARTITION RANGE ALL      |                      |      1 |    500 |    396 |00:30:34.02 |   86M|      8265K|       |       |          |
    |   6 |     PARTITION HASH ALL      |                      |     62 |    500 |    396 |00:30:34.02 |   86M|      8265K|       |       |          |
    |*  7 |      TABLE ACCESS FULL      | INV                  |    496 |    500 |    396 |00:30:34.01 |   86M|      8265K|       |       |          |
    --------------------------------------------------------------------------------------------------------------------------------------------------

    ORA-01502: index 'String' or a partition of this index is unusable

    Cause: You tried to access an index or an index partition that has been marked unusable by a direct load or by a DDL operation

    Action: REMOVE the index specified, REBUILD the specified index or REBUILD the unusable index partition

Maybe you are looking for

  • The connection to the server was reset while the page is loading

    I get this error message when you try to access my accounts from microsoft, including hotmail, from my office. This is the only site that has a problem, I can access another Web site, secure or not. I have the same problem of access with chrome and I

  • HP Fax Service back.

    I know many people who get an all-in-one printer with fax functionality, but don't quite know the world they can fax to test.  Well fear not.  HP has a tool that allows you to test your fax connection.  It's called the HP rear Fax Service, and it is

  • Phoenix: geforce gt 640

    I have a Phoenix office (i7-4770 CPU @ 3.4 GHZ, 16 GB RAM) with video card GeForce GT 640 installed at the factory.  My main monitor is an HP 2310 m connected via DVI - D. I would like to reuse an old monitor VGA (HP 2009 m) as the second screen.  Th

  • I can restore time capsule backup to another computer that already has a user

    Looking for help, my laptop was stolen, thankfully I have a time capsule backup. I could buy a new laptop, but I was wondering if there is anyway I can just restore my backup on the laptop of my wife, or if that's too difficult/impossible.  Currently

  • PC crashed and get the error message: 0 x 80244019 XP

    Just formatted my pc after it crashed and now I can't update and receive the error message. 0 x 80244019. thank you