Cet article vous apporte des connaissances pertinentes sur Oracle Lors de l'utilisation de données Oracle, les données de la table ont été accidentellement supprimées et soumises. Voici une introduction à la façon de récupérer après la suppression accidentelle des données de la table par Oracle. j'espère que cela sera utile à tout le monde.
Tutoriel recommandé : "Tutoriel vidéo Oracle"
Restauration basée sur l'heure
Cette méthode nous oblige à connaître approximativement l'heure d'exécution de l'instruction de suppression.
Interrogez l'heure actuelle du système : select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual ;
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;
假设在2022-04-02 16:27:11分钟,执行了删除语句delete from demo ;
supprimer de la démo ;
À ce stade, les données ne peuvent pas être interrogées dans la table. Nous connaissons le temps d'exécution de la suppression, avancez d'1 minute (le temps d'exécution de la suppression peut être avant, plus il est petit, mieux c'est, cet exemple prend 1 minute à titre d'exemple), exécutez l'instruction suivanteselect * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
flashback table DEMO to timestamp to_timestamp(‘2022-04-02 16:26:11',‘yyyy-mm-dd hh24:mi:ss');
alter table DEMO enable row movement;
create table DEMO1 as select * from DEMO as of timestamp to_timestamp(‘2022-04-02 16:30:11',‘yyyy-mm-dd hh24:mi:ss');
insert into DEMO select * from DEMO1 where not exists (select * from DEMO where DEMO.id=DEMO1.id);
select current_scn from v$database;
select * from DEMO as of scn 166937913;
flashback table DEMO to scn 166937913;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!