Windows环境下Oracle数据库的自动备份脚本

合集下载

windows系统最简单的方式制作Oracle数据库备份

windows系统最简单的方式制作Oracle数据库备份

最简单的方式制作Oracle数据库备份
1、编写一个.bat批处理文件:
一、在硬盘里新建一个txt文件,在文件中写上下面的语句。

exp 用户名/密码@数据库实例名file=存储物理路径\保存文件名
_%date:~0,10%.dmp
新建.txt文件
写入批处理语句
二、修改txt文件后缀为.bat
修改文件后缀名
三、测试.bat文件是否可用
文件正确,可用
2、编写自动程序
○1控制面板—任务计划—添加任务计划
○2选择任务程序
○3选择时间
选择日期(及多长时间备份一次数据库)
选择时间(即在那个时间备份)
○4输入计算机登录密码
○5单击完成
3、注意:
一、该文档所描述的备份是没有时间区分的,也就是说:今天备份的将替换昨天备份的。

二、批处理语句切记不能写错,而且格式非固定,具体格式可以上网查询。

三、因为是利用windows系统的工具调用批处理语句,所以当时间到了计划任务的时
间,会在电脑桌面上显示批处理(DOS)窗口。

备份结束前不可关闭。

windows下的oracle数据库rman自动备份和恢复文档

windows下的oracle数据库rman自动备份和恢复文档

数据库rman 备份恢复文档Rman 简介RMAN是ORACLE!供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。

与传统工具相比,RMAN 具有独特的优势:跳过未使用的数据块。

当备份一个RMAN 备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。

RMAr使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。

二.系统规划数据库备份文件不建议与系统盘( C 盘)、oracle 数据文件存放盘( D 盘)存放在一起,本文单独存放于 E 盘。

注:在进行以下操作前要根据自己的环境建立如下目录“”,“' E:\archivelog_backup ”,“ E:/orabackup_script/ ”。

本文用到的命令中的标点均为英文字符下的标点。

三.设置oracle 数据库为归档模式(ARCHIVELOG)按以下步骤操作,检查oracle 数据库是否为归档模式。

1. 选择“开始”“系统” “运行”,输入cmd按回车。

2. 输入“ sqlplus ”,按回车。

3. 输入“ system / as sysdba ”,按回车。

4. 输入数据库system 账号的密码,按回车。

5. 查看数据库归档模式,输入“ archive log list; ”,按回车。

如下图所示。

