expdp通过dblink远程备份数据库脚本+准备

----------fdjExpdp_准备--------------
--sys/Jacjqwl123@orcl
--directory创建(要存放dmp文件端数据库执行)
select * from dba_directories;
create or replace directory jacfdj_data as 'D:\jac_fdj\auto_oracl_bak'
grant read,write on directory jacfdj_data to fdjtest

--network_link创建(要存放dmp文件端数据库执行)
create public database link fdjtest92 connect to 
fdjtest identified by fdjtest using '192.168.33.92/orcl'

----------fdjExpdp.bat--------------
@echo on
REM 删除30天前的操作日志文件
start sqlplus /nolog @"del.sql"
@echo on
set d=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

REM 设置所有者
set DIRECTORY=D:\jac_fdj\auto_oracl_bak
set DELDAYS=5

REM 创建备份用目录,目录结构为backup/YYYYMMDD/
if not exist "%DIRECTORY%"     mkdir %DIRECTORY%

REM 调用ORACLE的exp命令导出用户数据
expdp fdjtest/fdjtest directory=jacfdj_data dumpfile=fdjexpdp_%d%.dmp
network_link=FDJTEST92 logfile=fdjExpdp_%d%.log

REM 删除DELDAYS天的备份文件
forfiles /p %DIRECTORY% /s /m *.log /d -%DELDAYS% /c "cmd /c del @file"
forfiles /p %DIRECTORY% /s /m *.DMP /d -%DELDAYS% /c "cmd /c del @file"

--------------del.sql------------------
conn fdjtest/[email protected]/orcl
delete from exception_log e where trunc(to_date(to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') 
 ,'yyyy-MM-dd hh24:mi:ss') - to_date(to_char(e.oper_date,'yyyy-MM-dd hh24:mi:ss') 
 ,'yyyy-MM-dd hh24:mi:ss'),4)*1 >=30;
exit;

 ------------------------案例2------------------

--------jac_sclExpdp_准备--------
--sys/Jacjqwl123@orcl
--directory创建(要存放dmp文件端数据库执行)
select * from dba_directories;
create or replace directory jacscl_data as 'D:\jac_scl\auto_oracl_bak'
grant read,write on directory jacscl_data to jac_scl

--network_link创建(要存放dmp文件端数据库执行)
create public database link jac_scl136 connect to jac_scl 
identified by jac_scl using '192.168.33.136/jqwlscl'

--------jac_sclExpdp.bat--------
@echo on
REM 删除30天前的操作日志文件
start sqlplus /nolog @"scldel.sql"
@echo on
set d=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

REM 设置所有者
set DIRECTORY=D:\jac_scl\auto_oracl_bak
set DELDAYS=5

REM 创建备份用目录,目录结构为backup/YYYYMMDD/
if not exist "%DIRECTORY%"     mkdir %DIRECTORY%

REM 调用ORACLE的exp命令导出用户数据
expdp jac_scl/jac_scl123 directory=jacscl_data dumpfile=jacScl_Expdp_%d%.dmp
network_link=jac_scl136 logfile=jacScl_Expdp_%d%.log

REM 删除DELDAYS天的备份文件
forfiles /p %DIRECTORY% /s /m *.log /d -%DELDAYS% /c "cmd /c del @file"
forfiles /p %DIRECTORY% /s /m *.DMP /d -%DELDAYS% /c "cmd /c del @file"

-----scldel.sql---------
conn jac_scl/[email protected]/jqwlscl
delete from exception_log e where trunc(to_date(to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') 
 ,'yyyy-MM-dd hh24:mi:ss') - to_date(to_char(e.oper_date,'yyyy-MM-dd hh24:mi:ss') 
 ,'yyyy-MM-dd hh24:mi:ss'),4)*1 >=30;
exit;

猜你喜欢

转载自minyongcheng.iteye.com/blog/2216431