您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > windows下的oracle数据库rman自动备份和恢复文档
数据库rman备份恢复文档一.Rman简介RMAN是ORACLE提供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。二.系统规划数据库备份文件不建议与系统盘(C盘)、oracle数据文件存放盘(D盘)存放在一起,本文单独存放于E盘。注:在进行以下操作前要根据自己的环境建立如下目录“E:\orabackup\”,“’E:\archivelog_backup”,“E:/orabackup_script/”。本文用到的命令中的标点均为英文字符下的标点。三.设置oracle数据库为归档模式(ARCHIVELOG)按以下步骤操作,检查oracle数据库是否为归档模式。1.选择“开始”“系统”“运行”,输入cmd,按回车。2.输入“sqlplus”,按回车。3.输入“system/assysdba”,按回车。4.输入数据库system账号的密码,按回车。5.查看数据库归档模式,输入“archiveloglist;”,按回车。如下图所示。如果“数据库日志模式”为“非存档模式”,则需按照如下步骤开启归档模式:1.设置数据库日志归档路径。输入“altersystemsetlog_archive_dest=’E:\archivelog_backup’scope=spfile;”,按回车。2.关闭数据库。输入“shutdownimmediate;”,按回车。3.启动数据库到mount状态。输入“startupmount;”,按回车。4.更改数据库的归档模式。输入“alterdatabasearchivelog;”,按回车。5.打开数据库。输入“alterdatabaseopen;”,按回车。6.验证数据库是否已归档。输入“alterdatabasearchivelog;”,按回车。如上图所示,若“自动存档”为“启用”模式,则数据库已经启用自动归档模式。四.Oracle数据备份策略通过OracleRMAN实现数据的增量备份,每周进行两次Level0的数据确全备份,其余时间进行Level1的增量备份,;同时每天对Oraclearchivelog进行两次备份(备份次数及备份时间点应根据实际运行情况加以调整),。这样的备份策略的目的时一旦发生故障需要进行数据库恢复时,只需要恢复一个全备份和至多两个增量备份,大大加快了数据库的备份速度。在进行数据库recover时,实际上只需要最后一天的archivelog。LEVEL01101110DAYSunMonTueWedThuFriStatSunRman备份策略示意图五.备份脚本的编写1.编写脚本前要更改rman的默认配置选项(1)选择“开始”“系统”“运行”,输入cmd,按回车。(2)输入“rmantarget/”,按回车。(3)开启控制文件自动备份。输入“configurecontrolfileautobackupon;”,按回车。(4)更改控制文件备份路径。输入“CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO‘E:\orabackup\%F’;”,按回车。(5)备份保留策略。输入“CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF7DAYS;”。基于时间的备份保留策略,保留最近7天的备份文件,可以将数据库系统恢复到最近七天内的任意时刻。任何超过最近七天的数据库备份将被标记为obsolete。2.按照制定的备份策略编写备份脚本(1)设置显示已知文件的扩展名选择“开始”“设置”“控制面板”“文件夹选项”,打开文件夹选项设置页面后,点击上方标签栏的中间,即查看标签栏。在查看标签中,向下拖动右边进度条,找到隐藏已知文件扩展名这个选项,将前面小方框中取消选定。设置完成,点击确定退出。(2)做一个文件后缀为.bat的0级备份批处理文件E:/orabackup_script/auto_level_0_rman.bat。内容如下:remrunrmanrmancmdfile=level_0_rman.txtmsglog=e:/orabackup/level_0_rmanlog%date:~0,10%.log然后新建一个“E:/orabackup_script/level_0_rman.txt”文本文件。内容如下:connecttarget/listbackup;reportobsolete;deleteobsolete;run{allocatechannelch1devicetypedisk;allocatechannelch2devicetypedisk;backupascompressedbackupsetincrementallevel0databaseformat'e:/orabackup/full_%d_%T_%s'plusarchivelogformat'e:/orabackup/arch_%d_%T_%s'deleteallinput;releasechannelch1;releasechannelch2;}(2)做一个文件后缀为.bat的1级备份批处理文件E:/orabackup_script/auto_level_1_rman.bat。内容如下:remrunrmanrmancmdfile=level_1_rman.txtmsglog=e:/orabackup/level_1_rmanlog%date:~0,10%.log然后新建一个“E:/orabackup_script/level_1_rman.txt”文本文件。内容如下:connecttarget/listbackup;reportobsolete;deleteobsolete;run{allocatechannelch1devicetypedisk;allocatechannelch2devicetypedisk;backupascompressedbackupsetincrementallevel1databaseformat'e:/orabackup/level_%d_%T_%s'plusarchivelogformat'e:/orabackup/arch_%d_%T_%s'deleteallinput;releasechannelch1;releasechannelch2;}3.归档备份脚本(1)新建一个文件类型扩展名为.bat的批处理文件,文件名称为“E:/orabackup_script/auto_arch_rman.bat”remrunrmanrmancmdfile=arch_rman.txtmsglog=e:/orabackup/arch_rmanlog%date:~0,10%.log(2)新建一个E:/orabackup_script/arch_rman.txt文本文件connecttarget/run{backuparchivelogalldeleteinputformat'e:/orabackup/arch_%d_%T_%s';}※注意:备份脚本存放在E:/orabackup_script目录六.设置windows定时任务(以windowsserver2003为例)数据库备份策略:全库每周三、日备份1次,其余时间做一级备份,归档1天1次1.设置定时任务每周做一次全库备份(1)开始—设置--控制面板-任务计划-添加任务计划。操作步骤如图所示:(2)找到你所写的0级备份脚本,然后点击打开(3)设置1级备份的定时任务,重复步骤一。然后找到1级备份任务脚本然后打开。2.设置定时任务每天做一次联机日志归档备份开始—设置--控制面板-任务计划-添加任务计划。操作步骤如图所示:六.利用rsync实现rman备份数据的异地备份1.系统环境windows2003rsync服务端:172.16.1.246(远端备份机器)rsync客户端:172.16.1.151(oracle数据库安装端)服务端:cwRsyncServer_4.1.0_Installer客户端:cwRsync_4.1.0_Installer2.rsync服务端安装配置(1)双击cwRsyncServer_4.1.0_Installer.exe然后就一路下一步,安装cwRsync服务端默认有一个管理员账户SvcCWRSYNC,这里修改为administrator,密码为其对应的密码安装完成后,在“开始”“管理工具”“服务”里面就可以看到cwRsync对应的服务了,安装完成后将手动启动改为自动启动服务。(2)修改rsyncd.conf配置文件(一般在C:\ProgramFiles\ICW\rsyncd.conf)usechroot=false#不使用chrootstrictmodes=false#静态模式hostsallow=*#所有IP均可logfile=rsyncd.log#log文件名,可以指定路径uid=0#不指定uid,不加这一行将无法使用任何账户gid=0#不指定gid#Moduledefinitions#Remembercygwinnamingconventions:c:\workbecomes/cygwin/c/work#[test]path=/cygdrive/d/oracle_backupreadonly=false#关闭只读transferlogging=yes#记录传输日志authusers=root#用户名hostsallow=*#所有IP均可secretsfile=/cygdrive/c/rsyncd.secrets#密码文件位置(3)创建密码文件C:\rsyncd.secrets内容为root:123qwe(4)配置文件修改完成后,就手动启动RsyncServer服务,netstat-an,看873端口监听没。3.rsync客户端安装配置(1)双击cwRsync_4.1.0_Installer.exe,然后一路下一步。(2)编写批处理文件定时同步更新分别在编写的rman备份脚本auto_level_0_rman.bat、auto_level_1_rman.bat和auto_arch_rman.bat后面加入C:\ProgramFiles\cwRsync\bin\rsync-avzP–progress/cygdrive/E/orabackup/root@172.16.1.246::testC:\passwd.txtd:\rsync_%date:~0,10%.log(3)创建密码文件C:\passwd.txt内容为123qwe(4)参数说明-a参数,相当于-rlptgoD,-r是递归-l是链接文件,意思是拷贝链接文件;-p表示保持文件原有权限;-t保持文件原有时间;-g保持文件原有用户组;-o保持文件原有属主;-D相当于块设备文件;-z传输时压缩;-P传输进度;-vverbose,详细模式输出;-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步;--progress显示备份过程;--delete删除那些DST中SRC没有的文件,用作同步文件用;七、使用rman备份文件恢复oracle数据库1.参数文件spfile损坏恢复(1)选择“开始”“系统”“运行”,输入cmd,按回车。(2)输入“setoracle_sid=orcl”,按回车。(oracle_sid根据自己库的设置填写)(3)输入“rmantarget/”,按回车(4)输入“setdbid=1335848290”,按回车。Dbid具体
本文标题:windows下的oracle数据库rman自动备份和恢复文档
链接地址:https://www.777doc.com/doc-13478 .html