C : XDocuments and Settings\Adminis :tpator>sqIplusSQL*Flus: Re lease 10,2.0.1.0 - Production on 星期二 1 月 8 22:2S :02 201^Copi/i*ight (c> 1982, Oracle. All rights i^eserved.旌接到:lOracle Database 10^ Enterprise Edition Release 16.2.0.1.0 - 64b±t Production With the Partit ion Ing, OLAP and D&ta Min inct opt ions档模式:2. 关闭数据库。

ORACLE数据库自动备份_详细步骤

ORACLE数据库自动备份_详细步骤

ORACLE数据库自动备份_详细步骤1.确定备份策略:首先,需要确定数据库备份的频率和保留备份的时间长度。

备份频率可以是每天、每周或每月,而保留备份的时间长度可以是几天、几周或几个月。

2.创建备份脚本:接下来,需要编写一个脚本来执行数据库备份操作。

在脚本中,需要包含备份的类型(如完全备份、增量备份或差异备份)、备份存储位置、备份的文件名等信息。

3. 创建备份存储目录:在执行备份操作之前,需要创建一个用于存储备份文件的目录。

可以使用ORACLE的命令行工具或图形界面管理工具(如Enterprise Manager)来创建目录。

4. 安排计划任务:为了自动执行备份脚本,需要在操作系统上设置一个计划任务。

可以使用操作系统提供的任务调度工具(如cron或Windows Task Scheduler)来设置计划任务。

5. 测试备份脚本:在设置计划任务之前,建议先手动运行备份脚本来测试备份过程是否正常工作。

可以使用SQL*Plus工具来运行脚本并检查备份文件是否生成。

6.设置计划任务:在操作系统上设置一个计划任务来定期执行备份脚本。

可以指定备份的时间、日期和频率。

7. 监控备份过程:在执行备份操作期间,建议监控备份过程以确保一切正常。

可以查看备份日志或使用ORACLE的监控工具(如Grid Control)来监控备份活动。

8.保护备份文件:备份文件包含关键的数据库信息,因此需要采取措施保护备份文件免受损坏或恶意访问。

可以使用文件系统的权限设置或加密工具来保护备份文件。

9.恢复测试:定期测试备份恢复过程以确保备份文件可以成功恢复数据库。

可以使用数据库的恢复工具(如RMAN)来执行备份恢复操作,并验证恢复的数据库是否与原始数据库一致。

10.文件清理:根据备份策略,定期清理过期的备份文件,以释放存储空间并避免备份文件过多的问题。

总结:ORACLE数据库自动备份是保护数据库的重要步骤之一、通过创建备份脚本、设置计划任务和监控备份过程,可以确保数据库的数据不会丢失。

Oracle数据库在linux和windows下自动备份脚本

Oracle数据库在linux和windows下自动备份脚本

Oracle数据库在linux和windows下自动备份脚本总结本文我们主要对Oracle数据库在Linux和Windows下自动备份的脚本进行了总结,以便于我们对于Oracle数据库在不同平台上的备份的掌握。

一.Windows平台下Windows系统下Oracle数据库自动备份脚本:expData.bat的内容:exp system/system@orcl file=c:\oracle_bak\tne%date:~4,10%.dm p owner=tneexp system/system@orcl file=c:\oracle_bak\prt%date:~4,10%.dm p owner=prtexp system/system@orcl file=c:\oracle_bak\sec%date:~4,10%.dm p owner=secexp system/system@orcl file=c:\oracle_bak\tea%date:~4,10%.dm p owner=teaexp system/system@orcl file=c:\oracle_bak\pic%date:~4,10%.dm p owner=picexp system/system@orcl file=c:\oracle_bak\system%date:~4,10% .dmp owner=systempath=D:\WinRAR3.20rar a Data%date:~4,10%.rar*%date:~4,10%.dmp del*%date:~4,10%.dmp二.Linux平台下功能:1、每天数据库exp全备份2、自动删除7天前的备份,系统只保留当前7天的备份1.系统用户一览2.Oracle环境变量3.邮件设置4.创建备份目录使用oracle创建备份文件存储目录4.创建备份脚本使用oracle用户创建自动备份脚本脚本内容如下,其中的红色部分需要根据实际情况调整当前备份设置删除1个月之前的备份文件注意:date -d "1 month ago" 命令代表获取当前1个月之前的时间date -d "1 week ago"命令代表获取当前1周之前的时间date -d "1 day ago"命令代表获取当前1天之前的时间提升权限手动测试一下5.设置脚本定时执行要检查cron服务是否开启/sbin/service crond start // 启动服务/sbin/service crond stop // 关闭服务/sbin/service crond restart // 重启服务使用root执行命令用法* * * * * :代表执行时间间隔● oracle :执行脚本的用户●/home/oracle /backup.sh:执行脚本的路径Linux系统下Oracle数据库的备份:FIELNAME=/home/oracle/dmp/`date+%Y%m%d`.dmpecho$FIELNAME>/home/oracle/dmp/filename/home/oracle/product/9.2/bin/exp ccbip/'und\=2008CN(Y|N) full=y file=$FIELNAMEbzip2$FIELNAME注:创建的文件都是Oracle用户oinstall组的。

Windows下Oracle自动异地备份方法

Windows下Oracle自动异地备份方法

Windows下Oracle自动异地备份方法2012-6-27方法一(利用ORACLE客户端)一、编写脚本文件:Oracle自动导出脚本(Windows下,导出文件名自动加上日期和时间)只适用于Windows 客户端,通过exp命令完成数据库导出。

导出文件有以下特点:1.导出的文件名自动添加上日期和时间,避免了导出文件的混乱。

2.导出的文件自动通过RAR压缩,同时删除压缩前的文件(需要导出端Windows系统安装好WinRAR),通过WinRAR压缩,Oracle的dmp文件压缩比例很高。

3.支持windows的任务计划。

4.将导出的日志和dmp文件共同打包,避免忘记exp导出的内容。

导出条件:导出端Windows必须安装好Oracle客户端或exp.exe文件,并且配置好Net Manager(指定数据库连接符pcchina)。

以下是具体的脚本,命名为:oracle_bak.bat--------------------------------------------------------------------------------------------------@echo offset RAR_CMD="C:\Program Files\WinRAR\WinRAR.exe"set USERNAME=xxxset PASSWORD=yyyset ORA_SID=orclset COMMAND=%USERNAME%/%PASSWORD%@%ORA_SID%set BACKUPPATH=D:/set TIMESTYLE=%Date:~0,4%年%Date:~5,2%月%Date:~8,2%日%time:~0,2%时%time:~3,2%分set FILEPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.dmpset LOGPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.logset RARPATH=%BACKUPPATH%/%USERNAME%_%TIMESTYLE%.rarecho ============================================echo 正在备份Oracle数据库,请稍等......echo ============================================exp %COMMAND% file=%FILEPATH% full=y log=%LOGPATH%echo 任务完成!echo ============================================echo 压缩备份文件,请稍等......echo ============================================%RAR_CMD% a -df "%RARPATH%" "%FILEPATH%" "%LOGPATH%"echo 压缩完成!--------------------------------------------------------------------------------------------------脚本结束。

oracle11g自动备份

oracle11g自动备份

一、以exp命令备份1.首先做个批处理脚本:backup。

bat 脚本内容如下@echo offset curdate=%date:~0,4%%date:~5,2%%date:~8,2%set backuppath=D:\backupmd %backuppath%exp scott/tiger@127。

0。

0。

1/orcl file=%backuppath%\%curdate%。

dmpowner(scott) log=%backuppath%\%curdate%。

logforfiles /p "D:\backup” /s /m *。

dmp /d —30 /c "cmd /c del @file"说明:在备份之前先在D盘建个backup文件夹。

2.以Windows中的计划任务程序来触发这个备份脚本(以Win7为例)(1)完成配置,这个自动备份脚本会在每天10:43的时候执行,将数据备份到D:\backup文件夹下格式为:20151212。

dmp2。

导入dmp文件的命令spool log.txt;drop user scott cascade;drop tablespace SCOTT including contents and datafiles;create tablespace SCOTT loggingdatafile ’D:\orcl\SCOTT 。

dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;create user scott identified by tiger default tablespace SCOTT;grant connect,resource to scott;grant dba to scott;spool off;exit;在dos窗口输入命名导入数据文件 imp scott/tiger@ORCLfile=20151212.dmp full=Y二、以expdp命名备份脚本如下create directory mydmp as 'D:\backup' —-directory指定导出到本地目录—-授权给操作用户这个mydmp目录的权限grant read, write on directory mydmp to scott-—需要超级管理员的账号 sysdba—-查看一下是否存在该目录select * from dba_directories;执行脚本如下@echo offrem set backupfile=%date:~0,4%%date:~5,2%%date:~8,2%。

(转)Oracle数据库的自动导出备份脚本(windows环境)

(转)Oracle数据库的自动导出备份脚本(windows环境)

(转)Oracle数据库的⾃动导出备份脚本(windows环境)1. 转⾃由于winrar收费,修改了下脚本使⽤7zip进⾏压缩处理2. @echo off3. @echo ===========================================================================4. @echo Oracle数据库的⾃动导出备份脚本(windows环境)。

5. @echo 通过windows任务计划或AT命令设置⾃动执⾏。

6. @echo ===========================================================================7.8. @echo =========================================================================9. @echo Oracle数据库的⾃动导出备份脚本(windows环境)。

10. @echo 说明:启动备份时,需要配置以下变量11. @echo 1、BACKUP_DIR 指定要备份到哪个中间⽬录,压缩完成后将被移动到BACKUP_WAREHOUSE⽬录下12. @echo 2、BACKUP_WAREHOUSE 指定历史备份数据(压缩后的)及⽇志的存放位置13. @echo 3、ORACLE_USERNAME 指定备份所⽤的Oracle⽤户名14. @echo 4、ORACLE_PASSWORD 指定备份所⽤的Oracle密码15. @echo 5、ORACLE_DB 指定备份所⽤的Oracle服务名16. @echo 6、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a⽤户,b⽤户或 TABLES=() 等等....17. @echo 7、RAR_CMD 指定RAR命令⾏压缩⼯具所在⽬录18. @echo 8、ZIP_CMD 指定7ZIP命令⾏压缩⼯具所在⽬录(开源免费)19. @echo =========================================================================20.21. @echo ======================================================22. @echo 备份数据库服务数据23. @echo ======================================================24.25. rem 以下变量需要根据实际情况配置26. set BACKUP_DIR=D:/proj/dbbackup27. set BACKUP_WAREHOUSE=D:/proj/dbbackup/file28. set ORACLE_USERNAME=user29. set ORACLE_PASSWORD=pwd30. set ORACLE_DB=tnsname31. set BACK_OPTION="owner=user"32. set RAR_CMD="C:/Program Files (x86)/WinRAR/WinRAR.exe"33. set ZIP_CMD="C:/Program Files (x86)/7-Zip/7z.exe"34.35. for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a36. REM 如果⽂件名中需要⼩时及分钟,⽤下⾯第⼀⾏语句37. REM set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%时%time:~3,2%分)_38. set BACK_NAME=%ORACLE_DB%_%ORACLE_USERNAME%_%TODAY%39. set BACK_FULL_NAME=%BACKUP_DIR%/%BACK_NAME%40.41.42. REM 将操作记⼊批处理⽇志 %BACK_FULL_NAME%_bat.log43.44. echo ==================备份数据库服务数据================= >>%BACK_FULL_NAME%_bat.log45. echo 备份开始...... >>%BACK_FULL_NAME%_bat.log46. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log47.48.49. exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% grants=Y %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%_exp.log"50.51.52. if not exist %BACKUP_WAREHOUSE%/%BACK_NAME%_LOGIC (md %BACKUP_WAREHOUSE%/%BACK_NAME%_LOGIC)53.54. echo 压缩并删除原有dmp⽂件...... >>%BACK_FULL_NAME%_bat.log55. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log56.57. REM 使⽤7ZIP压缩,注释掉WINRAR命令部分58. REM %RAR_CMD% a -df "%BACK_NAME%_logic.rar""%BACK_FULL_NAME%.dmp"59. %ZIP_CMD% a -tzip "%BACK_NAME%_logic.zip""%BACK_FULL_NAME%.dmp"60. rem 删除源⽂件61. del "%BACK_FULL_NAME%.dmp"62.63. echo "%BACK_FULL_NAME%exp.log"64. echo 压缩并删除原有dmp⽂件结束! >>%BACK_FULL_NAME%_bat.log65. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log66.67. echo 开始移动⽂件...... >>%BACK_FULL_NAME%_bat.log68. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log69.70. rem 使⽤7ZIP压缩,注释掉WINRAR命令部分71. rem move %BACKUP_DIR%/*.rar %BACKUP_WAREHOUSE%/%BACK_NAME%_LOGIC/72. move %BACKUP_DIR%/*.zip %BACKUP_WAREHOUSE%/%BACK_NAME%_LOGIC/73.74. echo 移动⽂件完成! >>%BACK_FULL_NAME%_bat.log75. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log76.77. REM net send %userdomain% "数据库逻辑备份已于:%DATE% %time% 完成!"78.79. echo .80. echo 备份完成 >>%BACK_FULL_NAME%_bat.log81. echo 当前的时间是: %DATE% %time% >>%BACK_FULL_NAME%_bat.log82. echo ===============备份数据库服务数据完成============== >>%BACK_FULL_NAME%_bat.log83. move %BACKUP_DIR%/*.log %BACKUP_WAREHOUSE%/%BACK_NAME%_LOGIC/84. echo .。

