ORA-08102: TRYING TO MANIPULATE A JOB IN DBA_JOBS [ID 1036858.6]

***Checked for relevance on 17-NOV-2010***
Problem Description:
====================

You are trying to manipulate a job in the job queue
(DBA_JOBS/USER_JOBS) and you receive:

ORA-08102: index key not found, object...
     Cause: Internal error: possible inconsistency in index
    Action: Send trace file to your customer support representative, along
            with information on reproducing the error

Example:

SQL> execute dbms_job.remove(1);
ORA-08102: index key not found, object #124 ->>> SYS.I_JOB_NEXT

where object #124 is the object# in DBA_OBJECTS

SQL> column owner format a10
SQL> column object_type format a10
SQL> column object_id format 99999
SQL> column object_name format a10

SQL> select owner, object_name, object_type, object_id
  2  from dba_objects where object_id=124;

OWNER      OBJECT_NAM OBJECT_TYP OBJECT_ID
---------- ---------- ---------- ---------
SYS        I_JOB_NEXT INDEX            124 


Solution Description:
=====================

You need to recreate the inex I_JOB_NEXT.

Script "$ORACLE_HOME/rdbms/admin/cat7103.sql" creates the I_JOB_NEXT:

Drop and recreate this index.

connect sys/<password>
drop index i_job_next;
create index i_job_next on job$ (next_date)

Note: alter index I_JOB_NEXT rebuild;

      Will not fix the problem.


Explanation:
============

The ORA-8102 pointed to index corruption, so rebuilding the offending index
fixed the problem.


Search Words:
=============

DBMS_JOB ALTER CHANGE UPDATE

你可能感兴趣的:(oracle,sql)