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