Problema
Tentativa de abrir o banco de dados falha com erro ORA-30012 e a instância sofre shutdown abort:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
Process ID: 24110
Session ID: 17 Serial number: 3637
Causa
O nome da tablespace de undo configurada no parâmetro undo_tablespace não existe no banco de dados.
Reiniciando a instância em mount:
SQL> startup mount;
ORACLE instance started.
Total System Global Area 4865390240 bytes
Fixed Size 8906400 bytes
Variable Size 889192448 bytes
Database Buffers 3959422976 bytes
Redo Buffers 7868416 bytes
Database mounted.
Verificando os parâmetros de undo:
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
Verificando as tablespaces existentes no banco de dados:
SQL> SELECT NAME FROM V$TABLESPACE;
NAME
------------------------------
SYSTEM
SYSAUX
UNDO_T1
TEMP
USERS
RDSADMIN
6 rows selected.
O nome da tablespace de undo no banco de dados é UNDO_T1.
Solução
Alterar o parâmetro undo_tablespace:
SQL> alter system set undo_tablespace='UNDO_T1' scope=spfile;
System altered.
Reiniciar a instância:
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 4865390240 bytes
Fixed Size 8906400 bytes
Variable Size 889192448 bytes
Database Buffers 3959422976 bytes
Redo Buffers 7868416 bytes
Database mounted.
Database opened.