Oracle自动备份详细步骤

Oracle自动备份详细步骤

Oracle自动备份详细步骤背景:Oracle10g 服务器,Oracle10g 客户端,windowsXP 操作平台要求:Oracle 数据库服务器对数据库 ytcn 每天自动备份一次。

解决方案:利用任务计划、批处理文件和 Oracle 的 exp 导出功能,根据日期自动生成 Oracle 备份文件。

详细步骤:1 创建批处理文件 ytcn.batytcn.bat中详细内容如下:@echo offecho 正在备份 Oracle 数据库,请稍等......exp userid= ytcn / ytcn @orcl as sysdba file= e:/bak/ytcn/oracle/ytcn %date:~0,4%%date:~5,2%%date:~8,2%.dmp log= e:/bak/ytcn/oracle /ytcn %date:~0,4%%date:~5,2%%date:~8,2%.log full=yecho 任务完成!其中红色部分是根据需要进行变动的地方,例如作者的项目名“银通网”,数据库 ytcn 用户名 ytcn,密码 ytcn,要在目录 "e:/bak/ytcn/oracle/" 下生成形如 "ytcn20090711.dmp" 和"ytcn20090711.log" 的备份和日志文件,全表导出。

另外:%date%的值在不同的系统、语言版本下可能是不一样的,控制面板里面区域选项的设定也会改变%date% 的值。

