expdp 多实例备份 compression=all

压缩比例4:1 
-rw-r----- 1 oracle oinstall 2109878272 12月 25 11:52 b.dmp
-rw-r----- 1 oracle oinstall  514363392  12月 25 11:53 a.dmp

---------------------------expdp.sh

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.2.0/db_1; export ORACLE_HOME
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin

cat > /tmp/sidlist << EOF
..

..


EOF

cat > /tmp/expdp.par << EOF
FULL=Y
EXCLUDE=SCHEMA:"IN ('WMSYS', 'OUTLN','APEX_030200','OLAPSYS','ORDDATA')"
EOF

for sid in `cat /tmp/sidlist`
do
export ORACLE_SID=$sid
expdp xx/xx  directory=expdpdir  parfile=/tmp/expdp.par dumpfile=$sid--`date +%Y%m%d`.dmp logfile=$sid--`date +%Y%m%d`.log   compression=all
done

find   -mtime +10 -name "*.dmp" -exec rm -rf {} \;
 

------------------

当做EXPDP 逻辑备份时常用到FULL=Y 的全库备份,但是有些schema不想每次都备份如一些自带的schemas(如APEX_030200),这时可以很方便的排除,下面是命令行时的语法(on linux)

[oracle@db231 ~]$ expdp system/oracle directory=DATAPUMP full=y EXCLUDE=SCHEMA:\"IN \'WMSYS\',\'OUTLN\',\'APEX030200\',\'OLAPSYS\',\'ORDDATA\'\'WMSYS\',\'OUTLN\',\'APEX030200\',\'OLAPSYS\',\'ORDDATA\'\" EXCLUDE=TABLE:"\IN (\'NAME\', \'ADDRESS\' \)\" dumpfile=test.dump

或者使用parameter file

...

FULL=Y

EXCLUDE=SCHEMA:"IN ('WMSYS', 'OUTLN','APEX_030200','OLAPSYS','ORDDATA')"

EXCLUDE=TABLE:"IN ('NAME', 'ADDRESS')"

...

Tip:

table 参数里的表名是不可以带OWNER的。

11G impdp的另外一个需求 IMPDP 导入几张表并改名使用tables=.和remap_table

impdp xx/xx direcore=xx dumpfile=xx tables=owner.tname remap_table=tname:tname_new

 

expdp通常是用法就不过多介绍了,这里主要给大家介绍一下parfile的一下用法,避免不同操作系统下转义字符不同所带来的影响

1、单独导出某些表时

expdp \'/ as sysdba\' parfile=table.par

table.par内容如下

INCLUDE = TABLE:"IN ('EMP','DEPT')"

或者不使用include时,也可以直接使用tables参数

table.par内容如下

tables= EMP, DEPT

2、排除某些表时

expdp \'/ as sysdba\' schemas=usera  parfile=exclude.par

exclude.par内容如下

exclude=TABLE:"IN('tablea','tableb','tablec')"

或者不使用parfile时,一些操作系统下可能的语法是这样的

expdp \'/ as sysdba\' schemas=usera  EXCLUDE=TABLE:\"IN\(\'tablea\' ,\'tableb\',\'tablec\'\)\"

3、排除某些字符开头的表时

impdp时排除PM_RAW开头表

impdp user/passwd directory=dump parfile=para.par dumpfile=dump.dmp logfile=dump.log

parfile内容如下:

exclude=statistics,TABLE:"LIKE 'PM_RAW%'",TABLE:"LIKE 'PM_HOU%'",TABLE:"LIKE 'PM_DAY%'",TABLE:"LIKE 'PT_%'"

4、parfile配合query参数同时使用时

利用parfile=p.par避免转义字符问题,下面内容都是parfile,expdp不单独写了

单个表

tables=taa query="where tablespace_name='SYSTEM'"

多个表

tables=taa,tee QUERY=taa:"where tablespace_name='SYSTEM'",tee:"where index_type='LOB'"

或者增加括号

tables=(taa,tee) QUERY=(taa:"where tablespace_name='SYSTEM'",tee:"where index_type='LOB'")


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值