2017-01-06 5 views
5

मैंने ओरेकल एसक्यूएल में एक टेबल को हटाने के बजाय वास्तव में गिरा दिया है।ओरेकल के साथ, मैं एक टेबल को कैसे पुनर्स्थापित कर सकता हूं जिसे मैंने गलती से गिरा दिया?

Drop table emp; 

क्या इसे वापस पुनर्प्राप्त करने का कोई तरीका है?

+4

क्या आपके पास बैकअप है? –

+1

यदि आप भाग्यशाली हैं और यह अभी भी रीसायकल बिन में है, तो आप उनको अपने कनेक्शन पेड़ पर SQL डेवलपर में देख सकते हैं और उन्हें पुनर्स्थापित करने के लिए राइट क्लिक कर सकते हैं ... अन्यथा, आपको इसे अपने डीबीए से इसे पुनर्स्थापित करने के लिए कहना होगा बैकअप – thatjeffsmith

+0

इसे एसक्लप्लस के माध्यम से किया गया। –

उत्तर

7

वास्तव में गिराए गए तालिका को वापस पुनर्प्राप्त करने का एक तरीका मौजूद है। कृपया नीचे दिए गए चरणों को पाएं। जब आप कोई टेबल छोड़ते हैं, तो डेटाबेस तुरंत तालिका से जुड़े स्थान को तुरंत नहीं हटाता है। इसके बजाए, तालिका का नाम बदल दिया गया है और, किसी भी संबंधित ऑब्जेक्ट के साथ, यह डेटाबेस के रीसायकल बिन में रखा गया है। फ्लैशबैक ड्रॉप ऑपरेशन रीसायकल बिन से तालिका को पुनः प्राप्त करता है।

कृपया यह भी जांचें कि क्या आप ऑरैकल 10 जी और उससे ऊपर का उपयोग कर रहे हैं या नहीं।

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 

मैं आपको आगे स्पष्टीकरण के लिए ऑरैक दस्तावेज पढ़ने के लिए अनुरोध करता हूं। कृपया उनके माध्यम से जाओ। , 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 जोड़ना। धन्यवाद। –

+1

धन्यवाद यह काम किया !!! –

1

गिरा तालिका पुन: प्राप्त करना Oracle में आसान है, बशर्ते कि तालिका शुद्ध विकल्प के साथ गिरा दिया नहीं गया था:

संदर्भ से लिया जा सकता है। यदि तालिका गिरा दी जाती है और तालिका द्वारा कब्जा कर लिया गया स्थान जारी किया जाता है और तालिका रीसायकल बिन में स्थानांतरित नहीं होती है। लेकिन यदि तालिका को बिना विकल्प के छोड़ा जाता है, तो ओरेकल में यह बहुत साफ सुविधा है - रीसायकल बिन, विंडोज़ में रीसायकल बिन के समान। ओरेकल में दो रेसील बिन दृश्य हैं: USER_RECYCLEBIN और DBA_RECYCLEBIN, समानार्थी RECYCLEBIN आपके 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

क्या इसमें ओरेकल के लिए एक संस्करण है (ओप के प्रश्न के अनुसार)? –

+0

एपेक्स एसक्यूएल केवल एमएस एसक्यूएल के लिए उपयोग करता है लेकिन मैंने ओरेकल के लिए अपना उत्तर अपडेट किया है .. – Darshak

+0

एक अपवोट क्योंकि आपने सही संदर्भ दिया है और उत्तर बदल दिया है। –

0

इस का उपयोग करें:

select object_name, original_name, type from recyclebin; 

हालांकि गिरा तालिका नाम दिया जाता है, यह अपने डेटा "undrop" तालिका flashback का उपयोग करके बरकरार रखे हुए है, आप आसानी से कर सकते हैं।

flashback table yourTableName to before drop; 
संबंधित मुद्दे

 संबंधित मुद्दे