Oracle'da taşıma yürütme mekanizmasını açıklayın + taşıma işlemi aracılığıyla HWM boyutunu azaltın

Genel Bakış

Oracle, 8i'den başlayarak taşıma komutunu sağlamaya başladı. Genellikle bu komutu, bir tablo bölümünü bir tablo alanından başka bir tablo alanına taşımak için kullanın.

Hareket aslında fiziksel olarak verileri bloklar arasında kopyalar ve bu şekilde tablonun HWM'sini azaltabilir.

Aşağıdaki, taşıma işleminin verileri nasıl taşıdığını görmek için bir deneydir.

1. TEST_HWM tablosunu ve test verilerini oluşturun

tablo TEST_HWM (id int, isim karakter (2000)) tablo alanı hwm oluştur;

- Aşağıdaki verileri TEST_HWM tablosuna ekleyin:

TEST_HWM değerlerine (1, 'aa') ekleyin; TEST_HWM değerlerine (2, 'bb') ekleyin; TEST_HWM değerlerine (2, 'cc') ekleyin; TEST_HWM değerlerine (3, 'gg') ekleyin; TEST_HWM değerlerine (4, 'ds') ekleyin; TEST_HWM değerlerine (5, 'dss') ekleyin; TEST_HWM değerlerine (6, 'dss') ekleyin; TEST_HWM değerlerine (7, 'ess') ekleyin; TEST_HWM değerlerine (8, 'es') ekleyin; TEST_HWM değerlerine (9, 'es') ekleyin; TEST_HWM değerlerine (10, 'es') ekleyin;

2. Bu tablonun rowid, blok kimliği ve bilgilerini görüntüleyin:

TEST_HWM'den rowid, id, isim seçin;

dba_extents'tan EXTENT_ID, FILE_ID, RELATIVE_FNO, BLOCK_ID, BLOCKS seçin; burada segment_name = 'TEST_HWM';

Not: Satır kimliği, diskte 10 baytlık depolama alanına ihtiyaç duyar ve görüntülemek için 18 karakter kullanır, aşağıdaki bileşenleri içerir:

1) Veri nesnesi numarası: Tablo veya indeks gibi her veri nesnesi oluşturulduğunda tahsis edilir ve bu numara veri tabanında benzersizdir. 2) İlgili dosya numarası: Bu numara bir tablo alanındaki her dosya için benzersizdir. 3) Blok numarası: Bu satırı içeren bloğun dosyadaki konumunu gösterir. 4) Satır numarası: Satır dizininin blok başlığındaki konumunu belirtir.

Dahili veri nesnesi numarası 32 bit, ilgili dosya numarası 10 bit, blok numarası 22 bit ve satır numarası 16 bit gerektirir. Toplam 80 bit veya 10 bayttır. Satır kimliği 64 tabanlı bir kodlama şeması kullanır Göstermek için.

Bu şema, veri nesnesi numaraları için 6 konum, ilgili dosya numaraları için 3 konum, blok numaraları için 6 konum ve satır numaraları için 3 konum kullanır. 64 tabanlı kodlama şeması 64 karakter A Z, a z, 0 9, + ve /

Aşağıdaki örnekte gösterildiği gibi karakterler:

AAAVqH AAJ AAAA5 / AAA

Burada, AAAVqH veri nesnesi numarasıdır, AAJ ilgili dosya numarasıdır, AAAA5 / blok numarasıdır ve AAA satır numarasıdır.

Daha sonra, verilerin satır kimliğine göre, 11 satırlık verinin 4 AAAA5 /, AAAA6A, AAAA6B ve AAAA6F bloğuna dağıtıldığı görülebilir.

3. TEST_HWM tablosundaki bazı verileri silin:

id = 2 olduğunda TEST_HWM'den silin; id = 4 olduğunda TEST_HWM'den silin; id = 3 olduğunda TEST_HWM'den silin; id = 7 olduğunda TEST_HWM'den silin; id = 8 olduğunda TEST_HWM'den silin; id = 9 olan TEST_HWM'den silin;

4. Bu tablonun satır kimliğini, blok kimliğini ve bilgilerini görüntüleyin

TEST_HWM'den rowid, id, isim seçin;

dba_extents'tan EXTENT_ID, FILE_ID, RELATIVE_FNO, BLOCK_ID, BLOCKS seçin; burada segment_name = 'TEST_HWM';

