oracle10G 数据库 总共使用200G 有一张分区表 占 80G (不需要备份此表)目前要进行exp导出怎么写EXP导出语句呢?目前方案:按指定表进行导出。
问题:存储过程 job 等还需另外导出各位大侠有什么解决方案么?

解决方案 »

  1.   

    已经想到一个解决方案了步骤1 EXP导出该用户所有对象(ROWS=N)步骤2 EXP导出该用户指定表的数据
      

  2.   

    可以 第二次imp的时候加个参数 ignore=y
      

  3.   

    -- expdp 更灵活:(可以直接排除不要导出的表名)
      

  4.   

    - *4) EXPDP排除部分对象的导出
    -- 前面提到在EXP中排除部他表的导出一直是比较困难的,但是在Oracle 10g中,Oracle的EXPDP增加了这个功能。-- 在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数:EXCLUDE               排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
    FILESIZE              以字节为单位指定每个转储文件的大小。
    FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。
    FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。
    FULL                  导出整个数据库 (N)。
    HELP                  显示帮助消息 (N)。
    INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。-- 这两个参数分别用于指定排除或包含特定类型的数据,但是文档中介绍的命令格式存在问题,这两个参数的正确用法是:
    EXCLUDE = object_type[:name_clause] [, ...]
    INCLUDE = object_type[:name_clause] [, ...]expdp <other_parameters> SCHEMAS=scott EXCLUDE=SEQUENCE, TABLE:"IN ('EMP', 'DEPT')"
    impdp <other_parameters> SCHEMAS=scott INCLUDE=FUNCTION, PACKAGE, PROCEDURE, TABLE:"='EMP'"-- 其中,object_type可以同时定义多个对象类别,name_clause语句可以定义多个对象列表,通过示例可以很好地了解这两个参数的用法。-- 但是有了这些还不够,由于命令中包含了多个特殊字符,在不同操作系统下需要通过转义字符才能使以上命令顺利执行,下面通过实例来介绍一下这两个参数的使用。-- 以下是Solaris上Exclude参数的使用范例,需要通过转义字符“\”来将特殊字符转义:
    bash-2.03$ expdp \'/ as sysdba\' directory=DATA_PUMP_DIR \
    schemas=rman dumpfile=expdp_rman.dmp EXCLUDE=TABLE:\"IN\(\'DB\',\'TS\'\)\"-- expdp \'/ as sysdba\' directory=EXPDIR schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE:\"IN\(\'EMP2\',\'EMP_BAK\'\)\"
    schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE
    ......-- 当然,最简单的方式仍然是将参数写入一个参数文件来调用,这样就可以避免复杂的参数转义,来看一下以下一个范例,首先定义一个参数文件:
    bash-2.0.3$ cat parfile.par
    directory=DATA_PUMP_DIR
    schemas=rman
    dumpfile=expdp_rman.dmp
    INCLUDE=TABLE:"IN('DB','TS')"-----------------------
    schemas=scott
    dumpfile=expdp_scott2.dmp
    logfile=expdp_scott2.log
    INCLUDE=TABLE:"IN('EMP','DEPT','SALGRADE')"
    -- 然后用这个参数文件执行导出:
    bash-2.0.3$ expdp \'/ as sysdba\' PARFILE=parfile.par......-- expdp \'/ as sysdba\' PARFILE=parfile.par-- 同样,EXPDP也支持通配符匹配的导出操作,例如,如下参数文件将导出表名中包含E字母的所有表:
    bash-2.03$ cat parfile.par
    directory=DATA_PUMP_DIR
    schemas=rman
    dumpfile=expdp_rman.dmp
    INCLUDE=TABLE:"LIKE '%E%'"-- 看一下执行过程:
    bash-2.03$ expdp \'/as sysdba\' PARFILE=parfile.par
      

  5.   

    INCLUDE=TABLE:"LIKE '%E%'"
    -- 可以改成:
    EXCLUDE=TABLE:"IN('YOUR_TB')"
      

  6.   

    EXPDP  太帅了  我去研究下  呵呵