Partition olan bir tablonun başka bir tablo alanına taşınması

24 Mar by Ahmet Duruöz

Partition olan bir tablonun başka bir tablo alanına taşınması

Partition olan bir tablo normal tablo taşıma şeklinde yapılamaz. Bu yüzden parçaların ayrı ayrı taşınması gerekmektedir.  Taşıma sonrasında tablonun eski tablo alanında yeni parça oluşturmaması içinse tablonun tablespace bilgisinin güncellenmesi gerekmektedir.

Tablonun parçalarının taşınması için gerekli komutları aşağıdaki sorgu ile oluşturabilirsiniz.

select 'ALTER TABLE KULLANICI.TABLO_ADI MOVE PARTITION '||partition_name||' TABLESPACE YENI_TABLESPACE NOLOGGING;' from dba_tab_partitions where TABLE_NAME='TABLO_ADI';

Sorgudan dönen kayıtları bir script ile tek seferde çalıştırabilirsiniz.

Örnek partition taşıma komutu aşağıdaki gibidir :

ALTER TABLE KULLANICI.TABLO_ADI MOVE PARTITION PARTITION_ADI TABLESPACE YENI_TABLESPACE NOLOGGING;

Bir tabloda birçok partition oluşacağından bir bir komutları çalıştırmak yerine yukarıdaki select cümlesi ile toplu olarak komut oluşturulabilir.

Taşıma işlemi sonrasında , tablonun eski tablo alanında partition oluşturmaması için tablespace bilgisinin değiştirilmesi gerekmektedir. Aşağıdaki komut ile mevcut tablespace bilgisini değiştirebilirsiniz.

ALTER TABLE KULLANICI.TABLO_ADI MODIFY DEFAULT ATTRIBUTES TABLESPACE YENI_TABLESPACE;

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir