美文网首页
oracle数据泵对数据导入导出

oracle数据泵对数据导入导出

作者: 秦时的明月夜 | 来源:发表于2019-08-05 21:58 被阅读0次

    1、expdpimpdp 只能在服务端使用 (区别于impexp客户端服务端都可以)
    2、exp不能导出空表(需要手动修改空表设置) expdp 可以
    3、imp只能使用exp 的文件 ,impdp只能使用expdp 的文件。

    数据泵导入导出数据

    目录创建

    创建目录

    create directory dump_dir as '/home/oracle';
    create or replace directory dump_dir as '/home/oracle';
    drop directory DUMP_DIR;
    

    查看目录

    col owner for a6
    col DIRECTORY_NAME for a20
    col DIRECTORY_PATH for a30
    ##格式化 可有可无(sqlplus时候才用,否则显示非常不友好)
    select * from dba_directories;
    

    授权

    --授权
    grant read,write on directory DUMP_DIR to 用户;
    

    expdp导出数据

    1)导出用户
    expdp system/manager@orcl schemas=system dumpfile=expdp.dmp directory=dump_dir compression=all version=11.2.0.1.0;
    
    2)导出表
    expdp system/manager@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir;
    
    3)按查询条件导
    expdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp tables=emp query='where deptno=20';
    
    4)按表空间导
    expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=temp,example;
    
    5)导整个数据库
    expdp system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y;
    
    

    参数说明

    COMPRESSION
    ALL :元数据和表数据都进行压缩,导出文件是最小的,耗时也最长。
    DATA_ONLY :仅对表数据进行压缩,对于大数据量的导出效果明显,会比 METADATA_ONLY方式得到更小的压缩文件。
    METADATA_ONLY :仅对元数据进行压缩,而不会对表数据进行压缩,这种压缩执行后效果一般不是很明显,不过速度比较快。
    NONE:不进行任何的压缩,导出后的文件也是最大的。
    DEFAULT :默认方式,即不指定COMPRESSION参数,会采用默认的压缩方式METADATA_ONLY
    VERSION
    查看oracle数据库版本
    select * from v$version;
    指定导出时数据库的版本 用于兼容,否则在导入低版本时,会不让导入。

    impdp导入数据

    1)导入用户(从用户abc导入到用户def)
    impdp abc/abc@orcl directory=dump_dir dumpfile=expdp.dmp schemas=def;
    
    2)导入表(从abc用户中把表dept和emp导入到def用户中)
    impdp abc/abc@orcl directory=dump_dir dumpfile=expdp.dmp tables=abc.dept,abc.emp remap_schema=abc:def;
    
    3)导入表空间
    impdp abc/abc@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example;
    
    4)导入数据库
    impdb abc/abc@orcl directory=dump_dir dumpfile=full.dmp full=y;
    
    5)追加数据
    impdp abc/abc@orcl directory=dump_dir dumpfile=expdp.dmp schemas=abc table_exists_action=append
    
    
    

    REMAP_SCHEMA=abc:def
    abc用户替换成def用户
    table_exists_action选项:
    skip:是如果已存在表,则跳过并处理下一个对象;
    append:是为表增加数据;
    truncate:是截断表,然后为其增加新数据;
    replace:是删除已存在表,重新建表并追加数据

    相关文章

      网友评论

          本文标题:oracle数据泵对数据导入导出

          本文链接:https://www.haomeiwen.com/subject/xxivdctx.html