请先在命令行中测试echo %date% 的返回值。

%date:~4,10% 是返回日期函数,~后的第一个参数是要截取的起始位置(从0开始),第二个参数是要截取的长度,如没有则是截取到最后,参数可酌情修改。

如需要准确的时间做为文件名,请用%time%函数,参数同上。

2 添加一个任务计划 ytcn开始 >所有程序 >附件 >系统工具 >任务计划 >添加任务计划 >下一步 >在浏览中查找刚刚写好的 ytcn.bat 文件 >任务名输入ytcn,执行这个任务选择每天,下一步 >起始时间下午12:00,起始日期2009-7-11,下一步 >输入用户名及密码,用户名要求是管理员权限用户名,下一步 >完成点击"完成"之后,会在任务计划栏目下新增一个名为"ytcn"的任务计划,表明已经配置完毕。

Oracle自动备份数据库的三种方式

Oracle自动备份数据库的三种方式

三种方法,供您参考,如果您对Oracle备份方面感兴趣的话,不妨一看。

Oracle自动备份数据库不外乎以下三种方式WINDOWS下的任务计划(At命令)UNIX下的Crontab第三方工具如Viritas在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron1、生成脚本文件,如backup.rcv 假定文件内容如下:$>cat backup.rcvconnect target sys/password rcvcat rman/rman@localname;run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’archivelog all delete input;release channel c1;release channel c2;release channel c3;}2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv3、加入调度在windows中用任务计划向导即可,或使用at命令。

在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。

