ORA-30036: Unable to extend segments in undo tablespace 'UNDO' en Oracle Database 10g Express Edition
ORA-30036 indica que la base en este caso una Oracle Database XE tiene problemas con el tablespace UNDO. Por lo tanto se deberá ejecutar las siguientes sentencias en SQLPLUS como sys para solucionar este problema, que en general aplica para cualquier tablespace (menos con temp).
Primero verificamos si esta activada la opción de autoextend en nuestro tablespace undo de la siguiente manera:
select autoextensible from dba_data_files where tablespace_name ='UNDO';
si el tablespace UNDO no tiene activado el autoextend, se deberá ejecutar:
alter database datafile 'C:\ORACLEXE\XE\ORCL\UNDO.DBF' autoextend on
e incrementamos su tamaño así como su máximo tamaño posible de incremento (dependiendo de nuestra necesidad):
En este caso le damos un máximo tamaño de incremento de 1GB:
alter database datafile 'C:\ORACLEXE\XE\ORCL\UNDO.DBF' autoextend on maxsize 1024m;
Y para este caso le aumentamos el tamaño actual para que inmediatamente pueda ejecutar las sentencias SQL que estaban generando el error:
alter database datafile 'C:\ORACLEXE\XE\ORCL\UNDO.DBF' resize 500m;
Una vez configurado el tablesapce en autoextend, le damos una política de incremento al tablespace:
alter database datafile 'C:\ORACLEXE\XE\ORCL\UNDO.DBF' autoextend on next 100m;
Y por ultimo modificamos el parámetro de retención de UNDO, para que retenga sentencias hasta 120 segundos (por defecto tiene 900 s) debido a que nuestra base no se usa con fines transaccionales por lo tanto ejecutamos (este parámetro tendrá implicaciones para ejecutar rollbacks se debe verificar para cada base de datos independientemente de su uso, en este caso es una base de desarrollo XE que no tiene mayores implicaciones):
alter system set undo_retention=120;
Comentarios
Publicar un comentario