2017-01-06 46 views
5

Rzeczywiście upuszczałem zamiast usuwać tabelę w Oracle SQL.W Oracle, jak mogę przywrócić tabelę, którą przypadkowo upuściłem?

Drop table emp; 

Czy można go odzyskać?

+4

Masz kopię zapasową? –

+1

Jeśli masz szczęście i nadal jest w koszu, możesz zobaczyć te w programie SQL Developer w drzewie połączeń i kliknąć prawym przyciskiem, aby je przywrócić ... w przeciwnym razie musisz poprosić administratora DBA o przywrócenie go z kopia zapasowa – thatjeffsmith

+0

Sporządzono przez sqlplus. –

Odpowiedz

7

Właściwie istnieje sposób na odzyskanie upuszczonej tabeli. Proszę znaleźć poniższe kroki. Po upuszczeniu tabeli baza danych nie usuwa natychmiast miejsca związanego z tabelą. Zamiast tego tabela jest zmieniana i wraz z powiązanymi obiektami umieszczana jest w Koszu bazy danych. Operacja Dropback Drop przywraca tabelę z kosza.

Należy również sprawdzić, czy używasz Oracle 10g i wyżej.

SQL> drop table vimal; 

Table dropped. 

SQL> show recyclebin; 
ORIGINAL NAME RECYCLEBIN NAME    OBJECT TYPE DROP TIME 
---------------- ------------------------------ ------------ ------------------- 
VIMAL   BIN$c9/MeUSERvCmafRSweHlWQ==$0 TABLE  2017-01- 06:16:57:29 

SQL> flashback table "BIN$c9/MeUSERvCmafRSweHlWQ==$0" to before drop; 

Flashback complete. 

SQL> select * from vimal; 

NAME    ID 
---------- ---------- 
f     1 

Proszę o zapoznanie się z dokumentacją Oracle w celu uzyskania dalszych wyjaśnień. Przejdź przez nie.

odniesienia mogą być pobrane z: https://docs.oracle.com/cd/B19306_01/backup.102/b14192/flashptr004.htm

+0

http://elena-sqldba.blogspot.in/2013/01/how-to-retrieve-dropped-table-in-oracle.html – Darshak

+0

@dudumarkovitz added. Dziękuję Ci. –

+1

Dzięki temu zadziałało !!! –

1

Odzyskiwanie spadła stół jest łatwy w Oracle, pod warunkiem, że tabela nie została usunięta z opcją czystki. W przypadku upuszczenia stołu i zwolnienia miejsca zajmowanego przez stół, stół nie zostanie przeniesiony do kosza. Ale jeśli stół zostanie upuszczony bez opcji WYPEŁNIJ, Oracle ma tę bardzo schludną funkcję - Kosz, podobny do kosza w systemie Windows. W Oracle są dwa widoki recyle bin: USER_RECYCLEBIN i DBA_RECYCLEBIN, Synonim RECYCLEBIN wskazuje na USER_RECYCLEBIN.

http://elena-sqldba.blogspot.in/2013/01/how-to-retrieve-dropped-table-in-oracle.html

http://www.dba-oracle.com/t_recover_dropped_table.htm

+0

Czy ma wersję dla Oracle (jak na pytanie na op)? –

+0

Używam ApexSQL tylko dla MS SQL, ale mam Aktualizacje moje ans dla Oracle .. – Darshak

+0

Awans, ponieważ podałeś poprawną referencję i zmieniłeś odpowiedź. –

0

Użyj tego:

select object_name, original_name, type from recyclebin; 

Chociaż spadła tabela zostanie zmieniona, zachowuje swoje dane, łatwo można "undrop" stołu za pomocą flashback.

flashback table yourTableName to before drop;