假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下$>cat oracle0 23 * * 0 backup_archive.sh#表示星期天23点对数据库备份0 12,18 * * * backup_archive.sh#表示每天12点,18点备份Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来oracle备份命令使用实例备份命令实现oracle备份的过程,希望可以让您对oracle备份命令有更深的认识。

推荐下载-Oracle数据库定时自动备份批处理代码Windows 精品

推荐下载-Oracle数据库定时自动备份批处理代码Windows 精品

set pweek=%date:~-1%set fn=e:\bakdb\gdosys_dqgis%Date:~0,4%%Date:~5,2%%Date:~8,2%if %pweek% equ 日(exp system/sys@orcl file=%fn%.dmp owner=gdosys,dqgis log=%fn%.lograr a %fn%.rar %fn%.*del %fn%.dmpdel %fn%.log) else (exp system/sys@orcl file=d:\bakweek\%date:~8,2%.dmp owner=gdosys,dqgis log=d:\bakweek\%date:~8,2%.logrem exp system/sys@orcl file=d:\bakweek\%date:~11,3%.dmp owner=gdosys log=d:\bakweek\%date:~11,3%.log)————————————————————————————————————————————http://hi.baidu./lvns/blog/item/beb171d3c2fa2cd6a8ec9a2d.html这是最近写的一个Oracle数据库自动备份的批处理,经过测试正常运行,记录如下。

包括两部分,逻辑备份和冷备份,如有不完整之处,还往看到本文的高手指导!注:这些内容是本人经过一番学习和多次测试调试后的结果,如果想转载,请以连接的形式,谢谢合作!第一部分,逻辑备份下面是:AutoBackup_Logic.bat --逻辑备份的主文件,直接在计划任务中调用就可以了。

@echo offremrem 需要配置的参数说明:rem BAT_HOME:即本批处理所在的目录;rem DUMP_DIR:即要备份到的数据文件目录,存在与数据字典表:dba_directories 中。

remset BAT_HOME=E:\BATset DUMP_DIR=E:\Temp\DBBackupset BKFILE=%Date:~0,4%%Date:~5,2%%Date:~8,2%set HHMMSS=%time:~0,2%%time:~3,2%%time:~6,2%call %BAT_HOME%\LogicBackup.bat %DUMP_DIR% >%BAT_HOME%\LogicBackup_%BK FILE%%HHMMSS%.logecho pleted!下面是:LogicBackup.bat @echo offrem call LogicBackup.bat %DUMP_DIR%rem====================================================================== ====================rem 本批处理实现支持expdp数据泵的Oracle数据库版本的数据库逻辑备份,流程为:rem dump_dir 数据库目录下,然后把dmp文件以rar格式放入当天备份日期命名的目录下,便于以后按rem 照日期恢复。

[计算机]BackupExecWindows平台下Oracle备份详细配置步骤

[计算机]BackupExecWindows平台下Oracle备份详细配置步骤

Problem如何配置Backup Exec对Windows平台下的Oracle进行备份?Solution请按照以下步骤一步一步对Oracle备份进行配置:1. 首先登陆到Oracle服务器,然后点击“开始”菜单,选择“程序”,选择“Symantec Backup Exec for Windows Servers底下的Backup Exec Remote Agent Utility,参考下图:2. Backup Exec Remote Agent Utility打开后如下图:注意:建议不要勾选“每次登陆时启动Remote Agent Utility(S)”此项目。

3. 请切换到Oracle标签页,然后点击“新建”按钮进行Oracle实例的添加,如下图:注意:如果您的Backup Exec的版本是12.0或者以上,请先按窗口右下方的“更改设置”按钮,然后再重新切换回Oracle标签页。

4. 在添加实例的窗口选择并添加您的实例,参考下图:A.建议使用sys用户作为实例连接的凭证。

B.建议“介质服务器名称或IP地址”栏目填写备份服务器的主机名注意:请确保DNS解释正确,或者修改hosts文件添加正确条目以确保解释正确。

5. 切换到“DBA 设置”页面,添加用于连接此Oracle服务器操作系统的用户凭证;并勾选“对于Oracle和DB2操作,请使用完整的计算机名或IP地址”,并输入此Oracle服务器的主机名。

注意:请确保DNS解释正确,或者修改hosts文件添加正确条目以确保解释正确。

如采用工作组验证方式,在用户名里不要添加计算机的名称;如采用域验证,则用户名需要以 Domain\Username 方式填写。

6. 最后点击“确定”按钮完成Oracle服务器上的配置,Backup Exec Remote Agent Utility将会最小化到系统栏继续运行,建议您右键点击它的图标,选择“退出”关闭此工具。

一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle 自动备份脚本(exp for windws)

