Raul Antonio Molina Alvarenga
12 de Abril de 2023
#OracleTIPSSV
#OracleACE
NOTA:REQUIERE INDISPONIBLIDAD.
1. Con la BD encendida, cambie el parametro undo _management de AUTO a MANUAL ( Es estatico, requiere reinicio).
— alter system set undo_management=manual scope=spfile;
Consulte los segmentos de rollback que permanecen en el tablespace UNDO y que no permiten redimensionarlo a menos tamaño
1.1 SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,STATUS FROM DBA_ROLLBACK_SEGS WHERE TABLESPACE_NAME LIKE ‘%UND%’;
SEGMENT_NAME OWNER TABLESPACE_NAME STATUS ------------------------------ ------ ------------------------------ ---------------- _SYSSMU1_2287069710$ PUBLIC UNDOTBS1 ONLINE _SYSSMU2_1428768168$ PUBLIC UNDOTBS1 ONLINE _SYSSMU3_1956277333$ PUBLIC UNDOTBS1 ONLINE _SYSSMU4_2809192227$ PUBLIC UNDOTBS1 ONLINE _SYSSMU5_1081917160$ PUBLIC UNDOTBS1 ONLINE _SYSSMU6_615989371$ PUBLIC UNDOTBS1 ONLINE _SYSSMU7_3192789434$ PUBLIC UNDOTBS1 ONLINE _SYSSMU8_1508326656$ PUBLIC UNDOTBS1 ONLINE _SYSSMU9_4053710062$ PUBLIC UNDOTBS1 ONLINE _SYSSMU10_1046413189$ PUBLIC UNDOTBS1 ONLINE 10 rows selected.
1.2 crear el pfile
create pfile from spfile;
shutdown immediate;
1.3 Modificar el init
vi initBAODI.ora
2.Agregue la siguiente linea al archivo pfile:
_OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU10_1046413189$) – agregar al final del archivo de init segun el listado del select anterior
( queda asi: )
*.undo_tablespace=’UNDOTBS1′
_OFFLINE_ROLLBACK_SEGMENTS=(_SYSSMU10_1046413189$)
3. Reinicie la BD con el pfile generado en el paso previo:
startup nomount pfile=’/u01/app/oracle/product/11.1.0/db_1/dbs/initODI.ora’;
4. Borraremos el segmento de rolback o deshacer “_SYSSMU10_1046413189$” se genera el script debe de quedar asi:drop rollback segment ” “_SYSSMU10_1046413189$”;
SELECT ‘drop rollback segment “‘||SEGMENT_NAME||” FROM DBA_ROLLBACK_SEGS WHERE TABLESPACE_NAME LIKE ‘_SYSSMU10_1046413189$‘;
5. ejecutamos el script
6. Reiniciamos la BD
startup ;
7. Retornamos el parametro undo _management de MANUAL a AUTO
alter system set undo_management=AUTO scope=spfile;
8. Reiniciamos la instancia
shutdown immediate; y luego startup (normal)
Listo, para nuestro ejemplo solo use un segmento de rollback, pero puede crearse el listado de borrado de todos los segmentos de rollback necesarios.
Espero les sea de Utilidad
Saludos!!