dblink远程导入clob或blob数据方法

一、临时表解决办法

1、创建DBLINK
(1)使用sysdba用户授予用户创建dblink权限:
grant create public database link,create database link to event;
(2)创建dblink:
create database link orcl_work connect to event identified by event
USING
‘(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)(PORT=1521)))( CONNECT_DATA=(SERVER=DEDICATED)(SID=orcl)))’;

2、插入数据
(1)创建临时表,处理CLOB/BLOB类型字段

create global temporary table temp_tab
(id number,
 name varchar(256),
 a CLOB,
 b CLOB)
on commit delete rows;--提交操作,删除所有记录(事务级)

(2)读取远程src_tab表插入临时表

insert into temp_tab
  select id, name, a, b from src_tab@orcl_work;

(3)读取临时表插入本地tgt_tab表中

insert into tgt_tab
  (id, name, a, b)
  select id, name, a, b from temp_tab;
commit;

二、远程往本地导办法

其他办法是到远程往本地表导数据

insert into tgt_tab@tgt_dblink
  (id, name, a, b)
  select id, name, a, b from src_tab;
commit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
是的,数据泵可以导入DBLink。但是需要注意的是,导入的DBLink必须是在目标数据库中已经存在的,否则会出现错误。 在使用数据导入DBLink之前,需要在目标数据库中创建与源数据库中DBLink相同的DBLink。在创建DBLink时,需要确保DBLink名称、用户名和密码等参数与源数据库中的DBLink相匹配。 创建DBLink的语法如下: ```sql CREATE DATABASE LINK db_link_name CONNECT TO username IDENTIFIED BY password USING 'tns_name'; ``` 其中,db_link_name是DBLink的名称,username和password是源数据库的用户名和密码,tns_name是源数据库的TNS名称。 创建完DBLink之后,可以使用数据导入包含DBLink数据。在使用数据导入数据时,需要指定DBLink所在的schema和DBLink名称,如下所示: ```bash impdp system/password@db_name DIRECTORY=data_pump_dir DUMPFILE=data_pump_file.dmp LOGFILE=import.log REMAP_SCHEMA=source_schema:target_schema REMAP_TABLESPACE=source_tablespace:target_tablespace REMAP_DATAFILE=source_datafile:target_datafile REMAP_SCHEMA=source_schema:target_schema REMAP_TABLESPACE=source_tablespace:target_tablespace REMAP_DATAFILE=source_datafile:target_datafile REMAP_DBLINK=source_dblink:target_dblink ``` 其中,REMAP_DBLINK参数指定了要导入的DBLink名称。通过指定REMAP_DBLINK参数,可以将源数据库中的DBLink名称映射到目标数据库中的DBLink名称。 需要注意的是,如果目标数据库中的DBLink名称与源数据库中的DBLink名称不一致,那么在导入数据之前,必须先在目标数据库中创建与源数据库中DBLink名称相同的DBLink

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ben@dw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值