Eliminación y recuperación simple de tablas de Oracle

                                          Eliminación y recuperación simple de tablas de Oracle

La base de datos Oracle se puede considerar como un sistema independiente, por lo tanto, proporciona una función de papelera de reciclaje para evitar el uso indebido.

Supongamos que instalé una base de datos Oracle11g y elegí la tabla emp de muestra que viene con ella durante la instalación. Las siguientes operaciones se realizan todas en OracleSQLdevelope:

1. Vea la tabla (la tabla emp también puede crearla usted mismo manualmente, consulte la publicación del blog para la declaración SQL https://blog.csdn.net/alwaysbefine/article/details/112757991 )

2, eliminar datos de la tabla

eliminar de emp; En la tabla de consulta, puede ver que no hay contenido, solo la estructura de la tabla. Porque, desc emp; puedo ver que la salida es:

名称       空值 类型           
-------- -- ------------ 
EMPNO       NUMBER(4)    
ENAME       VARCHAR2(10) 
JOB         VARCHAR2(9)  
MGR         NUMBER(4)    
HIREDATE    DATE         
SAL         NUMBER(7,2)  
COMM        NUMBER(7,2)  
DEPTNO      NUMBER(2)  

 Hay una segunda forma de eliminar los datos de la tabla,

truncate table emp; En este momento, si ejecuta una reversión y una reversión, encontrará que los datos no han regresado. La eliminación de truncamiento realmente elimina los datos de la tabla. El método de eliminación no los elimina a menos que se envíen.

En pocas palabras, truncar es el efecto de la combinación eliminar + comit, y son todos los datos de la tabla, la eliminación puede ir seguida de dónde seleccionar la columna de eliminación .

3. Eliminar la estructura de la tabla Por supuesto, la estructura de la tabla se ha ido y los datos de la tabla natural se han ido.

drop table emp; Elimina toda la tabla, es decir, deshacer rollback después de soltar es inútil. Sin embargo, el sistema Oracle lo coloca en la papelera de reciclaje de forma predeterminada.Si consulta todas las tablas debajo del usuario, verá una tabla de la papelera de reciclaje al principio de la papelera.

Por supuesto, si está seguro de eliminar esta tabla, entonces la tabla al principio del contenedor es basura para usted. En este momento, debe limpiar la basura. Después de todo, la basura también ocupa espacio en el disco, ¿no?

Si lo elimina por error, entonces la lista al principio de este contenedor es su medicamento de arrepentimiento. Primero, vea si la función de la papelera de reciclaje está habilitada: muestre el parámetro bin;

Puede ver que la función de papelera de reciclaje está activada.Si desea cerrar la papelera de reciclaje de todo el sistema, necesita cambiar el estado de la base de datos para montar, ejecute ALTER SYSTEM SET RECICLEBIN = ON; ALTER SYSTEM SET RECICLEBOIN = OFF; para activar o desactivar la función de papelera de reciclaje

Si es el interruptor de función de papelera de reciclaje actual a nivel de sesión, el comando es: ALTER SESSION SET reciclar = ON; ALTER SESSION SET reciclar = OFF; (solo válido en la sesión actual y no válido después de cambiar la sesión). Es decir, si se ejecuta en la sesión actual, la función de la papelera de reciclaje se cierra y no hay remedio que lamentar por dejar caer la mesa.

(1) Use la medicina del arrepentimiento

En primer lugar, puede que te arrepientas mucho de los medicamentos (muchas tablas se han eliminado por error ...), pero hay algunos medicamentos de los que no te arrepientes y solo quieres uno de ellos. Entonces, aquí viene la pregunta. Suponiendo que hay n tablas bin, son básicamente iguales por sus nombres. No sabe qué tabla bin corresponde a qué tabla. ¿Qué debe hacer?

SELECT * FROM RECYCLEBIN; o SELECT * FROM USER_RECYCLEBIN; puede consultar a qué tabla pertenece originalmente la tabla bin , por ejemplo,

Entonces podemos especificar BIN $ uTo / 4dQLfzXgUKjAFQAeBw == $ 0 Esta tabla se obtiene eliminando la tabla emps, y se obtiene mediante la operación drop.

Luego, ejecute el siguiente comando para restaurar. Si la restauración es exitosa, le indicará que el flashback fue exitoso.

flashback table "BIN $ uTo / 4dQNfzXgUKjAFQAeBw == $ 0" to before drop; --El nombre de la tabla bin consultada, por supuesto, puede agregar un cambio de nombre al final, y cambiar el nombre cuando restaure directamente, como:

flashback table "BIN $ uTo / 4dQPfzXgUKjAFQAeBw == $ 0" to before drop renombre a abcde; Cambie el nombre de esta tabla a abcde mientras restaura.

(2), eliminar la basura

Limpiar toda la basura: purgar la papelera de reciclaje; - Vaciar la papelera de reciclaje

Limpiar la basura especificada: purgar el nombre de la tabla bin de la tabla; -eliminar la basura especificada

 

 

 

 

 

 

 

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/alwaysbefine/article/details/112807638
Recomendado
Clasificación