1.1需求
数据库未开启归档,表的数据无需备份,但是表结构需要进行备份,否则DB出现介质问题需要恢复,使用历史环境会缺很多表 or 字段影响灾难恢复后业务恢复时间。
本次采用的是使用EXPDP逻辑导出,只导出用户结构定义表结构,索引结构,存储过程等,不导出数据。
1.2脚本
$ cat expdp.sh #!/bin/bash DATE=`date +%Y%m%d%H%M%S` export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db export ORACLE_SID=xxa2 export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$ORACLE_BASE/common/oracle/bin nohup expdp "/ as sysdba" DIRECTORY=DUMP DUMPFILE=dump$DATE%U.dmp SCHEMAS=USER1,USER2,USER3 content=metadata_only logfile=dump$DATE.log & >/u01/soft/expdp_dump/nohup.out find /u01/soft/expdp_dump -name "*.dmp" -mtime +30 -exec rm {} ; find /u01/soft/expdp_dump -name "*.log" -mtime +30 -exec rm {} ; oracle$crontab -l 01 01 * * 6 sh /u01/soft/expdp_dump/expdp.sh &