Uzak veritabanı üzerinde database link ile DDL komutu çalıştırılması

21 Ara by Ahmet Duruöz

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.

Loading

Bir yanıt yazın

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