利用10g的数据泵复制schema说起来很简单:
expdp schema-->impdp schema
其实impdp提供了一个更好的方式对schema来操作,可以避免expdp成dump file,而直接Impdp,可以实现:
1)复制某个数据库中的一个schema到另一个数据库中。
2) 在同一个数据库中把一个schema中所有的对象复制到另一个schema中。
下面只演示了第二种(第一个也原理相同):
1.创建连接自己的database link:
C:\Documents and Settings\wyx>sqlplus / as sysdba
SQL> create public database link system_self connect to system identified by "system" using 'orcl';
数据库链接已创建。
2.复制hr schema到test schema:
C:\Documents and Settings\wyx>impdp system/system network_link=system_self schemas=hr remap_schema=hr:test
如果是从一个数据库复制一个schema到另一个数据库的同名schema则可以使用类似命令:
impdp system/system network_link=system_self schemas=hr
Import: Release 10.2.0.1.0 - Production on 星期日, 01 6月, 2008 20:56:51
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** network_link=system_self schemas=hr remap_schema=hr:test
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 512 KB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
. . 导入了 "TEST"."COUNTRIES" 25 行
. . 导入了 "TEST"."DEPARTMENTS" 27 行
. . 导入了 "TEST"."EMPLOYEES" 107 行
. . 导入了 "TEST"."EMPTT" 1 行
. . 导入了 "TEST"."JOBS" 19 行
. . 导入了 "TEST"."JOB_HISTORY" 10 行
. . 导入了 "TEST"."LOCATIONS" 23 行
. . 导入了 "TEST"."REGIONS" 4 行
处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已于 20:57:30 成功完成
3.修改test用户的密码,并检查:
C:\Documents and Settings\wyx>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 6月 1 21:49:19 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> alter user test identified by test;
用户已更改。
SQL> conn test/test
已连接。
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
REGIONS TABLE
LOCATIONS TABLE
DEPARTMENTS TABLE
JOBS TABLE
EMPLOYEES TABLE
JOB_HISTORY TABLE
EMPTT TABLE
EMP_DETAILS_VIEW VIEW
已选择9行。