一、建立备份路径 linux系统 sqlplus "/ as sysdba" create directory dmp as '/backup';
windows系统 sqlplus/nolog conn /as sysdba; create directory dmp as 'd:\backup';
二、备份数据泵时查看,已建的目录
SELECT * FROM dba_DIRECTORIES;
三、添加需要备份的数据库账号对目录的读写权限 grant read,write on directory dmp to user; linux系统 #!/bin/ksh ORACLE_HOME=/app/oracle/product/11.2/db --oralce目录
ORACLE_SID=test --实例名
export ORACLE_HOME PATH ORACLE_SID
DD=`date +%Y%m%d`
DF=`date -d "-7 day" +%Y%m%d` --删除7天前数据
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
rm -rf /backup/*$DF.log
rm -rf /backup/*$DF.dmp
expdp 'test/"ii3$2016*86"' directory=dmp dumpfile=test_$DD.dmp logfile=test_$DD.log
sleep 10 expdp test/test123 directory=dmp dumpfile=test_$DD.dmp logfile=test_$DD.log
windows系统 @echo off
expdp test/test123 directory=dmp dumpfile=test_%date:~0,4%%date:~5,2%%date:~8,2%.dmp logfile=test_%date:~0,4%%date:~5,2%%date:~8,2%.log @forfiles /p d:\backup /s /m * -d -15 /c "cmd /c del /f @file" 删除15天前路径文件
密码中含有特殊字符
1、在windows系统解决办法 exdp 用户名/“““密码”””@net服务名 dumpfile=test.dmp logfile=test.log --加三个双引号 2、在linux系统解决办法 exdp ‘用户名/“密码“’@net服务名 dumpfile=test.dmp logfile=test.log -- 密码双引号,用户名和密码单引号
|