How to deal with ORA-08102 fault after forced OPEN database

Source: Internet
Author: User

How to deal with ORA-08102 fault after forced OPEN database

There will be a lot of legacy issues after forcing the OPEN Database with implicit parameters, such as the need to re-create the UNDO tablespace, there will also be a ORA-08102 Error

Just did damage the online log experiment with the implicit parameters forced to open the database, after the alert Log will always report ORA-08102
Wed Jun 24 13:56:24 2015
Errors in file/u01/app/Oracle/admin/ora10g/bdump/ora10g_j000_4737.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-08102: index key not found, obj #239, file 1, block 1674 (2)
ORA-12012: error on auto execute of job 1
ORA-08102: index key not found, obj #239, file 1, block 1674 (2)

-- View objects of obj #239
SYS @ ora10g> set line 130 pages 130
SYS @ ora10g> col object_name form a15
SYS @ ora10g> col owner for a10
SYS @ ora10g> select owner, object_name, object_id, object_type from dba_objects where object_id = 239;

OWNER OBJECT_NAME OBJECT_ID OBJECT_TYPE
------------------------------------------------------
SYS I _JOB_NEXT 239 INDEX

-- View which table the I _JOB_NEXT index belongs
SYS @ ora10g> select owner, index_name, table_name from dba_indexes where index_name = 'I _ JOB_NEXT ';

OWNER INDEX_NAME TABLE_NAME
----------------------------------------------------------------------
SYS I _JOB_NEXT JOB $

-- Check which column of the JOB $ table is created after the index I _JOB_NEXT is created.
SYS @ ora10g> col index_name for a10;
SYS @ ora10g> col index_owner for a10
SYS @ ora10g> col table_name for a10
SYS @ ora10g> col column_name for a15
SYS @ ora10g> select INDEX_OWNER, INDEX_NAME, TABLE_NAME, COLUMN_NAME from dba_ind_columns where INDEX_NAME = 'I _ JOB_NEXT ';

INDEX_OWNE INDEX_NAME TABLE_NAME COLUMN_NAME
---------------------------------------------
SYS I _JOB_NEXT JOB $ NEXT_DATE

According to the article on metalink:

ORA-08102: trying to manipulate a job in DBA_JOBS [ID 1036858.6]

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.

It is useless to re-create an index. You must first Delete the index and then recreate it.

1. Delete the index I _job_next first

SYS @ ora10g> drop index I _job_next;

Index dropped.

2. Rebuild the index I _job_next;

SYS @ ora10g> create index I _job_next on job $ (next_date );

Index created.

After the index is rebuilt, the problem is solved. Therefore, do not forcibly open the database with the implicit parameter _ allow_resetlogs_uption = true unless necessary. If you do not know the processing method, it will still affect the database.

Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.