• Oracle expdp 导出和 impdp 导入


    一、exp 导出和 imp 导入

    -- exp导出:
    exp middb/middb@middb12c
    file=/data/XXX.dmp            -- 导出路径
    full=y                -- 导出全库
    owner=(middb,ewdb)         -- 导出库
    tables=(table1,table2)           -- 导出表
    query=" where filed1 like '00%'"    -- 字段filed1以"00"打头的数据导出
    compress=y             -- 压缩
    indexs=y                -- 导出索引


    -- imp导入:
    imp middb/middb@middb12c
    file=/data/XXX.dmp
    log=/data/XXX.log
    tables=table1              --  导出XXX.dmp中的table1
    full=y
    ignore=y


    二、expdp 导出和 impdp 导入:

    -- expdp导出:
    expdp middb/middb@middb12c
    directory=dp             -- 指定转储文件和日志文件所在的目录,创建语句 create directory dp as '/home/data/'
    content=all             -- content={ all | data_only | metadata_only } 当设置 content 为 all 时将导出对象定义及数据,为 data_only 时导出对象数据,为 metadata_only 时导出对象定义
    dumpfile=middb.dmp          -- 用于指定转储文件的名称,默认名称为 expdat.dmp
    logfile=middb.log           -- 指定导出日志文件文件的名称,默认名称为 export.log
    exclude=trigger,index         -- 该选项用于指定执行操作时释放要排除对象类型或相关对象
    tablespace=tbs_s01           -- 导出表空间
    schemas=(middb,ewdb)        -- 导出用户模式
    tables=(table1,table2)        -- 导出表  
    query="where rownum<11"        -- 过滤条件 (在导出为tables的时候使用) shell中:query=""where $time_col >= to_date('$start_date','yyyymmdd') and $time_col < to_date('$end_date','yyyymmdd')""
    parallel=8               -- 建议parallel设置不要超过cpu*2
    cluster=n                -- 使用 parallel 时使用
    compression=all             -- 压缩

     

    -- impdp导入
    impdp middb/middb@middb12c
    directory=dp             
    dumpfile=middb.dmp
    logfile=middb.log
    schemas=XXX,XXX
    table_exists_action=append

    ##eg:
    1.expdp "/ as sysdba" directory=DP content=all dumpfile=s05_%U.dp logfile=s05_exp.log parallel=4 cluster=n schemas=S05 version=12.1.0.2.0
    2.scp
    3.impdp "/ as sysdba" directory=DP content=all dumpfile=s05_%U.dp logfile=s05_imp.log parallel=4 cluster=n schemas=S05 remap_tablespace=tbs_bigwaste:tbs_s05 remap_schema=sec:secooler


    expdp c##ogg/Welcome1324@db_clear directory=DP content=all dumpfile=s06_`date '+%Y%m%d'`.dp logfile=s06_exp_`date '+%Y%m%d'`.log parallel=2 cluster=n exclude=trigger,index tables=scetc.TBL_GBTOLLLANEDIC

    impdp s06/s06@orcl19c directory=dump content=all dumpfile=s06_20200312.dp logfile=s06_imp_`date '+%Y%m%d'`.log parallel=2 cluster=n remap_tablespace=TBSD_DIC:tbs_s06,TBSI_BASE:tbs_s06 REMAP_SCHEMA=scetc:s06

    ==================================================================================
    四、进度查询和监控

    但领导问你导数进度时,会不会手忙脚乱的,无从查起?当然,作为一个负责任的DBA,实时的知道导出导入的进度,是必须掌握的技能。

    1、 查看数据泵作业的运行情况

    select owner_name owr,job_name jbn,operation ope,job_mode jbm,state,degree, attached_sessions atts,datapump_sessions dats from dba_datapump_jobs;

    select sid, serial#,session_type from v$session s, dba_datapump_sessions d where s.saddr = d.saddr;

    2、监控数据泵的逻辑备份程度

    SELECT sid, serial#, context, sofar, totalwork, ROUND(sofar/totalwork*100,2) "%_COMPLETE"
    FROM v$session_longops WHERE totalwork != 0 AND sofar <> totalwork;

    SID SERIAL# CONTEXT SOFAR TOTALWORK %_COMPLETE
    103 89 0 54 7 83.33

    3、查看数据泵的详细进度

    expdp etl/etl@orcl19c attach= SYS_EXPORT_TABLE_01

    Import> status

    Job: SYS_IMPORT_TABLE_01
    Operation: IMPORT
    Mode: TABLE
    State: EXECUTING
    Bytes Processed: 1,364,791,288
    Percent Done: 99
    Current Parallelism: 2
    Job Error Count: 0
    Dump File: /opt/datadump/expdp_testdump_20181218_01.dmp

    ===================================================================================
    一、expdp状态查看及中断方法
    1、查询expdp的job的名字
    SQL> select job_name from dba_datapump_jobs;
    JOB_NAME
    ------------------------------
    SYS_EXPORT_SCHEMA_01
    2、查询expdp状态
    $ expdp test01/oracle_123 attach=SYS_EXPORT_SCHEMA_01
    3、停止job
    Export> stop_job
    提问是否停止job,输入yes
    Export> kill_job
    提问是否杀掉job,输入yes
    到这步,expdp就停止了。
    二、impdp状态查看及中断方法
    1、查看job的名字
    SQL> select job_name from dba_datapump_jobs;
    JOB_NAME
    ------------------------------
    SYS_IMPORT_SCHEMA_01
    2、查看impdp状态
    $impdp system/oracle attach=SYS_IMPORT_SCHEMA_01
    3、停止impdp
    Import>stop_job
    提问是否停止job,输入yes
    Import>kill_job
    提问是否杀掉job,输入yes

  • 相关阅读:
    python常用模块
    清除在Windows下访问共享文件夹时的登录信息
    CentOS 6.3下Samba服务器的安装与配置
    textarea定位光标
    js中apply方法的使用
    js call方法
    linux 安装svn,并设置钩子来同步更新
    mysql给root开启远程访问权限,修改root密码
    在VMware的Linux系统上安装Redis
    (转)NoSQL——Redis在win7下安装配置的学习一
  • 原文地址:https://www.cnblogs.com/smandar/p/13922584.html
Copyright © 2020-2023  润新知