在windows上的oracle备份和还原(expdp)
背景
老项目,还在使用oracle,并且是windows上的oracle,小项目的数据量不大,做个备份,有备无患。
创建备份目录和授权
CREATE OR REPLACE DIRECTORY DIR_DUMP AS 'F:/app/Administrator/backup';
GRANT READ, WRITE ON DIRECTORY DIR_DUMP TO SYSTEM;
SELECT directory_path FROM dba_directories where DIRECTORY_NAME = 'DIR_DUMP';
备份脚本
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 自动删除7天前的备份。
echo 2. 使用当前日期命名备份文件。
echo 3. 打包压缩文件
echo ================================================
rem ---- 指定备份路径
set backup_dir=F:\app\Administrator\backup
rem ---- 定义时间变量
set day=%date:~0,4%%date:~5,2%%date:~8,2%
set remain_day=7
rem --- 删除7天以外的备份文件
rem --- 有rar时选择(建议):
rem forfiles /p "%backup_dir%" /d -%remain_day% /c "cmd /c del /f @path"
rem --- 没rar是选择:
forfiles /p %backup_dir% /s /m *.DMP /d -7 /c "cmd /c del @path"
rem --- 将数据备份成dmp格式文件
expdp system/xxxxxx@yhkj directory=dir_dump dumpfile=ABC_%day%.dmp logfile=ABC_%day%.log schemas=ABC parallel=4 compression=ALL
rem ---- 如果windows有安装rar,需配置rar的程序路径,用于打包压缩备份数据文件(建议)。如果没有,请把下面两条注释掉。
rem set rar="C:\Program Files\WinRAR\WinRAR.exe"
rem %rar% a -df %backup_dir%\ABC_%day%.rar %backup_dir%\ABC_%day%.dmp %backup_dir%\ABC_%day%.log
rem --- if copy dmp file to another machine, unmark rem
rem --- delete netdisk files before 7 days and copy file to netdisk
rem set netdisk_dir=Z:\oracle-backup\
rem forfiles /p "%netdisk_dir%" /d -%remain_day% /c "cmd /c del /f @path"
rem copy %backup_dir%\healmall_%day%.rar %netdisk_dir%\healmall_%day%.rar
还原
impdp system/xxxxxx@yhkj directory=dir_dump dumpfile=ABC_20250206.dmp logfile=impdp_ABC_%day%.log schemas=DEF remap_schema=ABC:DEF TABLE_EXISTS_ACTION=REPLACE
TRUNCATE:删除表中的所有行,但保留表结构。这是较为安全的选择,因为它不会删除表上的任何依赖对象(如索引、约束等)。
REPLACE:删除并重新创建表。这会删除表及其所有依赖对象(如触发器、索引等),然后根据导出文件中的定义重建表。
注意:还原的时候必须和备份的数据库必须同版本!!!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
2023-02-06 windows互联网前置配置为时钟源给内网主机同步时钟
2023-02-06 centos密码登陆错误次数太多被锁处理