windows系统下oracle数据库定时自动备份

时间:2023-09-11 19:48:16 

为避免数据丢失或错误,对数据库数据的定时备份实现目的:为避免数据丢失或错误,对数据库数据的定时备份

实现方式:oracle导出+windows 任务 完成

学习方法:先知其然,后知其所以然

实现过程:

1. 建立文件 backup.bat (自定义文件名.bat)

@echo off

REM ###########################################################

REM # Windows Server 2003下Oracle数据库自动备份批处理脚本

REM ###########################################################

REM 取当前系统时间,可能因操作系统不同而取值不一样

set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2%

set CURMON=%date:~0,4%%date:~5,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%

REM 设置所有者、用户名和密码

set OWNER=orcl

set USER=bktcgl

set PASSWORD=bktcgl

REM 创建备份用目录,目录结构为oraclebak/YYYYMMDD/

if not exist "oraclebak" mkdir oraclebak

cd oraclebak

if not exist "%CURMON%" mkdir %CURMON%

set FILENAME=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%.DMP

set EXPLOG=%CURMON%/%OWNER%_%CURDATE%_%CURTIME%_log.log

REM 调用ORACLE的exp命令导出用户数据

exp %USER%/%PASSWORD%@%OWNER% file=%FILENAME% log=%EXPLOG% owner=%USER% grants=n

exit

注:

1.bat文件可双击或直接在命令行执行,检查正确与否

2.检查时可注释掉exit

3.以上文件实现按月份创建文件夹,按时间生成备份文件

2.建立windows任务

步骤:

开始 -> 所有程序 -> 附件 -> 系统工具 -> 任务计划程序 -> 操作 -> 创建基本任务

-> 任务名输入"oracle_backup"(自定义任务名),执行这个任务选择每天,下一步

-> 起始时间下午12:00,起始日期2012-7-11,下一步 ->(启动程序)下一步

->在 浏览 中查找刚刚写好的 backup.bat 文件 >下一步 > 完成

注:

1.在任务计划栏目下新增一个名为"oracle_backup"的任务计划,表明已经配置完毕。

2.不同系统的任务计划略有不同,但基本换汤不换药,不做一一例举

问题:系统警告"已创建新任务,但可能不能运行,因为无法设置账户信息。指定的错误是:Ox80041315:任务计划程序服务没有运行"

原因:电脑的任务计划程序服务没有启动起来。

解决:开始 > 所有程序 > 管理工具 > 服务,找到"Task Scheduler"服务,发现启动类型为"已禁用",

右键单击更改为"自动",并把它启动起来,然后重新添加一次任务计划就可以了。

3.简单解释

1. bat:是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用 Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。

2. Echo 命令:打开回显或关闭请求回显功能,或显示消息。

3. @ 命令:表示不显示@后面的命令

4. Rem 命令:注释命令

5. If命令:if表示将判断是否符合规定的条件,从而决定执行不同的命令。

6. exit :退出命令行

7. GRANTS: 是权限的意思,在你导出的目标数据库中可能会有一些表的如select 权限等赋给了别的用户。

【GRANTS=Y】导出的时候将这些权限导出,导入的时候将这些权限导入。

【GRANTS=N】权限不被导入。

标签:数据库,备份
0
投稿

猜你喜欢

  • 制作u盘系统选什么模式呢?

    2022-08-17 18:20:19
  • PowerPoint功能应用的12个小技巧

    2022-04-11 20:20:53
  • win10开机黑屏啥也没有怎么解决

    2022-07-10 18:51:28
  • Win10系统怎么重装?Win10系统重装教程

    2022-06-18 22:02:31
  • Win7系统电脑工作组无法显示的解决方法

    2023-08-12 21:13:30
  • Win7系统如何安装台湾繁体语言?

    2023-11-13 17:02:13
  • Windows Server 2008 四项优化技巧详解

    2023-07-20 12:57:43
  • 微软推送Win10准正式版10240热修复补丁KB3074674

    2022-05-13 22:54:28
  • Windows10 预览版14352中应用商店丢失找回方法

    2022-11-10 20:20:09
  • win10系统玩红警2游戏有声音而没图像解决方法

    2023-04-05 20:15:14
  • ppt怎么设计信号故障效果的字体?

    2022-07-14 17:39:37
  • PPT快速组合元素 PPT如何快速组合元素

    2022-09-07 00:56:56
  • excel如何冻结表头

    2023-09-25 14:07:15
  • Win10有没有高性能模式 智能调配CPU 提升游戏性能

    2022-10-10 17:28:38
  • word删掉分页符的方法

    2023-09-26 10:08:56
  • 乐掌柜管理系统怎么用收银台?乐掌柜管理系统用收银台的方法

    2022-12-25 12:13:11
  • excel数据核对,两秒就能解决的问题你却用了半小时

    2022-06-21 20:39:12
  • WPS文章中怎么插入数字编号?

    2023-05-23 20:20:33
  • Word中你一定掉过的坑,困扰了97.44%的职场人,实在是太烦人了

    2023-11-09 11:56:12
  • win10系统版本2004控制面板多出ESC是什么原因?

    2023-09-24 04:34:10
  • asp之家 电脑教程 m.aspxhome.com