利用DBLink实现数据泵远程导出数据
在数据库B服务器上利用数据泵导出数据库A中数据的简单实现。
前提是2个数据的版本要一致。
1.数据库B上(以管理员身份)创建导出使用的用户
SQL> create user daochuB identified by daochuB;
2.1授予连接角色,资源角色给用户
SQL> grant connect,resource to daochuB;
2.2授权创建数据链接
SQL> grant create table,create database link to daochuB;
或者直接给DBA角色
SQL> grant dba to daochuB;
3.数据库B上创建存放导出数据目录
SQL> create directory dbdata AS 'D:\export';
4.给用户授予目录读写权限
SQL> grant read,write on directory dbdata to daochuB;
5.以daochu身份创建DBLINK
SQL> create database link baklink
connect to daochuA identified by "daochuA"
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)';
注意:
这里使用的用户名密码是远程数据库中的用户名和密码,导出使用的是这个用户,它必须有导出的权限,
如果没有须在数据库A中授权;
在数据库A中为用户daochuA授导出权限
SQL> grant exp_full_database to daochuA;
6.执行导出(导出数据库A中用户'daochu'的数据)
CMD>expdp daochuB/daochuB network_link=baklink schemas=daochuA directory=dbdata dumpfile=exp%u.dmp FILESIZE=32G;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。