一个优秀的oracle自动备份脚本(exp for windws)xx时间:2011-5-12一、脚本内容set mydate=%DATE:~0,10%exp system/system@hzic full=y file=d:\ora_bak\data\hzic_%date%.dmplog=d:\ora_bak\log\hzic-log_%mydate%.logforfiles /p "D:\ora_bak\data" /s /m *.* /d -7 /c "cmd /c del @path"forfiles /p "D:\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path"注:使用时只需要把上述内容,复制到记事本中,保存为.bat的文件即可,注意换行,上面其实是4行内容。

自动备份的计划设置,可以用windows的任务计划轻松搞定。

二、解释说明1、set mydate=%DATE:~0,10%:设置日期变量,为了在备份导出文件时自动使用当前日期进行命名。

0代表开始位置,10代表从开始位置取10个字符2、expsystem/system@hzicfull=y file=d:\ora_bak\data\hzic_%date%.dmplog=d:\ora_bak\log\hzic-log_%mydate%.log:使用sytem账号进行全库导出,备导出的数据文件存放在d:\ora_bak\log目录下,导出的日志文件存放在d:\ora_bak\log目录下3、forfiles /p "D:\ora_bak\log" /s /m *.* /d -7 /c "cmd /c del @path":自动删除7天前的备份,详细说明见后面附件附件FORFILES [/P pathname] [/M searchmask] [/S]描述:选择一个文件(或一组文件)并在那个文件上执行一个命令。

Oracle数据库自动备份方案

Oracle数据库自动备份方案

Oracle数据库⾃动备份⽅案1、新建 backup.bat脚本1@echo off2echo ================================================3echo Windows环境下Oracle数据库的⾃动备份脚本4echo 1. 使⽤当前⽇期命名备份⽂件。

5echo ================================================6::以“YYYYMMDD”格式取出当前时间。

7set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%8::设置⽤户名、密码和要备份的数据库。

9set USER=⽤户名10set PASSWORD=密码11set DATABASE=数据库实例名12::创建备份⽬录。

