如何通过DBLINK取远程 DB的DDL,建表脚本

本文介绍了一种通过中间服务器跳转并使用DBMS_METADATA.GET_DDL从远程数据库获取表定义的方法。涉及DBLINK连接、远程过程调用及解决LOB对象返回问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要去广州库拿表的脚本,通过中间服务器进行跳转. 先连接到查询服务器上 然后通过DBLINK连接到远程数据库上.

一般下都是SELECT * FROM @MAIL.LOCALDOMAIN.

查看普通表 SELECT * FROM  user.table_name@MAIL.LOCALDOMAIN.    字典表  select * from v$sql@mail.localdomain;

获得表脚本DDL 怎么办? 要用到远程过程和函数,乃至包.用法如下:

execute produce_name@dblink( parameter);

 

那我们用到dbms_metadata.get_ddl这个包取对象的DDL

SELECT DBMS_METADATA.GET_DDL@MAIL.LOCALDOMAIN('TABLE', 'NEW_A', 'ADMIN') FROM  dual @MAIL.LOCALDOMAIN.

可返回不了LOB对象!!

继续

SELECT DBMS_LOB.SUBSTR@MAIL.LOCALDOMAIN(

DBMS_METADATA.GET_DDL@MAIL.LOCALDOMAIN('TABLE', 'NEW_A', 'ADMIN')

)
FROM  dual @MAIL.LOCALDOMAIN.

 

这样才安静下来了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值