Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。下面我为大家分享一下oracle数据库自动备份系统的 方法 ,有需要的可以参考一下!
oracle数据库自动备份系统
实现过程:
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】权限不被导入。
配置批处理文件1
新建名为"oracleBackup"的文本文档(名字自己定),然后重命名后缀为"oracleBackup.bat"的批处理文件。
2
在oracleBackup.bat文件上点击右键,选择编辑,填写以下相关内容:
rem ---------------------------------------------------------------------------
rem windows环境下Oracle数据库的自动备份脚本。
rem 可以将本批处理设成windows任务计划下自动执行。
@echo off
@echo ================================================
@echo windows环境下Oracle数据库的自动备份脚本
@echo 说明:启动备份时,需要配置以下变量
@echo1、BACKUP_DIR 指定要备份到哪个目录
@echo2、ORACLE_USERNAME 指定备份所用的Oracle用户名
@echo3、ORACLE_PASSWORD 指定备份所用的Oracle密码
@echo4、ORACLE_DB指定备份所用的Oracle连接名
@echo5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等....
@echo6、RAR_CMD 指定RAR命令行压缩工具所在目录
@echo ================================================
rem 以下变量需要根据实际情况配置------>注意:此脚本必须放在E:\backup目录下
set BACKUP_DIR=E:\backup
set ORACLE_USERNAME=se
set ORACLE_PASSWORD=xj
set ORACLE_DB=xj_orcl
set BACK_OPTION= OWNER=se
set RAR_CMD="C:\Program Files\WinRAR\Rar.exe"
for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a
set BACK_NAME=%ORACLE_DB%_%TODAY%()_
set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%
rem 开始备份
exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log"
rem 压缩并删除原有文件
%RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log"
rem ---------------------------------------------------------------------------
forfiles /m *.rar -d -7 /c "cmd /c del /f @path"
3
配置相关参数:
BACKUP_DIR:该参数为备份数据文件的存放位置,可根据实际情况进行设置(注:设置的文件路径不允许包含汉字、特殊字符等内容)。
ORACLE_USERNAME:该参数为指定备份的Oracle数据库用户名。
ORACLE_PASSWORD:该参数为指定备份的Oracle数据库密码。
ORACLE_DB:该参数为指定备份的Oracle数据库连接名。
BACK_OPTION:该参数为备份选项,可以为空,也可以为full=y等。
RAR_CMD:指定RAR命令行压缩工具所在目录
END
安装软件
1
下载WINRAR安装包。
2
点击"wrar520sc_setup.exe",进行安装软件。
3
根据软件的安装路径,在命名的bat处理文件中配置:RAR_CMD参数。
END
添加定时任务
打开电脑的控制面板,选择"任务计划",双击打开。页面如图所示:
双击打开添加定时任务,点击下一步进入相关设置页面。页面如图所示:
单击浏览按钮,找到oracleBackup.bat文件添加,然后进行配置:根据实际情况选择要备份的时间类型,此处以每天执行为例,选择每天,点击下一步,设置执行时间。
输入执行定时任务机器的用户名及密码,点击下一步,进入完成界面,点击完成,至此,Oracle数据库定时任务备份的设置。
5
利用修改机器时间进行定时任务的测试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)