oracle在线导入导出数据不用dump使用dblink

已邀请:

####从远程数据库,导入本地数据库###

1、创建数据库连接(在本地库执行导入命令,在本地库创建连接)


create public database link 连接名 connect to 远端数据库用户名 identified by 远端数据库密码 using '(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXXX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XXXXXX)
    )
)';  

#其中,这个using 是使用远端数据库的tnames.ora中配置的服务连接信息。


2、赋权用户,给完整导入导出数据权限


---在远端源库

grant exp_full_database to 

 远端数据库用户名;  

---在本地目标库

grant imp_full_database to 本地端目标库用户名;


3、启动导入

impdp 本地目标库用户/本地目标库密码 job_name=任务名称 parallel=32 schemas=远端源库schema remap_schema=源schema:目标schema network_link=前面创建的数据库连接 TRANSFORM=SEGMENT_ATTRIBUTES:n logfile=创建的目录:日志文件名.log

/uploads/answer/20210506/56abd7752fd6451ecc8a99713fddfcfe.png


ps.同时也可以单表处理去掉schemas参数,改为 tables=源库schema名.表名




查询系统中存在的DBlink


select owner,object_name from dba_objects where object_type='DATABASE LINK';#查询出dba用户下的dblink

select * from user_objects t where t.object_type='DATABASE LINK'   #查询当前用户下的dblink

要回复问题请先登录注册