oracle数据泵expdp和impdp使用

expdp和impdp优缺点

优点:

expdp/impdp命令,我们也通常称之为“数据泵(DataPump)”,它具有以下优点:

l 在性能上,具有并行处理能力,因此可以获得性能上的优势,加快导入导出速度。

l 在功能上,

——为数据及数据对象提供更细微级别的选择性

——可以设定数据库版本号(主要是用于兼容老版本的数据库系统)

——预估导出作业所需要的磁盘空间

——支持导入时重新映射功能(即将对象导入到新的目标数据文件,架构,表空间等)

——支持元数据压缩及数据采样

缺点:

数据泵是服务端的实用程序,只能在数据库服务器上执行,不能在客户端执行。

准备操作

1.查看管理员目录

select * from dba_directories;

2.创建目录,用于数据的导出路径

    在服务器上创建目录:/home/oracle/DATA_DIR

    create directory DATA_DIR   as '/home/oracle/DATA_DIR';

3.给目录赋权用户

    grant read,write on directory DATA_DIR to c##scott;

导出数据

 1)按用户导

expdp c##scott/tiger@orcl schemas=c##scott dumpfile=scott_user.dmp DIRECTORY=DATA_DIR;

2)并行进程parallel

expdp c##scott/tiger@orcl DIRECTORY=DATA_DIR dumpfile=scott_user.dmp parallel=40 job_name=c##scott;

3)按表名导

expdp c##scott/tiger@orcl TABLES=emp dumpfile=emp.dmp DIRECTORY=DATA_DIR;

4)按查询条件导

 expdp c##scott/tiger@orcl directory=DATA_DIR dumpfile=SALGRADE.dmp tables=salgrade query=salgrade:'WHERE hisal>1400';

5)按表空间导

expdp c##dm_ca/dm_ca DIRECTORY=DATA_DIR DUMPFILE=casdb.dmp TABLESPACES=casdb;

6)导整个数据库

expdp system/admin DIRECTORY=DATA_DIR DUMPFILE=full.dmp FULL=y;

导入数据

当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式:

    a.忽略(SKIP,默认行为);
    b.在原有数据基础上继续增加(APPEND);
    c.先DROP表,然后创建表,最后完成数据插入(REPLACE);
    d.先TRUNCATE,再完成数据插入(TRUNCATE)。

1)导到指定用户下

impdp system/admin DIRECTORY=DATA_DIR DUMPFILE=scott_user.dmp SCHEMAS=c##scott TABLE_EXISTS_ACTION=REPLACE;

2)改变表的owner

impdp c##dm_ca/dm_ca@orcl DIRECTORY=DATA_DIR DUMPFILE=SALGRADE.dmp  REMAP_SCHEMA=c##scott:c##dm_ca  remap_tablespace=USERS:casdb;

 3)导入表空间

impdp c##dm_ca/dm_ca DIRECTORY=DATA_DIR  DUMPFILE=casdb.dmp TABLESPACES=casdb;

4)导入数据库

impdp system/admin  DIRECTORY=DATA_DIR DUMPFILE=full.dmp FULL=y;

原文地址:https://www.cnblogs.com/hello-wei/p/10174694.html