görülebilir, Verinin satır kimliği değişmemiştir Verinin satır kimliğine göre bu 4 satır verinin halen AAAA5 /, AAAA6A, AAAA6B ve AAAA6F olmak üzere 4 bloğunda dağılmış olduğu görülmektedir.

5. TEST_HWM için bir taşıma işlemi gerçekleştirin ve ardından rowid ve blockid'i gözlemleyin

tabloyu değiştir TEST_HWM taşı; TEST_HWM'den rowid, id, isim seçin; dba_extents'tan EXTENT_ID, FILE_ID, RELATIVE_FNO, BLOCK_ID, BLOCKS seçin; burada segment_name = 'TEST_HWM';

TEST_HWM tablosu taşındıktan sonra tablonun bulunduğu blok kimliğinin değiştiği ve verinin satır kimliğinin doğal olarak değiştiği görülebilir. Yukarıdaki sonuçlardan da görülebileceği gibi, Şimdi TEST_HWM tablosunun verileri AAAA6J ve AAAA6K olmak üzere iki bloğa dağıtılır. Ancak bu 4 veri satırının satır kimliğinin sırasına bakıldığında, tablodaki bu 4 satır verinin saklama sırası değişmemiştir. Taşıma, bloklar arasındaki verilerin fiziksel bir kopyasıdır.

6. Taşıma işleminin masanın HWM'sinin konumunu nasıl değiştirdiğini test edin

6.1. My_objects test tablosunu oluşturmak için sistem görünümü all_objects'i kullanın, verilerin ilk 9999 satırını silin:

all_objects'ten * seçim olarak my_objects tablepace HWM tablosu oluşturun; rownum nerede my_objects'ten sil < 10000; nesnelerimden sayımı (*) seçin; serveroutput'u aç exec show_space (p_segname = > 'BENİM_OBJECTS', p_owner = > 'NWPP', p_type = > 'TABLO');

Burada HWM = 1240 -1 + 1 = 1240 ve sonra MY_OBJECTS tablosunu hareket ettirin

6.2, masayı hareket ettir

tabloyu değiştir MY_OBJECTS taşı; exec show_space (p_segname = > 'BENİM_OBJECTS', p_owner = > 'NWPP', p_type = > 'TABLO');

Gördüğünüz gibi MY_OBJECTS masasının HW M'si 1240'tan 1109'a taşındı ve masanın HWM'si düşürüldü!

Bu deney, HWM'nin performans üzerindeki etkisini anlamak ve hareket yoluyla HWM boyutunu küçültmek için önemlidir. Ayrıca zamanınız olduğunda bunu kendiniz de test edebilirsiniz.

Devops ve DBA hakkında daha fazlasını daha sonra paylaşacağım, ilgilenen arkadaşlar buna dikkat edebilir! !

Beş resim, düşük voltajlı güç dağıtım sistemlerinde IT, TT ve TN topraklamasını tanımlamanıza izin verir!
önceki
iOS11 nihai beta sürümü yayınlandı, yükseltecek misiniz?
Sonraki
Üç yıllık dönüşüm başarısı: Runhe, çipten uygulamaya kapalı döngü tam yığın IOT yeteneğini gerçekleştiriyor
Elektrikli sürüklemeyi öğrenmek zor mu? Elektrikli sürücü kontrol devresi şemasının özetine bakın!
İPhone SE2'nin son haberleri, gelişme yok, milenyum modeli, meyve hayranları hayal kırıklığını dile getirdi!
Ui-gun konuşmuyor, bunun bir erkek araştırmacı olduğunu söylemek zor ve anime endüstrisinde cinsiyeti ayırt etmesi zor olan başka bir yüz
Crazy Hybrid: Vahşi dağ yoluna tırmanmak her şeye kadir | Bilim ve Teknoloji
Nubia Shuangdan promosyonu 400 yuan'a kadar başlar
Diz çökmüş Apple Watch, taklitçi iPhone 8 satışta ve parlak ekran işlemi ortaya çıkıyor!
Çılgın motor: W18 motoru da ne? | Teknoloji
AWR raporunun temel yönü, oracle bekleme olaylarının ayrıntılı açıklaması
Siemens PLC, FB bloğu birden çok kez çağrılırsa, tek bir bloğun yürütülmesi nasıl izlenir?
Anime'deki popüler karakterler "Guild II" yüzünden sevimli ve çoğu ünlü yemek meraklıları.
Bu yıl iPhone 7s, 7sPlus ve iPhone8 nasıl satın alınır?
To Top