利用数据泵导出远程数据到本地数据库
利用数据泵导出远程数据到本地数据库
远程数据库用户test下面有一张t表
- SQL> show user
- USER 为 "TEST"
- SQL> select * from tab;
- TNAME TABTYPE CLUSTERID
- ------------------------------ ------- ----------
- T TABLE
- SQL> ! cat /etc/hosts
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 linux localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
- 10.10.10.7 linux localhost.localdomain localhost
- SQL> show user
- USER 为 "ING"
- SQL> select * from tab where tname = 'T';
- 未选定行
- SQL> ! cat /etc/hosts
- # Do not remove the following line, or various programs
- # that require network functionality will fail.
- 127.0.0.1 linux localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
- 10.10.10.8 linux localhost.localdomain localhost
- 10.10.10.8 linux
- 10.10.10.8 localhost
现在要做的就是把用户test下面的所有对象导入到用户ing下面。
1.创建一个数据库链接对象,链接到10.10.10.7的数据库服务器。
- SQL> conn system/Oracle
- 已连接。
- SQL> show user
- USER 为 "SYSTEM"
- SQL> create database link link7 connect to test identified by test using '10.10.10.7/orcl';
- 数据库链接已创建。
- SQL> select count(*) from test.t@link7;
- COUNT(*)
- ----------
- 50027
2.远程数据10.10.10.7的用户test必须具有exp_full_database权限。
- SQL> conn /as sysdba
- 已连接。
- SQL> show user
- USER 为 "SYS"
- SQL> grant exp_full_database to test;
- 授权成功。
3.在10.10.10.8服务器上面执行导出。
- [oracle@linux exp]$ expdp system/oracle@orcl network_link=link7 directory=exp schemas=test
- Export: Release 10.2.0.4.0 - Production on 星期三, 05 10月, 2011 19:48:57
- Copyright (c) 2003, 2007, Oracle. All rights reserved.
- 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- 启动 "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/********@orcl network_link=link7 directory=exp schemas=test
- 正在使用 BLOCKS 方法进行估计...
- 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
- 使用 BLOCKS 方法的总估计: 6 MB
- 处理对象类型 SCHEMA_EXPORT/USER
- 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
- 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
- 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
- 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
- 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
- . . 导出了 "TEST"."T" 4.667 MB 50027 行
- 已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_SCHEMA_01"
- ******************************************************************************
- SYSTEM.SYS_EXPORT_SCHEMA_01 的转储文件集为:
- /u01/exp/expdat.dmp
- 作业 "SYSTEM"."SYS_EXPORT_SCHEMA_01" 已于 19:50:10 成功完成
4.在10.10.10.8服务器上面执行导入。
- [oracle@linux exp]$ impdp system/oracle@orcl directory=exp dumpfile=expdat.dmp remap_schema=test:ing
- Import: Release 10.2.0.4.0 - Production on 星期三, 05 10月, 2011 19:51:24
- Copyright (c) 2003, 2007, Oracle. All rights reserved.
- 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- 已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
- 启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/********@orcl directory=exp dumpfile=expdat.dmp remap_schema=test:ing
- 处理对象类型 SCHEMA_EXPORT/USER
- ORA-31684: 对象类型 USER:"ING" 已存在 --这里没有此用户会自动创建。
- 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
- 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
- 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
- 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
- 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
- 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
- . . 导入了 "ING"."T" 4.667 MB 50027 行
- 作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 1 个错误 (于 19:51:28 完成)
5.检查10.10.10.8上面的用户ing。
- SQL> conn ing/ing
- 已连接。
- SQL> show user
- USER 为 "ING"
- SQL> select * from tab where tname = 'T';
- TNAME TABTYPE CLUSTERID
- ------------------------------ ------- ----------
- T TABLE
- SQL> select count(*) from t;
- COUNT(*)
- ----------
- 50027
评论暂时关闭