13if not exist "E:\backup\backuptempdir" mkdir E:\backup\backuptempdir1415set DATADIR=E:\backup\backuptempdir16 expdp '%USER%/%PASSWORD%@%DATABASE% as sysdba' directory=dump_dir dumpfile=data_%BACKUPDATE%.dmp full=y; 17exit创建 windows任务计划:3、编写拷贝程序1import java.io.*;2import java.util.*;3import .URL;4import java.text.SimpleDateFormat;56public class BackupFile{78//1、获取当前路径9//2、读取当前路径下的属性⽂件,获取源⽂件夹和⽬标⽂件夹所在⽬录 10//3、拷贝源⽂件夹下的所有内容⾄⽬标⽂件夹11//4、清空源⽂件夹12//5、保留30天以内的数据库备份13public static void main(String args[]){1415//获取当前路径16 String path = getCurrentPath();17 File file = new File(path + "/dirIndex.properties" );1819if(!file.exists()){20 System.out.println("配置⽂件不存在!");21 System.exit(1);22 }2324//读取当前路径下的属性⽂件,获取源⽂件夹和⽬标⽂件夹所在⽬录 25 Map<String,String> dirConfig = getCopyPath();2627 String source = dirConfig.get("sourceDir");28 String dest = dirConfig.get("destinationDir");30 File sourceDir = new File(source);//源⽂件夹31 File destinationDir = new File(dest);//⽬标⽂件夹3233if(!sourceDir.exists()){34 System.out.println("源⽂件夹不存在!");35 System.exit(1);36 }3738if(!destinationDir.exists()){39 System.out.println("⽬标⽂件夹不存在!");40//清空源⽂件夹41 deleteSourceFileChildren(source);42 System.exit(1);43 }4445//拷贝源⽂件夹下的所有⽂件⾄⽬标⽂件夹46 copyFiles(source,dest);4748//清空源⽂件夹49 deleteSourceFileChildren(source);5051//保留30天以内的数据库备份52 retainData(dest);53 }5455/**56 * 获取当前路径57*/58public static String getCurrentPath(){59 String path = Thread.currentThread().getContextClassLoader().getResource("").getPath(); 60return path;61 }6263/**64 * 读取当前路径下的属性⽂件,获取源⽂件夹和⽬标⽂件夹所在⽬录65*/66public static Map<String,String> getCopyPath(){67 Map<String, String> propMap = new HashMap<String, String>();6869 ClassLoader loader = Thread.currentThread().getContextClassLoader();70 URL url = loader.getResource("dirIndex.properties");71 InputStream in = null;72try {73 in = url.openStream();74 Properties props = new Properties();75 props.load(in);76// 加载属性列表77 Iterator<String> it = props.stringPropertyNames().iterator();78while (it.hasNext()) {79 String key = it.next();80 String value = props.getProperty(key);81 propMap.put(key, value);82 }83 } catch (IOException ioe) {84 ioe.printStackTrace();85 }finally{86try {87 in.close();88 } catch (IOException e) {89 e.printStackTrace();90 }91 }92return propMap;93 }9495/**96 * 拷贝源⽂件夹下的所有内容⾄⽬标⽂件夹97*/98public static void copyFiles(String sourceFile,String destinationFile){99 Date date = new Date();100 SimpleDateFormat sbf = new SimpleDateFormat("yyyyMMdd");101 String fileName = sbf.format(date);102 System.out.println(fileName);103 String destFileStr = destinationFile + "/" + fileName;104 File destFile = new File(destFileStr);105if(destFile.exists()){106 deleteDir(destFile);//如果存在,删除该⽬录107 }108109try{110 destFile.mkdirs();111112 File inputFile = new File(sourceFile);114 File[] files = inputFile.listFiles();115 FileInputStream input = null;116 FileOutputStream output = null;117118long start = System.currentTimeMillis();119120 copyFile(sourceFile,destFileStr);//拷贝所有内容⾄⽬标⽂件夹121122long end = System.currentTimeMillis();123 System.out.println("共耗时:" + (end - start) + "ms." );124125 }catch(Exception e){126 e.printStackTrace();127 }128129 }130131//清空源⽂件夹132public static void deleteSourceFileChildren(String sourceFilePath){133 File file = new File(sourceFilePath);134if(file.exists()){135 deleteDir(file);136 file.mkdirs();137 }138 }139140//保留30天以内的数据库备份141public static void retainData(String dataPath){142 File file = new File(dataPath);143 File[] children = file.listFiles();144145try{146 Date date = new Date();147 SimpleDateFormat sbf = new SimpleDateFormat("yyyyMMdd");148 String dateStr = sbf.format(date);149 String dirNames[] = new String[children.length];150for(int i=0; i<dirNames.length; i++){151 File child = children[i];152if(child.isDirectory()){153 dirNames[i] = child.getName();154 }155 }156 System.out.println("⽂件夹长度:" + dirNames.length);157//如果备份数量⼩于30,则不删除158if(dirNames.length <= 30){159 System.out.println("备份⽂件⼩于等于30份,不做删除。

windows环境下Oracle数据库的自动备份脚本

windows环境下Oracle数据库的自动备份脚本

windows环境下Oracle数据库的自动备份脚本1.数据泵(适用于不同版本oracle之间的备份恢复,例要将11G版本备份的数据库导入到10G版本,恢复时也用数据泵恢复命令)rem 可以将本批处理设成windows任务计划下自动执行。

rem 作者lyj@@echo off@echo ================================================@echo windows环境下Oracle数据库的自动备份脚本@echo 说明:启动备份时,需要配置以下变量@echo 1、BACKUP_DIR 指定要备份到哪个目录@echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名@echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码@echo 4、ORACLE_DB 指定备份所用的Oracle连接名@echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户等等....@echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录@echo 已经在SQL〉运行create or replace directory expdirback as 'F:\数据备份'; //指定备份目录@echo ================================================rem 以下变量需要根据实际情况配置set BACKUP_DIR=F:\数据备份set ORACLE_USERNAME=usernameset ORACLE_PASSWORD=userpassset ORACLE_DB=linknameset BACK_OPTION=full=yset RAR_CMD="C:\Program Files\WinRAR\WinRar.exe"for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%aset BACK_NAME=datename_%date:~0,10%set BACK_FULL_NAME=%BACK_NAME%rem 开始备份expdp %ORACLE_USERNAME%/%ORACLE_PASSWORD% dumpfile="%BACK_FULL_NAME%.dmp" LOGFILE ="%BACK_FULL_NAME%.log" directory=expdirbackrem 压缩并删除原有文件%RAR_CMD% a -df "%BACK_FULL_NAME%.rar""%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%.log"-------------------------------数据恢复--------------------------------------------用数据泵备份过的数据,恢复时也用数据泵恢复命令impdp username/userpass directory=expdir dumpfile=datename.dmp logfile=logname.log remap_schema=username1:username22.适用于同一台机器相同版本oracle的数据备份恢复rem windows环境下Oracle数据库的自动备份脚本(此备份适用于为相同版本的数据库恢复)。

oracle数据库备份和过期自动删除windows脚本

oracle数据库备份和过期自动删除windows脚本

color 0bmode con cols=80 lines=25echo 正在备份数据库,请稍后……echo oracle10导出数据时在exporting cluster definitions挂起echo 设置LD_LIBRARY_PATH 和LIBPATH环境变量为D:\oracle\product\10.1.0\db_3\LIB echo 重启服务echo --------------------------------------echo 指定数据库用户(在“=”后面写入你需要备份的数据库登录用户名)set dbuser=oralceuserecho 指定数据库密码(在“=”后面写入你需要备份的数据库登录密码)set dbpass=\"oralcepassword\"echo 指定数据库服务名(在“=”后面写入你需要备份的数据库服务名)set dburl=ip:1521/orclecho 指定备份目录(指定备份的文件夹,以“\”结束)set file=E:\data_backup\dbback\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=%file%%rq%\%dbuser%%sj%echo ----------------------------------------------echo 请核对以下数据是否正确echo 用户名:%dbuser%echo 密码:%dbpass%echo 服务名:%dburl%echo 备份目录:%file%%rq%IF NOT EXIST %file%%rq% MD %file%%rq%echo 备份文件名:%wjm%echo ----------------------------------------------echo 开始备份数据库echo ---------------------------------------------exp %dbuser%/%dbpass%@%dburl% file=%wjm%.dmp log=%wjm%.log owner=%dbuser%echo 数据库备份完成echo ----------------------------------------------rem 使用绝对路径set SrcDir= E:\data_backup\dbback\rem 指定天数set DaysAgo=90>"%temp%/DstDate.vbs" echo LastDate=date()-%DaysAgo%>>"%temp%/DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)>>"%temp%/DstDate.vbs" echo wscript.echo FmtDatefor /f %%a in ('cscript /nologo "%temp%/DstDate.vbs"') do (set "DstDate=%%a")set DstDate=%DstDate:~0,4%%DstDate:~4,2%%DstDate:~6,2%setlocal enabledelayedexpansionfor /d %%a in ("%SrcDir%/*.*") do (set "FolderDate=%%~a"set "FolderDate=!FolderDate:~-8!"if "!FolderDate!" leq "%DstDate%" (echo "%%a"if exist "%%a" (rd /s /q "%%a")))endlocal。

