数据泵备份

一、建立备份路径

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    -- 密码双引号,用户名和密码单引号

 

posted @ 2017-04-12 16:23  默记  阅读(943)  评论(0编辑  收藏  举报