Как восстановить удаленную таблицу? - PullRequest
0 голосов
/ 17 апреля 2019

Я случайно удалил таблицу с именем DEPARTMENT из моей базы данных Oracle и хочу восстановить ее обратно.Так что я погуглил и нашел решение.

Вот что я сделал:

SHOW RECYCLEBIN;

CRIMINALS              BIN$hqnw1JViXO/gUwPAcgqn3A==$0 TABLE       2019-04-16:13:17:16 
DEPARTMENT             BIN$hqnw1JVjXO/gUwPAcgqn3A==$0 TABLE       2019-04-16:13:19:04 
DEPARTMENT             BIN$hqnw1JVkXO/gUwPAcgqn3A==$0 TABLE       2019-04-16:13:21:23 
DEPARTMENT             BIN$hqnw1JVnXO/gUwPAcgqn3A==$0 TABLE       2019-04-16:13:36:34 

FLASHBACK table department TO BEFORE DROP;
Flashback succeeded.

Если вы видите SHOW RECYCLEBIN QUERY, вы можете сказать, что существует более одной таблицы отделов, и все они имеют разное содержание.Мой вопрос: как мне получить содержимое всех трех таблиц в одной.

1 Ответ

0 голосов
/ 17 апреля 2019

После воспоминания переименуйте каждую DEPARTMENT таблицу в новое имя, например,

rename department to dept_1;

Сделайте это для всех из них, кроме последнего (чье имя останется DEPARTMENT).Затем вставьте в него остальные данные:

insert into department
  select * from dept_1
  union all
  select * from dept_2;

Обратите внимание, что уникальность может быть нарушена;если описание таблицы изменилось, select * может не сработать (поэтому вам придется по очереди именовать все столбцы).

Но, вообще говоря, это идея того, как это сделать.

...