当前位置:首页 > 系统 > windows环境oracle11g expdp备份和impdp还原脚本

windows环境oracle11g expdp备份和impdp还原脚本

系统2个月前 (08-13)

windows环境oracle11g expdp备份和impdp还原脚本

创建一个dmp目录

sqlplus / as sysdba
create directory dump_dir as 'D:\dir_DUMP';
select * from dba_directories;


配置备份脚本,保存到D:\dir_DUMP\expdp.bat

@echo off 
echo ================================================ 
echo  Windows环境下Oracle数据库自动备份脚本
echo  使用当前日期命名备份文件并自动删除7天前的备份
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

::设置用户名、密码和要备份的数据库
set USER=system
set PASSWORD=oracle
set DATABASE=orcl

::创建备份目录和备份
if not exist "D:\dir_DUMP\data\%BACKUPDATE%" mkdir D:\dir_DUMP\data\%BACKUPDATE%
if not exist "D:\dir_DUMP\log\%BACKUPDATE%" mkdir D:\dir_DUMP\log\%BACKUPDATE%
set DATADIR=D:\dir_DUMP\data\%BACKUPDATE%
set LOGDIR=D:\dir_DUMP\log\%BACKUPDATE%
expdp %USER%/%PASSWORD%@%DATABASE% directory=dump_dir dumpfile=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp logfile=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log parallel=4

::删除7天前的备份
forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
exit


设置计划任务

@ECHO OFF
schtasks /create /tn "EXPDP定时任务" /sc daily /st 01:00:00 /tr "D:\dir_DUMP\expdp.bat"
PAUSE
EXIT


还原脚本

@echo off
set backupfile=20220816.dmp
set logfile=20220816.log
impdp system/oracle@orcl directory=dump_dir dumpfile=%backupfile%  logfile=%logfile% parallel=4


本站所有文章均可随意转载,转载时请保留原文链接及作者。

本文链接:https://www.vos.cn/os/522.html

相关文章

Oracle主备容灾方案

Oracle主备容灾方案

【实验需求】生产中心有一台Oracle服务器安装于Redhat Linux上,灾备中心有一台对应的容灾Oracle服务器,两台服务器的数据库空间来自各自所连接的T系列阵列LUN,阵列同Oracle服务...

CentOS7 安装Oracle12cR2

CentOS7 安装Oracle12cR2

在CentOS7.8 Minimal版本下安装Oracle Database 12c Release 2一键安装oracle-single-install.zip系统环境准备sed -i&n...

CentOS6 安装Oracle11gR2

CentOS6 安装Oracle11gR2

使用oracle-rdbms-server-11gR2-preinstall工具,自动安装oracle所需的RPM包,自动创建oracle用户和dba、oinstall组,自动配置/etc/sysct...

RHEL6.5 + Oracle11g + RAC + ASM

RHEL6.5 + Oracle11g + RAC + ASM

实验环境操作系统:RedHat Enterprise Linux 6.5虚拟机:VMware-workstation 14.1.1数据库:Oracle Database11g 11.2.0.4存储:O...

解决ORA-01102: cannot mount database in EXCLUSIVE mode

解决ORA-01102: cannot mount database in EXCLUSIVE mode

startupdbca新建一个名为CDRTEST的库,startup后报ORA-01102: cannot mount database in EXCLUSIVE mode错误shutdown&nbs...

Oracle11gR2单机升级OPatch 打PSU补丁

Oracle11gR2单机升级OPatch 打PSU补丁

Oracle补丁一般分为2类:CPU和PSUCPU:Critical Patch Update,紧急补丁更新。每季度发布一次,用来修复安全方面的累积型补丁,即最新的CPU补丁已经包含以往的CPU补丁,...