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

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

系统6个月前 (08-13)

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


创建一个dmp目录

sqlplus / as sysdba
create directory dump_dir as 'D:\dir_DUMP';
#如果需要删除执行drop directory dump_dir;
grant read,write on directory dump_dir to 用户名;
select * from dba_directories;
commit;
exit


配置备份脚本,保存到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
imp system/oracle@orcl file=%backupfile% log=%logfile% FULL=Y


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

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

相关文章

CentOS7 安装Oracle12cR2

CentOS7 安装Oracle12cR2

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

CentOS 7转换为OEL 7

CentOS 7转换为OEL 7

参考官方提供的脚本,支持将CentOS 5, 6, 7转换为使用UEK(Unbreakable Enterprise Kernel)的Oracle Enterprise Linux转换系统curl&n...

RHEL7.4 Oracle11gR2 RAC udev

RHEL7.4 Oracle11gR2 RAC udev

系统版本 Red Hat Enterprise Linux 7.4 数据库版本 Oracle Database 11g Release 2 for Linux x86-64服务器 Dell...

解决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补丁,...

CentOS7.6 安装rlwrap

CentOS7.6 安装rlwrap

rlwrap可为任何其他命令提供命令历史记录和编辑键盘输入,可解决原本SQL Plus不能做利用Up和Down键作历史数据查找,或是用Backspace删除打错的命令,上下左右键变乱码的问题yum&n...