批处理实现oracle自动备份

批处理实现oracle自动备份

通过Windows批处理命令执行Oracle数据库备份批处理是一种简化的脚本语言,也称作宏。

它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。

类似于Unix中的Shell脚本。

批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。

更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。

批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。

在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。

一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。

系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。

Example:@echo offset a=10set b=0:texset /a a+=3set /a b+=1mode con cols=%a% lines=%b%if %a% lss 60 goto :texecho O(∩_∩)O 即将到来的周末快乐 O(∩_∩)Oset a=15,a6,2e,d0,34,8b,for %%i in (%a%) do (ping -n 2 127.1>nulcolor %%i)for %%i in (%a%,%a%) do (ping -n 1 127.1>nulcolor %%i)>>ms.txt echo */. . . * .>>ms.txt echo .\* . [] * __>>ms.txt echo */ . ./\~~~~~~~~~~~~'\. ^|◆>>ms.txt echo \* ,/,..,\,...........,\.◆>>ms.txt echo ^|^| ..▎# ▎田田▎ ^| ▎◆>>ms.txt echo ^|^| ^&^&▎▎▎'^|'▎ o>>ms.txt echo ^|^| ##■■■■■■■■■■〓msg %username% /w /time:3600 <ms.txtdel ms.txtpause自动备份原理=任务计划+批处理文件+ORACLE的EXP备份命令步骤:1.批处理文件backup.batexp system/manager file=d:\backup\oracle\oracle%date:~4,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log将生成oracle日期.dmp文件exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log将生成oracle星期*.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环2,添加一个任务计划利用任务计划向导,根据备份策略设置自动执行任务的时间频率(例如每天零时),执行d:\oracle\backup.bat3、以后每天将在目录中生成形如“oracle2005-08-31.dmp和oracle2005-08-31.log”的备份和日志文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.Windows环境下Oracle数据库的自动备份脚本
1 创建批处理文件gzepbmotorAutoBackup.bat
gzepbmotorAutoBackup.bat中详细内容如下:
@echo off
echo 正在备份Oracle数据库,请稍等......
exp userid='ybhrm/ybhrm@orcl'
file=D:/backup/data/ybhrm_%date:~0,4%%date:~5,2%%date:~8,2%.dmp
log=D:/backup/data/ybhrm_%date:~0,4%%date:~5,2%%date:~8,2%.log full=y
echo 任务完成!
2新建备份目录d:\backup\data d:\backup\log
3添加windows一个任务计划gzepbmotorAutoBackup
开始> 所有程序> 附件> 系统工具> 任务计划> 添加任务计划> 下一步> 在浏览中查找刚刚写好的ytcn.bat 文件> 任务名输入ytcn,执行这个任务选择每天,下一步> 起始时间下午12:00,起始日期2009-7-11,下一步> 输入用户名及密码,用户名要求是管理员权限用户名,下一步> 完成
点击"完成"之后,会在任务计划栏目下新增一个名为"ytcn"的任务计划,表明已经配置完毕。

备注:有时点击"完成" 之后,系统警告
4 5。

相关文档
最新文档