新技能GET,记录一下:
之前通过DBLINK对远程数据库执行DDL语句一直有问题,从网上看到的一些方法需要自己编写存储过程,经测试在11R2环境中无法使用,后来也就没有继续研究。
今天看到了Oracle自己提供的PACKAGE可以实现这个功能,使用的是dbms_utility.EXEC_DDL_STATEMENT:
测试过程很简单如下:
JP@ora11> create database link ora12 connect to jp identified by jp using 'ORA12';
Database link created.
JP@ora11> exec dbms_utility.EXEC_DDL_STATEMENT@ora12('create table m(x int)');
PL/SQL procedure successfully completed.
远程库查看一下:
SQL> desc jp.m
Name Null? Type
----------------------------------------- -------- ----------------------------
X NUMBER(38)
经测试在10g,11g均可使用,记录一下。