首先需要编写一个批处理文件,用于实现数据库的备份功能,可以命名为BAT(后缀名修改为 BAT): @echo off color 0b mode con cols=80 lines=25 echo 正在备份数据库,请稍后�1�76�1�77�1�76�1�77 echo -------------------------------------- echo 指定数据库用户(在“=”后面写入你需要备份的数据库登 录用户名) set yh=information echo 指定数据库密码(在“=”后面写入你需要备份的数据库登 录密码) set mm=information echo 指定数据库服务名(在“=”后面写入你需要备份的数据库 服务名) set fwm=CS echo 指定备份目录(指定备份的文件夹,以“\”结束) set ml=e:\lkdata\ echo ---------------------------------------------- echo 开始计算日期和时间,用于备份文件的名称(由于是自动备 份,备份的文件名我们定义为数据库登录名+系统时间—精确到 秒) set hh=%time:~0,2% echo 如果小时是一位的,那么在前面补零 if /i %hh% LSS 10 (set hh=0%time:~1,1%) set rq=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% set sj=%hh%%TIME:~3,2%%TIME:~6,2% set wjm=%yh%%rq%%sj% echo ---------------------------------------------- echo 请核对以下数据是否正确 echo 用户名:%yh% echo 密码:%mm% echo 服务名:%fwm% echo 备份目录:%ml% echo 备份文件名:%wjm% echo ---------------------------------------------- echo 开始备份数据库 echo --------------------------------------------- exp %yh%/%mm%@%fwm% file=%ml%%wjm%dmp log=%ml%%wjm%log owner=%yh% echo 数据库备份完成 echo ---------------------------------------------- 以上就是我们自动备份的代码,其中echo 后面的文本都是说明文 字,大家可以删除,将以上代码复制到文本文件,重命名为BAT (尽量不要把备份文件放在桌面或者系统盘下,避免系统损坏以 后丢失备份文件),保存以后,我们可以双击执行,当执行完成以 后,在备份目录下会备份文件,如下图 1、 自动备份实现 以上我们已经实现了数据库的备份脚本,那么如何实现自动定时 备份呢?这就要利用WINDOW *** 作系统提供的计划任务功能了, 我们通过开始---控制面板,打开控制面板,双击执行计划任务 打开计划任务功能,然后双击添加计划任务打开计划任务向导,点击下一步 选择浏览,找到我们在第二步建立的备份脚本文件,点击打开, 进入下一步 在这一步我们输入备份计划的名称,方便以后区分,同时选择备 份的频率,这里以一天为准 在这一步需要输入每天备份启动的时间(这根据每一个项目来自 行设定,建议将备份放在数据库 *** 作较少的时段),一般建议在中 午考试空闲时段。 在这一步需要输入登录 *** 作系统的用户和密码,如系统默认的用 户 Administrator 没有设置密码,可以另外建立一个带密码的用 户。 确认以上 *** 作无误后,点击完成 这样我们就可以在计划任务列表中看到当前的计划任务 以上我们就实现了ORACLE数据库的自动备份功能,当然,如果 有数据库需要多个时间段备份,我们只需要重复上面的 *** 作即可。 二:设置自动删除以前的备份。 我们实现了ORACLE 数据库的自动备份功能,但每次备份都会创 建一个新备份文件,一定时间后占用的硬盘空间将非常大,还需 要创建批处理文件,用于实现删除之前的备份文件功能,粘贴如 下代码到文本文档中,重新命名为BAT(后缀名修改为BAT): del e:\lkdata\ 删除指定备份目录下所有备份文件,这里的待删除备份文件地址 要和之前的备份目录地址对应,然后添加计划任务让其定时运行, 建议清理计划运行的时间以1 周2 次的频率为佳,该计划运行的时间 在备份计划之间 1 个小时之前,这样就能达到先删除之前旧备份,1 个小时后自动新的备份建立。
Oracle 数据库备份
保留最近一周的备份记录;
====正文
====开始==============
echo 设置备份文件存放文件夹
set "tbuf=E:Cwaybackup"
echo 设置备份文件名(以星期几命名 即备份文件只保存最近一周)
set name=%date%
set name=%name:~ %
set name=ORCL_backup_%name%
echo 是否存在同名文件 若存在则删除同名文件
if exist %tbuf%%name% dmp del %tbuf%%name% dmp
if exist %tbuf%%name% log del %tbuf%%name% log
echo 开始备份XX项目 Oracle 数据库
exp User /PassWord @Orcl file=%tbuf%%name% dmp log= %tbuf%%name% log
echo 备份完毕!
===结束=======
==将“开始” “结束”之间的内容复制到txt文件中 修改相应的参数如 路径 数据库名称等;
另存为bat格式 创建任务计划 设置每天运行即可实现数据库备份
注
( )User 要备份数据的用户名;
( )PassWord 口令;
lishixinzhi/Article/program/Oracle/201311/19110
oracle的备份和还原可以用命令行来实现
备份 exp system/manager@TEST file=d:\daochudmp full=y
还原 imp system/manager@TEST file=d:\daochudmp
将上面的备份、还原命令可以新建成bat文件。然后在java中可以运行bat文件
RuntimegetRuntime()exec("cmdexe /C start D:\\testbat");这样就实现了oracle的备份与还原。当然这里只是提供一个大概的思路,实际运用中可能需要备份某些数据,还原到其他数据库等。
USERID=cl7101/cl7101@cl7101 -- 登录ORACLE的信息,用户名是cl7101,密码是cl7101,ORACLE服务器的SID是cl7101
file=E:\databackup\cl7101%date:~4,20%dmp -- 备份文件名及路径,其中%date:~4,20%是批处理(bat)中时间的格式化
OWNER=(cl7101)-- 指定备份的所有者,即需要备份哪个用户的数据?
DIRECT=Y-- 指定直接备份
log=E:\databackup\cl7101%date:~4,20%log-- 备份日志的文件名及路径
CONSISTENT=Y -- 保证exp备份数据的一致性
1、USERID=cl7101/cl7101@cl7101等代码的 后面怎么没个分隔符(比如说分号),这条代码能顺利运行吗?
-- 这个是ORACLE的登录方式,而且都是ORACLE命令的参数格式,能不能顺利运行你试下就知道了,ORACLE既然这样规定了,肯定能解析得出来的,这个你就放心吧
2、file=E:\databackup\cl7101指明了备份文件名及路径,%date:~4,20%是批处理(bat)中时间的格式化,是不是说%date:~4,20%指出了批处理工作的时间
-- 不是批处理工作的时间。你在命令提示符窗口里面分别运行echo date和echo %date:~4,20%看下效果应该就明白了
简单点的就是用 *** 作系统级别的计划任务,写一个备份脚本,定时执行,这样不就可以了么。
如果是数据库内部的备份,数据库可以定job和schedule(调度),这两个都可以定时执行。
如果是dg,那么就定时执行一下切换日志。
首先准备一台执行备份命令的服务器(可以是数据库服务器,也可以是待备份服务器,也可以是其他机器),执行备份命令的服务器上要需要安装oracle服务器客户端,然后在这台机器上配置好待备份的数据库的本地服务名。这样即可执行exp命令,将该用户下的数据库备份到指定的本地文件夹。注意在exp命令中要使用本地服务名。如:exp
userid=userName/PassWord@localServerName
file=
compress=y
grants=y
indexes=y
rows=y
constraints=y
owner=userName
userName:用户名
PassWord:密码
localServerName
:配置好的本地服务名
以上就是关于oracle 数据库 要设定一个数据库用户每天在晚上23:00进行自动备份,并重建索引 怎么做全部的内容,包括:oracle 数据库 要设定一个数据库用户每天在晚上23:00进行自动备份,并重建索引 怎么做、Oracle数据库设置任务计划备份一周的备份记录、JAVA程序怎样实现Oracle数据库备份和还原等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)