Başlangıç > VMware > 150: Tablo truncate scripti

150: Tablo truncate scripti

Geçen gün, veritabanının kontrolsüz büyümesi sonucunda, son çare olarak iki adet tablonun içeriğinin silinebileceğinden bahsetmiştik (buradan ulaşabilirsiniz).  VPX_EVENT_ARG tablosu için truncate komutunu kullanırken, foreign key’ler dolayısı ile VPX_EVENT tablosunu delete komutu ile silmiştik. Buradaki sıkıntı, eğer veritabanı full recovery modda çalışıyorsa, silinen tüm kayıtların bir kopyasını transaction loglarda tutacak, dolayısı ile transaction loglar şişecek ve operasyon çok uzun zaman alacaktır.

VMware Support tarafından önerilen aşağıdaki sql scripti ile bu işi çok daha kısa yoldan yapabiliriz. Diğer tablolardan VPX_EVENT tablosuna olan bağlantıları kaldıracak, truncate edilebilir hale getirecek, tüm tabloları bir çırpıda boşaltacak ve foreign key’leri yeniden ekleyecektir. Direk kopyala-yapıştır yapılabilir, tüm script toplamda 1 sn bile sürmeyecektir.

Bir kenarda durmasında fayda var, ne zaman işinize yarayacağı belli olmaz.


<---script start--->
alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add
constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade, constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add
constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade
<---script end--->

Not1: Scriptin vCenter 4.1 ile gayet başarılı çalıştığını biliyorum ancak henüz vCenter 5 ile test etme fırsatım olmadı.

Not2: Bu scriptin vCenter servisleri kapalı ve elde sağlam bir veritabanı yedeği varken çalıştırılması gerektiği unutulmamalıdır.

Kategoriler:VMware Etiketler:,
  1. 22.07.2013, 16:48

    Hello, I’m Alica and I’ve recently started to get into what you’re referring to. I don’t know where
    you’re finding your info, but good job anyway.
    I really need to commit some time learning and
    understanding more. Thanks for the article: I was looking
    for this info for my mission.

  2. 23.07.2013, 11:50

    I’m impressed at how easy you make this topic look via your articles, though I must say I still don’t quite have an understanding of it.
    It seems too complex and extremely broad for myself.
    I am looking forward to your following publishings,
    I will try to get the grasp of it.

  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s

%d blogcu bunu beğendi: