DB2 - Depolama grupları
Bu bölümde Veritabanı Depolama Grupları açıklanmaktadır.
Giriş
Veritabanı tablosunu veya nesneleri depolamak için bir dizi Depolama yolu, bir depolama grubudur. Tablo alanlarını depolama grubuna atayabilirsiniz. Bir veritabanı oluşturduğunuzda, tüm tablo alanları varsayılan depolama alanı alır. Bir veritabanı için varsayılan depolama grubu 'IBMSTOGROUP'tur. Yeni bir veritabanı oluşturduğunuzda, "CREATE DATABASE" komutunun sonunda "AUTOMATIC STOGROUP NO" parametresini geçerseniz, varsayılan depolama grubu aktif olur. Veritabanının herhangi bir varsayılan depolama grubu yoktur.
Depolama gruplarını listeleme
Veritabanındaki tüm depolama gruplarını listeleyebilirsiniz.
Syntax: [Mevcut veri tabanındaki mevcut depolama gruplarının listesini görmek için]
db2 select * from syscat.stogroups
Example: [Mevcut veri tabanındaki mevcut depolama alanlarının listesini görmek için]
db2 select * from syscat.stogroups
Bir depolama grubu oluşturma
Veritabanında bir depolama grubu oluşturmak için bir sözdizimi:
Syntax: [Yeni bir stok grubu oluşturmak için. 'Stogropu_name' yeni depolama grubunun adını belirtir ve 'yol' verilerin (tabloların) depolandığı konumu belirtir]
db2 create stogroup on ‘path’
Example: ['Data1' klasörü yolunda yeni bir stogroup 'stg1' oluşturmak için]
db2 create stogroup stg1 on ‘/data1’
Output:
DB20000I The SQL command completed succesfully
Stogroup ile tablo alanı oluşturma
Mağaza grubu ile bir tablo alanını nasıl oluşturabileceğiniz aşağıda açıklanmıştır:
Syntax: [Mevcut depolama grubunu kullanarak yeni bir tablo alanı oluşturmak için]
db2 create tablespace <tablespace_name> using stogroup <stogroup_name>
Example: [Mevcut depolama grubu 'stg1' kullanarak 'ts1' adlı yeni bir tablo alanı oluşturmak için]
db2 create tablespace ts1 using stogroup stg1
Output:
DB20000I The SQL command completed succesfully
Bir depolama grubunu değiştirme
Aşağıdaki sözdizimini kullanarak bir mağaza grubunun konumunu değiştirebilirsiniz:
Syntax: [Bir depolama grubunu eski konumdan yeni konuma taşımak için]
db2 alter stogroup add ‘location’, ‘location’
Example: ['Sg1' adlı depolama grubu için eski konumdan yeni konuma konum yolunu değiştirmek için]
db2 alter stogroup sg1 add ‘/path/data3’, ‘/path/data4’
Depolama grubunun klasör yolunu bırakma
Storagegroup klasör yolunu bırakmadan önce, alter komutunu kullanarak depolama grubu için yeni konum ekleyebilirsiniz.
Syntax: [Eski yolu depolama grubu konumundan çıkarmak için]
db2 alter stogroup drop ‘/path’
Example: [Depolama grubu konumunu 'stg1'den çıkarmak için]
db2 alter stogroup stg1 drop ‘/path/data1’
Bir tablo alanını yeniden dengelemek
İşlemler veritabanı üzerinde yürütülürken tablo alanı dolduğunda depolama grubu veya tablo alanları için yeni bir klasör oluşturduğumuzda tablo alanının yeniden dengelenmesi gerekir. Yeniden dengeleme, veritabanı yapılandırma dosyalarını yeni depolama grubu ile günceller.
Syntax: [Tablo alanını eski depolama grubu yolundan yeni depolama grubuna yeniden dengelemek için]
db2 alter tablspace <ts_name> rebalance
Example: [Yeniden dengelemek için]
db2 alter tablespace ts1 rebalance
Bir depolama grubunu yeniden adlandırma
Syntax: [Mevcut depolama adının adını değiştirmek için]
db2 rename stogroup <old_stg_name> to <new_stg_name>
Example: [Depolama grubunun adını 'sg1'den yeni' sgroup1 'adına değiştirmek için]
db2 rename stogroup sg1 to sgroup1
Bir depolama grubunu düşürmek
Step 1: Herhangi bir depolama grubunu bırakmadan önce, tablo alanları için bazı farklı depolama grupları atayabilirsiniz.
Syntax: [Tablo alanı için başka bir depolama grubu atamak için.]
db2 alter tablspace <ts_name> using stogroup <another sto_group_name>
Example: [Tablo alanı 'ts1' için eski bir stok grubundan 'sg2' adlı yeni stok grubuna geçmek için]
db2 alter tablespace ts1 using stogroup sg2
Step 2:
Syntax: [Mevcut stok grubunu kaldırmak için]
db2 drop stogorup <stogroup_name>
Example: ['Stg1' stok grubunu veritabanından kaldırmak için]
db2 drop stogroup stg1