expdp通过dblink远端导出

发布时间 2023-03-23 10:38:25作者: 小狍

sqlplus / as sysdba;
1、创建本地用户
create user xxx identified by xxx default tablespace NNC_DATA01
2、授权本地用户
grant connect,resource,dba to xxx;
3、本地用户登录本地数据库,创建远程连接
create public database link xxx connect TO 远程数据库用户 IDENTIFIED BY 远程数据库用户密码 using '远程数据库IP:端口/数据库名称';
create public database link xxx connect TO 远程数据库用户 IDENTIFIED BY 远程数据库用户密码 using 'xxx'; //使用TNS名称
create public database link 1205_link connect to xxx identified by xxx using '(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX )(PORT = XXX)))(CONNECT_DATA =(SID = XXX)))';
4、本地用户登录本地数据库,创建本地备份目录
create directory backup xx as 'xxx'
5、登录具有权限的本地用户,为新建本地用户赋予备份目录的读写权限 dba不需要
grant read,write on directory backup to 本地数据库用户
6、登录远程数据库,给远程数据库用户授予导出权限
GRANT EXP_FULL_DATABASE TO 远程数据库用户;
7、本地执行导出命令
expdp userid=本地用户/本地密码 directory=backup dumpfile=日期dmp logfile=expdp.log schemas=远程数据库用户 network_link=xxx;
8、查看全部用户dblink
SELECT * FROM DBA_DB_LINKS;
9、使用删除dblink
select * from 表名@link_name;
drop public database link link_name;