Bir tablonun blob verisi olmadan dışarı aktarılması (export)
BLOB veri içeren bir tablonun blob alanındaki veriler olmadan dışarı aktarılması mümkündür. 11g r2 sürümünden itibaren DataPump export ile kullanılabilen REMAP_DATA işlemi ile bir tablonın blob verisi olmadan dışarı aktarılması mümkün olmaktadır.
REMAP_DATA kullanımı için öncelikle veriyi değiştirecek bir fonksiyona ihtiyaç vardır.
Gerekli fonksiyonu aşağıdaki gibi oluşturabilirsiniz. Fonksiyon bir paket içinde oluşturulacaktır.
create or replace
package remap_lob as
function null_lob(col blob) return blob;
end remap_lob;
/
create or replace
package body remap_lob as
function null_lob(col blob)
return blob is
eblob blob;
begin
return null;
end null_lob;
end remap_lob;
/
Sonrasında bu fonksiyonu export işlemi sırasında REMAP_DATA özelliği ile kullanabiliriz.
Aşağıdaki örnekte test_lob tablosuınun blon_alan isimli blob kolonunun değiştirilerek, export işlemi için expdp komutu belirtilmiştir. Expdp komutunun çalıştırılacağı kullanıcının , yukarıda oluşturduğumuz fonksiyon için execute yetkisinin olması gerekmektedir.
expdp kullanici/sifre DIRECTORY=dizin_adi TABLES=sema_adi.test_lob REMAP_DATA=sema_adi.test_lob.blon_alan:sema_adi.remap_lob.null_lob