ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Papelera De Reciclaje Oracle


Enviado por   •  1 de Julio de 2013  •  1.345 Palabras (6 Páginas)  •  450 Visitas

Página 1 de 6

La Papelera de Reciclaje

de Oracle10g

Fecha de creación: lunes 24 de Octubre de 2005.

Versión: 1.0.

Pruebas realizadas en Oracle10g Release 1 sobre Windows XP Professional 32 bits.

Este documento ha sido elaborado por Infor Consult Soluciones, SL (http://www.inforconsult.com.es). Queda

prohibida la edición o modificación de este documento sin permiso de su autor. Se permite, sin embargo, imprimir y

ceder este documento a terceros siempre que el contenido se mantenga íntegro y se haga mención expresa a su

autor.

LA PAPELERA DE RECICLAJE DE ORACLE

La papelera de reciclaje de Oracle10g: Recycle Bin

Explicación

A partir de Oracle10g se incorpora esta nueva funcionalidad, denominada FLASHBACK DROP, que se viene a unir a las demás características que conforman el capítulo de las funcionalidades FLASHBACK. La idea es la misma que tiene Windows con su papelera de reciclaje, es decir, disponer de una ubicación donde colocar los objetos borrados con el fin de poder recuperarlos después. Por supuesto, todo esto se hace de forma transparente al usuario.

En realidad, lo que hace Oracle es renombrar el objeto borrado y todos los objetos dependientes, tales como vistas, triggers, índices, constraints etc., usando el prefijo BIN$. Como sólo se produce un renombrado, los objetos siguen existiendo y ocupando espacio en los tablespaces en los que lo hacían, hasta que el usuario o el administrador usen el comando PURGE o sea requerido espacio en ese tablespace para acomodar una nueva extensión (por esto último, se dice que FLASHBACK DROP no es intrusivo ya que si el espacio consumido por la papelera es necesario se libera automáticamente).

Cuando se borra un tablespace sus objetos no son pasados a la papelera. Por el contrario, son borrados definitivamente y los objetos de la papelera que residieran en ese tablespace son borrados inmediatamente. Lo mismo ocurre cuando se borra un usuario.

Examinando la Papelera de Reciclaje

La vista RECYCLEBIN es en realidad un sinónimo que apunta a la vista USER_RECYCLEBIN que su vez apunta a la tabla SYS.RECYCLEBIN$. Por tanto, es equivalente RECYCLEBIN a USER_RECYCLEBIN. La estructura de esta vista es:

Nombre ¿Nulo? Tipo

----------------- -------- ------------

OBJECT_NAME NOT NULL VARCHAR2(30)

ORIGINAL_NAME VARCHAR2(32)

OPERATION VARCHAR2(9)

TYPE VARCHAR2(25)

TS_NAME VARCHAR2(30)

CREATETIME VARCHAR2(19)

DROPTIME VARCHAR2(19)

DROPSCN NUMBER

CAN_PURGE VARCHAR2(3)

RELATED NOT NULL NUMBER

BASE_OBJECT NOT NULL NUMBER

PURGE_OBJECT NOT NULL NUMBER

SPACE NUMBER

Cada vez que un objeto es borrado con el comando DROP se crea una entrada nueva en esta vista que tiene el nombre nuevo dado al objeto, prefijado por BIN$, su nombre original, el tablespace en el que reside, la fecha y hora de eliminación, el espacio que ocupa, etc.

Los objetos borrados que residen en la papelera pueden ser consultados con las mismas restricciones que tenían antes de ser borrados. Para consultarlos hay que usar el nombre nuevo que le asigna Oracle entrecomillándolo. Para recuperar un objeto borrado se puede usar el comando FLASHBACK TABLE.

Este documento ha sido elaborado por Infor Consult Soluciones, SL (http://www.inforconsult.com.es). Queda

prohibida la edición o modificación de este documento sin permiso de su autor. Se permite, sin embargo, imprimir y

ceder este documento a terceros siempre que el contenido se mantenga íntegro y se haga mención expresa a su

autor.

LA PAPELERA DE RECICLAJE DE ORACLE

Comando PURGE

La eliminación de los objetos residentes en la papelera se puede hacer manualmente a través de este comando. Solo podrán borrar los objetos de la papelera los propietarios, aquellos con permiso SYSDBA o DROP ANY. Las variantes que existen son:

COMANDO

EXPLICACIÓN

PURGE TABLE nombre_tabla;

Elimina la tabla indicada de la papelera. El nombre de la tabla puede ser el nombre original o el renombrado.

PURGE INDEX nombre_índice;

Elimina el índice indicado de la papelera. El nombre del índice es el nombre original y no el renombrado.

PURGE RECYCLEBIN;

Elimina todos los objetos (del usuario que lanza la orden) de la papelera.

PURGE DBA_RECYCLEBIN;

Elimina todos los objetos (de todos los usuarios) de la papelera. Solo un SYSDBA puede lanzar este comando.

PURGE TABLESPACE nombre_tablespace;

Elimina todos los objetos (del usuario) de la papelera que residan en el tablespace indicado.

PURGE TABLESPACE nombre_tablespace USERS nombre_usuario;

Elimina todos los objetos de la papelera que residan en el tablespace indicado y pertenezcan el usuario indicado.

Pasando por alto la Papelera de Reciclaje

Existen dos modos para evitar que el objeto borrado pase a la papelera:

1. En Oracle10g R1 es el parámetro _recyclebin del fichero init<SID>.ora. Éste es un parámetro oculto, por eso empieza por el carácter subrayado "_", que por omisión está a TRUE. Asignándole FALSE hacemos que Oracle10g no use la papelera y elimine el objeto definitivamente, como en anteriores versiones. En Oracle10g R2 se usa el parámetro recyclebin, éste ya no oculto, cuyos valores son ON y OFF siendo ON el valor por omisión.

2. Usando la cláusula PURGE del comando

...

Descargar como (para miembros actualizados) txt (10 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com