Uzak veritabanı üzerinde database link ile DDL komutu çalıştırılması
Uzak veritabanı üzerinde database link ile direkt olarak DDL komutu çalıştırılamaz. Çalıştırıldığı takdirde aşağıdaki gibi hataya sebep olacaktır.
ORA-02021: DDL operations are not allowed on a remote database.
Bunun için dbms_utility.exec_ddl_statement prosedürünün kullanılması gerekiyor. Bu prosedür ile uzak veritabanında herhangi bir DDL komutu çalıştırılabilir. Bu sayede tüm işlemlerimizi tek bir noktadan yapabiliriz.
Örnek kullanım :
SQL> exec dbms_utility.exec_ddl_statement@DB_LINK('TRUNCATE TABLE KULLANICI.TABLO_ADI');
Yukarıdaki örnekte DB_LINK ile veritabanı linki belirtiliyor. Sonrasında parantez ve tek tırnak içinde çalıştıracak DDL komutu veriliyor.
Benzer şekilde aşağıdaki gibi tablo oluşturmak da mümkündür.
SQL> exec dbms_utility.exec_ddl_statement@DB_LINK('create table t1 (id number)');
Bu şekilde uzak veritabanında , veritabanı linki üzerinden DDL komutları çalıştırmak mümkündür.