Correction of Corrupted UNDO tablespace.

 

If the Oracle UNDO table space is corrupted, it may be possible to get the error as follows.

ORA-00376: file string cannot be read at this time

 

When UNDO segments corrupted, the following should be done:

  • The undo_management parameter must be MANUAL.
  • A new UNDO tablespace must be created.
  • The problematic UNDO tablespace should be removed.
  • The undo_tablespace parameter must be modified to be the newly created UNDO tablespace.

 

Correction of corrupted UNDO tablespace step by step:

1- Identify the corrupted segments. The following query can be used to detect these segments.

 

2. Close the database.
3- You must change the corresponding pfile’s undo_management parameter to MANUAL and Change the value of the “_offline_rollback_segments” hidden parameter to be problematic segments.

Rows to add to the Pfile file:

 

# If there is one corrupted segment:

 

# If there is more than one corrupted segment:

 

4- Open the database in MOUNT mode and with RESTRICT.

 

5- Remove all corrupted segments and undo tablespace.

Rollback segment dropped.

 

Tablespace dropped.

 

6- Create new undo tablespace.

 

7- Close the database.

 

8- Delete the line _OFFLINE_ROLLBACK_SEGMENTS from the rows added in the Pfile, and UNDO_MANAGEMENT = AUTO.

If the name of the newly created undo tablespace is different from the deleted one, change it to undo_tablespace = <NEW_UNDOTBS1>.

 

9. Open the database normally from the pfile.

 

If you need to use Spfile after opening you can create the spfile with the help of the following script;

dbtut
Author: dbtut

We are a team with over 10 years of database management and BI experience. Our Expertises: Oracle, SQL Server, PostgreSQL, MySQL, MongoDB, Elasticsearch, Kibana, Grafana.

Leave a Reply

Your email address will not be published. Required fields are marked *