ORA-30012: undo tablespace ‘UNDOTBS01’ does not exist or of wrong type

I was recently recovering a backup of a standby database, the standby was from a primary that was a RAC with 2 nodes.  I had the following error:

SQL> startup

ORACLE instance started.

Total System Global Area 3170893824 bytes

Fixed Size                  2043968 bytes

Variable Size            2030047168 bytes

Database Buffers         1124073472 bytes

Redo Buffers               14729216 bytes

Database mounted.

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-30012: undo tablespace 'UNDOTBS01' does not exist or of wrong type

Process ID: 19872

Session ID: 1218 Serial number: 3

Solution

[oracle@eux3300392 dbs]$ vi initps82live.ora

undo_management=MANUAL

SQL> startup

ORACLE instance started.

Total System Global Area 6313463808 bytes

Fixed Size                  2264976 bytes

Variable Size            1677721712 bytes

Database Buffers         4613734400 bytes

Redo Buffers               19742720 bytes

Database mounted.

Database opened.

SQL>

4. create a new undo tablespace, e.g.:

CREATE UNDO TABLESPACE "UNDOTBS3" DATAFILE '+DATA' SIZE 10880M AUTOEXTEND ON NEXT 5120K MAXSIZE 32767M

5. shutdown the database

6. change UNDO_MANAGEMENT=AUTO in your init file and set UNDO_TABLESPACE=UNDOTBS (or whatever name you specified during the undo tablespace creation)

7. connect "/ as sysdba" and startup the database using this init file (as in step 2).

Now the database will open using the new undo tablespace and it would have created new undo segments in this tablespace.

   

Leave a Reply

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