江湖开发者 | Java粉
网站地图
首页> 数据库> Oracle Expdp、Impdp 进行数据迁移的 几点注意事项
2017
04-18

Oracle Expdp、Impdp 进行数据迁移的 几点注意事项

Oracle Expdp、Impdp 进行数据迁移的 几点注意事项

1.根据用户来进行迁移
只需要把相关的表空间创建好就可以了。不需要创建用户,数据泵在导入的过程中会自动的创建相关的用户,及赋权,即使我们不知道用户的密码,数据泵也能把原始的密码导入。这个可以简化我们的工作。

如:

expdp directory=backup dumpfile=dave.dmp logfile= dave.log schemas= user1,user2,user3;

impdp directory=backup dumpfile=dave.dmp logfile=dave.log schemas= user1,user2,user3;

2.使用数据泵时,如果使用它的并行特性,那么并行数就要和对应的dump 文件数一致。
如:

 expdp full=ydirectory=backup dumpfile=dave_%U.dmp parallel=4

 那么expdp将为parallel 创建4个文件:dave_01.DMP,dave _02.DMP,dave _03.DMP,dave _04.DMP。 每个进程一个文件。 这样的话,每个文件的大小会因进程而不同。 可能某个文件很大,某个文件却很小。 要解决这个问题,就是设置filesize 参数。 来指定每个文件的最大值。 这样当一个文件达到最大值的之后,就会创建一个新的文件。

如:

expdp full=ydirectory=dump dumpfile=dave_%U.dmp parallel=4 filesize=1G

导出的dump文件和paralle有关系,那么导入也有关系。 paralle要小于dump文件数。 如果paralle 大于dump文件的个数,就会因为超过的那个进程获取不到文件,就不能对性能提高。

3.在迁移中,注意2种类型的对象
一般来说,在迁移之前要注意一下信息:

(1)待迁移对象的总数和具体信息

SQL>select count(*) from all_objectswhere owner in ('user1',’user2’)

SQL> select object_type,count(1) as"NUM" from all_objects where owner in ('user1’,’user2’) group byobject_type;

OBJECT_TYPE                NUM

------------------- ----------

SEQUENCE                    85

PROCEDURE                   74

PACKAGE                      6

PACKAGE BODY                 6

TRIGGER                      5

TABLE                      219

INDEX                      229

SYNONYM                      1

VIEW                         4

FUNCTION                     3

TYPE                         2

11 rows selected.

(2)无效对象信息

SQL> select count(*) from all_objectswhere owner in ('user1','user2') and status='INVALID';

SQL> select owner,object_name fromall_objects where owner in ('user1','user2') and status='INVALID';

 迁移完成后,比较一下迁移前后的对象数和无效对象数。这里要注意的2种对象就是DBLINK 和 JOB。在我的测试中,这2类对象基本是不会自动导入,需要在导入完成后,手工的重新创建这些对象。

查看DBLINK 信息:

SQL> select owner,object_name,object_type from dba_objects where object_type='DATABASELINK';

查看JOB 信息:

SQL>select count(*) from dba_jobs where schema_user in ('user1',’user2’);




Java江湖     
全部评论:

表情验证码,看不清楚,换一张

随机文章

云标签

公众号

微信

分享:分享我们的知识;专注:专注个人技术的提升;