UnDomain Un friki suelto por la red

Reply to comment


Pasar de RBS a UNDO

¿Que qué es el RBS y el UNDO?
Pues el RBS es el RollBack Segment y es la forma en la que las BDD anteriores a la 9i gestionan los rollback. El UNDO es el método nuevo (a partir de la 9i) y es gestionado automáticamente creando y eliminando los segmentos de rollback a medida que los necesita.

Si tienes una BDD migrada de una versión anterior a la 9i posiblemente tengas un tablespace llamado RBS o algo así por el estilo.
En este caso, no estaría de mas hacer una pequeña modificación y pasar a UNDO, que además, hace juego con mi alias y mi web ^_^

Tanto si lo necesitas como si es simplemente por curiosidad, vamos a ver paso a paso como hacer esta modificación... y tranquilo, es muy fácil y rápido :)

Lo primero que necesitas es saber el tamaño de tu actual RBS. Para ello, puedes utilizar la siguiente query:

SELECT TABLESPACE_NAME, SUBSTR(FILE_NAME,1,50) FICHERO, ROUND(BYTES/1024/1024) "MB"
FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME IN ( SELECT DISTINCT TABLESPACE_NAME FROM DBA_ROLLBACK_SEGS WHERE TABLESPACE_NAME<>'SYSTEM' );

Con esto ya tenemos el nombre, ruta del DBF y tamaño.
Ahora solo hace falta crear el nuevo tablespace. Para esto, nos basta con ejecutar la siguiente sentencia (OJO CON EL ESPACIO DISPONIBLE!):

CREATE UNDO TABLESPACE [nombre_del_tablespace] DATAFILE '[ruta]/[nombre_fichero]' SIZE [tamaño en megas]M REUSE AUTOEXTEND OFF;

Ten en cuenta que el tamaño que le has de dar tendría que ser el mismo que el tablespace anterior, a no ser que quieras redimensionarlo.
Si quieres poner varios ficheros, una vez creado el tablespace, solo tienes que añadir los nuevos DBFs con la siguiente sentencia:

ALTER TABLESPACE [nombre_del_tablespace] ADD DATAFILE '[ruta]/[nombre_fichero]' SIZE [tamaño en megas]M REUSE AUTOEXTEND OFF;

Una vez creado el tablespace y los DBFs que quieras, solo tenemos que hacer que la BDD los utilice. Para ello tenemos que añadir/modificar los siguientes parámetros de inicio.

UNDO_MANAGEMENT=AUTO
UNDO_RETENTION=14400
UNDO_SUPPRESS_ERRORS=FALSE
UNDO_TABLESPACE=PSAPUNDO
ROLLBACK_SEGMENTS=''

Si es un fichero init.ora, lo editamos a pelo, y si es un spfile tendremos que tirar de un alter system.

Ahora ya solo tenemos que reiniciar la BDD y listos. Ya tenemos activado el UNDO.
¡Pero espera! ¡Todavía tienes el tablespace antiguo ocupando espacio!

Pues nada, se elimina con el siguiente comando, y listos:

DROP TABLESPACE [nombre tablespace antiguo] INCLUDING CONTENTS AND DATAFILES;

¿A que ha sido fácil? :)

Tags:

Responder

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Mientras tanto, en "¿Alguien ha visto mi martillo?"...


Inicio de sesión


Todo el contenido mostrado ha sido obtenido libremente por la red. Las marcas indicadas son propiedad de sus legítimos dueños y se muestran a modo informativo de manera libre y voluntaria, sin intención publicitaria ni ánimo de lucro. Todo el material propio, y salvo que se indique lo contrario, se encuentra bajo licencia Creative Commons. Si tienes el Copyright de algún contenido o has detectado algna anomalia, por favor, infórmalo al correo undomain@gmail.com para ser corregido cuanto antes. El autor de esta Web no se hace responsable del contenido de terceras personas y de sites ajenos a este.

Powered by Drupal, an open source content management system