2011-10-10 11 views
14

Estoy utilizando Oracle Database y estoy un poco confundido acerca de los comandos Drop y Purge. De hecho, para mí, ambos hacen lo mismo. Elimina la tabla con esquema de la base de datos. ¿Cuál es la principal diferencia entre estos dos?Diferencia entre depuración gota y gota en Oracle

  1. Drop Table Tablename;
  2. Drop Table Nombre de tabla Purga;
+5

¿No es esta una pregunta 'Lea el manual'? ¿Y cómo pueden ser tanto MySQL como Oracle? – MatBailie

+0

@Dems "Lea el manual" ... al igual que la mayoría de las preguntas de Oracle sobre Stackoverflow, lamentablemente. –

Respuesta

30

Normalmente, una tabla se mueve a la papelera de reciclaje (a partir de Oracle 10g), si se cae. Sin embargo, si también se especifica el modificador de purga, la tabla se descarta de forma irrecuperable (completamente) de la base de datos.

+2

+1 Yo agregaría que si no agrega 'purgar' la mesa continuará usando espacio en la papelera de reciclaje, por lo que si está limpiando, es mejor usarla. – Ben

+1

Id de acuerdo con Ben sobre el uso del espacio, uso de purga, o he visto una tabla truncada seguida de una caída para tener un efecto similar. – tbone

6

Oracle Database 10g presenta una nueva característica para eliminar tablas. Cuando descarta una tabla, la base de datos no libera inmediatamente el espacio asociado con la tabla . Más bien, la base de datos cambia el nombre de la tabla y la coloca en una papelera de reciclaje, donde puede recuperarse posteriormente con la instrucción FLASHBACK TABLE si descubre que dejó caer la tabla por error. Si desea liberar inmediatamente el espacio asociado con la tabla en el momento , emite la instrucción DROP TABLE, luego incluya la cláusula PURGE de la siguiente manera. DROP TABLE empleados PURGA; Especifique PURGE solo si desea soltar la tabla y liberar el espacio asociado en un solo paso. Si especifica PURGE, la base de datos no contiene y coloca la tabla y sus objetos dependientes en la papelera de reciclaje. NOTA: No puede deshacer una instrucción DROP TABLE con la cláusula PURGE , y no puede recuperar la tabla si la elimina con la cláusula PURGE. Esta característica no estaba disponible en versiones anteriores.

-1

drop table table_name purge;

Al usar esta consulta lo que sucedió: - Normalmente, una tabla se mueve a la papelera de reciclaje (a partir de Oracle 10g), si se cae. Pero aún ocupó la memoria en la base de datos para liberar la memoria para otra objeto podemos usar la cláusula Purga.

0
SQL>drop table table_name; 

Este comando elimina la tabla denominada nombre_tabla, pero internamente se mueve a la papelera de reciclaje de Oracle (que es similar a la eliminación de cualquier archivo/carpeta mediante Eliminar clave en el sistema operativo Windows).
Beneficios:
1. Seremos capaces de restaurar la tabla eliminada anteriormente si es necesario.
Desventajas:
1. Todavía ocupa algo de memoria.

SQL>drop table table_name purge; 

Este comando elimina la tabla nombre_tabla completamente de la base de datos (que es similar a la eliminación de cualquier archivo/carpeta mediante Shift +Eliminar clave en las ventanas del sistema operativo).

Los beneficios y desventajas serán viceversa de lo anterior.

0

La declaración siguiente soltará la tabla y la colocará en la papelera de reciclaje.

DROP TABLE emp_new;

La declaración a continuación soltará la tabla y la expulsará de la papelera de reciclaje también.

DROP TABLE emp_new PURGE;

+0

¿Por qué ha sido rechazada? Algún comentario habría ayudado? Para mí se ve correcto ... – nanosoft

Cuestiones relacionadas