zoukankan      html  css  js  c++  java
  • oracle 基础知识(十)----exp/imp--->>>>>expdp/impdp

    一,简介

      存活下来的远古级别的导入导出软件exp/imp  ,软件多数使用于oracle 9i 之前 到了10g以后基本全面被数据库泵(Data Pump)取代,即expdp/impdp.本文会分别介绍这几款软件使用.

    二,exp/imp

      1,exp 使用参数说明

    --------括号内为默认值------
    USERID            用户名/口令      如: USERID=duanl/duanl      
    FULL               导出整个数据库 (N)
    BUFFER            数据缓冲区的大小         
    OWNER            所有者用户名列表,你希望导出哪个用户的对象,就用owner=username
    FILE                输出文件 (EXPDAT.DMP)    
    TABLES            表名列表 ,指定导出的table名称,如:TABLES=table1,table2
    COMPRESS         导入一个extent (Y)   
    RECORDLENGTH     IO 记录的长度
    GRANTS            导出权限 (Y)            
    INCTYPE            增量导出类型
    INDEXES            导出索引 (Y)           
    RECORD            跟踪增量导出 (Y)
    ROWS               导出数据行 (Y)        
    PARFILE            参数文件名,如果你exp的参数很多,可以存成参数文件.
    CONSTRAINTS        导出约束 (Y)    
    CONSISTENT         交叉表一致性
    LOG                屏幕输出的日志文件    
    STATISTICS          分析对象 (ESTIMATE)
    DIRECT             直接路径 (N)              
    TRIGGERS          导出触发器 (Y)
    FEEDBACK       显示每 x 行 (0) 的进度
    FILESIZE         各转储文件的最大尺寸
    QUERY           选定导出表子集的子句
    下列关键字仅用于可传输的表空间
    TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
    TABLESPACES                 将传输的表空间列表            

        例:

        全库导出:

     exp system/123456@oracle01 file=/oradata/back/full.dmp full=y

          按用户导出:

     exp system/123456  file=/oradata/back/test.dmp owner=kingle

          按表导出:

     exp system/123456  file=/oradata/back/test.dmp owner=t,t1

      2,imp 说明

    USERID    用户名/口令           
    FULL      导入整个文件 (N)
    BUFFER    数据缓冲区大小         
    FROMUSER  所有人用户名列表
    FILE      输入文件 (EXPDAT.DMP)    
    TOUSER    用户名列表
    SHOW      只列出文件内容 (N)
    TABLES    表名列表
    IGNORE    忽略创建错误 (N)    
    RECORDLENGTH   IO 记录的长度
    GRANTS    导入权限 (Y)          
    INCTYPE   增量导入类型
    INDEXES   导入索引 (Y)          
    COMMIT    提交数组插入 (N)
    ROWS      导入数据行 (Y)       
    PARFILE   参数文件名
    LOG       屏幕输出的日志文件   
    CONSTRAINTS   导入限制 (Y)
    DESTROY   覆盖表空间数据文件 (N)
    INDEXFILE 将表/索引信息写入指定的文件
    SKIP_UNUSABLE_INDEXES   跳过不可用索引的维护 (N)
    ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
    FEEDBACK  显示每 x 行 (0) 的进度
    TOID_NOVALIDATE   跳过指定类型 id 的校验
    FILESIZE          各转储文件的最大尺寸
    RECALCULATE_STATISTICS 重新计算统计值 (N)
    下列关键字仅用于可传输的表空间
    TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
    TABLESPACES          将要传输到数据库的表空间
    DATAFILES            将要传输到数据库的数据文件
    TTS_OWNERS           拥有可传输表空间集中数据的用户

        例:

      全库导入:

    imp system/123456@oracle01 file=/oradata/back/full.dmp full=y

      按用户导入:

    imp system/123456  file=/oradata/back/test.dmp fromuser=kingle touser=kingle

      按表导入:

    imp system/123456  file=/oradata/back/test.dmp owner=t

    二,expdp/impdp(数据泵)

      1,数据泵

        数据泵(DATA PUMP)是一种在数据库之间或在数据库与操作系统之间高速传输数据的技术。数据泵工具运行在服务器,数据库管理员需要指定数据库目录来保存转储的数据。

        优势:

    1. 支持并行处理导入、导出任务
    2. 支持暂停和重启动导入、导出任务
    3. 支持通过Database Link的方式导出或导入远端数据库中的对象
    4. 支持在导入时通过Remap_schema、Remap_datafile、Remap_tablespace几个参数实现导入过程中自动修改对象属主、 数据文件或数据所在表空间。
    5. 导入/导出时提供了非常细粒度的对象控制。通过Include、Exclude两个参数,甚至可以详细制定是否包含或不包含某个对象

      2,expdp

        导出就是数据库的逻辑备份,实质是读取一个数据库记录并将这个记录集写入一个文件(扩展名通常是dmp),这些记录的导出与物理位置无关

        实例:

        按用户导出:

    expdp system/123456 schemas=test dumpfile=/oradata/backup/test.dmp DIRECTORY=dir;

        并行进程parallel

    expdp system/123456 schemas=test dumpfile=/oradata/backup/test2.dmp DIRECTORY=dir;

        按照表名导出:

    expdp test/123456 TABLES=t dumpfile=test3.dmp DIRECTORY=dir;

        按条件导出:

    expdp test directory=dir dumpfile=test4.dmp Tables=t query='WHERE id=1';

        按表空间导出:

    expdp system/123456 DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=users;

        全库导出:

    expdp system/oracle^Cumpfile=full.dump full=y logfile=full.log directory=expdp

      3,impdb

        导入即数据库的逻辑恢复,实质是读取被导出的二进制转储文件并将其恢复到数据库

        导到指定用户:

    impdp system/123456 DIRECTORY=dir DUMPFILE=kingle.dmp SCHEMAS=kingle;

        导入表空间

    impdp system/123456 DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=users;

        导入数据库

     impdb system/123456  DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

      

  • 相关阅读:
    转载 :sql server 2005 无法删除数据库 "#Test",因为该数据库当前正在使用
    leetcode 1
    leetcode 2
    leetcode 242
    leetcode171
    leetcode 122
    leetcode 100
    算法:号码转换问题
    2014年10月29日 00:23 长沙
    算法:poj1066 宝藏猎人问题。
  • 原文地址:https://www.cnblogs.com/kingle-study/p/10449296.html
Copyright © 2011-2022 走看看