2011-08-18 24 views
5
rollback; 

, tablo değişikliklerini geri almıyor görünmüyor.sqlplus (Oracle 10g Express) kullanarak ALTER TABLE nasıl geri alınır?

Arka plan:
Bazı .sql komut dosyaları (ayrıştırılmış Hazırda bulunan komut dosyalarını temel alan) oluşturuyor ve bu da benim tablolarımın dökümünü yapıyor. Test için tam veritabanının içe aktarılması 30 dakikaya kadar sürüyor (ayrıca makinemi yavaşlatıyor) ve molaları almaktan hoşlandığım kadarıyla, her şeyi geri alma gibi bir komutla geri almayı ve tekrar denemeyi tercih ederim.

btw Oracle 10g Express Edition Sürüm 10.2.0.1.0

Bu bile mümkün olduğunu?

cevap

4

Ekspres baskı ile bunun mümkün olduğundan emin değilim. DDL'nin işlenmesi nedeniyle ALTER TABLE gibi bir DDL işlemini geri yükleyemezsiniz.

Oracle, create restore points seçeneğine sahiptir; bu sayede tüm veritabanını nispeten hızlı bir şekilde bir noktaya geri gönderebilirsiniz. Bu, geri yükleme noktasının oluşturulması ile flashback komutunu verdiğiniz nokta arasındaki tüm taahhüt edilen işlemlerin (DML ve DDL) etkilerini ortadan kaldıracaktır. İşte bir example of creating and flashing back to a restore point ve burada flashback for the entire database yapan başka bir tane var. Bu işlevselliğin hızlı sürümde mevcut olduğundan emin değilim.

+0

, ben sadece tek tablolar geri yüklemek için bir yol bulmak mümkün değilim. Tüm geri yükleme noktasını geri göndermenin bir yolunu biliyor musunuz? – glenneroo

+1

@glenneroo - Bir veritabanının tamamını geri yükleme noktasına geri yükleyebilirsiniz http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9011.htm ve http://www.orafaq.com/ düğüm/1847 iyi primerlerdir. –

+0

Sanırım Express Edition için mevcut değil. Komutu çalıştırmak ** veritabanı geri dönüşünü değiştirir; ** aşağıdaki hatayı döndürür: * ORA-00439: özellik etkin değil: Flashback Database *. Alternatif olarak, özellik kullanılabilir olup olmadığını kontrol etmek için, ** çalıştırın ** flashback_on v $ veritabanından seçin; **. – glenneroo