Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1269063
  • 博文数量: 125
  • 博客积分: 4372
  • 博客等级: 上校
  • 技术积分: 1055
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-12 09:53
文章分类

全部博文(125)

文章存档

2019年(3)

2018年(2)

2017年(1)

2016年(2)

2015年(4)

2014年(11)

2013年(5)

2012年(4)

2011年(12)

2010年(10)

2009年(17)

2008年(17)

2007年(25)

2006年(12)

分类: Oracle

2014-02-20 09:56:46


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

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

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

实现过程:

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

@echo off  
REM ###########################################################  
REM # Windows Server 2003下数据库自动备份批处理脚本  
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.建立任务

步骤:

开始 -> 所有程序 -> 附件 -> 系统工具 -> 任务计划程序 -> 操作 -> 创建基本任务  
-> 任务名输入"oracle_backup"(自定义任务名),执行这个任务选择每天,下一步 
-> 起始时间下午12:00,起始日期2012-7-11,下一步 ->(启动程序)下一步 
->在 浏览 中查找刚刚写好的 backup.bat 文件 >下一步 > 完成

注:

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

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

问题:系统警告"已创建新任务,但可能不能运行,因为无法设置账户信息。指定的错误是:Ox80041315:任务计划程序服务没有运行"
原因:电脑的任务计划程序服务没有启动起来。
解决:开始 > 所有程序 > 管理工具 > 服务,找到"Task Scheduler"服务,发现启动类型为"已禁用",
右键单击更改为"自动",并把它启动起来,然后重新添加一次任务计划就可以了。

3.简单解释

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

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

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

4. Rem 命令:注释命令

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

6. exit :退出命令行

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

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

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

阅读(2033) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~