Как восстановить удаленные данные из Oracle?
Способы восстановления данных в БД Oracle после фиксации (commit).
Ретроспективный запрос
Ретроспективный запрос позволяет восстановить недавно удалённые данные. Данные будут выведены на указанное в запросе время. Время доступности старых данных зависит от настроек базы данных.
select
count(*)
from
tablename as of timestamp to_timestamp('2004-03-29 13:34:12', 'YYYY-MM-DD HH24:MI:SS');
1
2
3
4
2
3
4
Ретроспективный запрос не может быть использованopen in new window со следующими типами данных:
- BFILE
- BLOB
- CLOB
- NCLOB
Ссылки
Восстановление таблицы из корзины
Если таблица была полностью удалена (drop), то есть возможность восстановить её из корзины.
Для этого найдите таблицу в корзине
select
*
from
dba_recyclebin t
where
original_name = 'table_name'
1
2
3
4
5
6
2
3
4
5
6
Возьмите название таблицы в корзине из колонки OBJECT_NAME и восстановить таблицу командой
flashback table
owner."BIN$2vv3nR/wSHyzgnIdqcBGJA==$0"
to before drop
rename to new_table_name;
1
2
3
4
2
3
4