数据库备份方案.docx
- 文档编号:10266208
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:13
- 大小:19.55KB
数据库备份方案.docx
《数据库备份方案.docx》由会员分享,可在线阅读,更多相关《数据库备份方案.docx(13页珍藏版)》请在冰豆网上搜索。
数据库备份方案
资料范本
本资料为word版本,可以直接编辑和打印,感谢您的下载
数据库备份方案
地点:
__________________
时间:
__________________
说明:
本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容
数据库备份方案
作者:
OracleConsultingServices
文档创建日期:
createdate\@"MMMMd,yyyy"Aug1,2000
最近变更日期:
createdate\@"MMMMd,yyyy"Mar5,2001
文档引用:
版本号:
v1.0
Title,Subject,LastUpdatedDate,ReferenceNumber,andVersionaremarkedbyaWordBookmarksothattheycanbeeasilyreproducedintheheaderandfooterofdocuments.Whenyouchangeanyofthesevalues,becarefulnottoaccidentallydeletethebookmark.YoucanmakebookmarksvisiblebyselectingTools->Options…ViewandcheckingtheBookmarksoptionintheShowregion.
审批:
Toaddadditionalapprovallines,Press[Tab]fromthelastcellinthetableabove.
AUTOTEXT"PICOracleLogo"\*MERGEFORMATCopyNumber_____
Youcandeleteanyelementsofthiscoverpagethatyoudonotneedforyourdocument.Forexample,CopyNumberisonlyrequiredifthisisacontrolleddocumentandyouneedtotrackeachcopythatyoudistribute.
文档控制
变更记录
SECTIONPAGES\*MERGEFORMAT1
审阅
发行
ThecopynumbersreferencedaboveshouldbewrittenintotheCopyNumberspaceonthecoverofeachdistributedcopy.Ifthedocumentisnotcontrolled,youcandeletethistableandtheCopyNumberlabelfromthecoverpage.
TOC\o"1-3"文档控制PAGEREF_Toc512933348\h2
RMAN备份概述PAGEREF_Toc512933349\h4
在线热备份PAGEREF_Toc512933350\h4
多级增量备份PAGEREF_Toc512933351\h4
并行备份,恢复PAGEREF_Toc512933352\h5
减少所需要的备份数据量PAGEREF_Toc512933353\h5
使用简单PAGEREF_Toc512933354\h5
配置RMANPAGEREF_Toc512933355\h6
CATALOG数据库PAGEREF_Toc512933356\h6
磁带接口PAGEREF_Toc512933357\h7
多级备份策略PAGEREF_Toc512933358\h7
维护RMANPAGEREF_Toc512933359\h12
检查RMAN备份信息PAGEREF_Toc512933360\h12
RMAN信息同步PAGEREF_Toc512933361\h12
使用RMAN进行恢复PAGEREF_Toc512933362\h13
恢复整个数据库PAGEREF_Toc512933363\h13
恢复单个表空间PAGEREF_Toc512933364\h13
其他PAGEREF_Toc512933365\h15
archive方式PAGEREF_Toc512933366\h15
Toupdatethetableofcontents,putthecursoranywhereinthetableandpress[F9].Tochangethenumberoflevelsdisplayed,selectthemenuoptionInsert>IndexandTables,makesuretheTableofContentstabisactive,andchangetheNumberofLevelstoanewvalue.
RMAN备份概述
采用数据库提供的RMAN备份工具有以下的优点:
支持在线热备份
支持多级增量备份
支持并行备份,恢复
减小所需要备份量
备份,恢复使用简单
在线热备份
是指备份不需要关闭数据库进行,在备份的同时可以进行正常的数据库的各种操作,满足了7*24的系统的需要,对于本系统而言,数据库的备份将不会影响INTERNET或INTRANET用户对数据库的访问。
多级增量备份
多级增量备份是指第N级的备份只需要备份最后一次同级或N-1级备份以后发生的改变的数据。
可以通过下图来说明:
上图是一个增量备份的例子,即在第一个星期天做一个增量的0级备份,然后在星期一,星期二做一个增量的2级备份,在星期三做一个增量的1级备份,然后类推。
假设现在在星期五数据库需要做恢复,则可以先恢复第一个星期天的0级备份,,然后恢复星期三的1级备份,再恢复星期四和星期五的2级备份就可以完成数据库的恢复。
因为在本系统录入后的数据数据进入数据库后将大部分变为只读状态,所以采用对这些表空间只备份一次或比经常改变的表空间备份次数更少的方法,将能够很大地减少备份的数据量。
具体的方案如下:
对于表PROD_CONTENT_CN_TBL,PROD_VALUE_TBL由于做了关于序列号的分区,采取的当一个分区满了以后,在数据库里把该分区改成只读状态,然后做一个该表空间的备份,然后在做数据库的日常增量备份时忽略该表空间的数据则能够大大减少要备份的数据量。
并行备份,恢复
RMAN是通过启动数据库的SERVER进程来进行备份和恢复,而且支持启动多个SERVER进程来进行备份和恢复,在同一个SERVER进程内还支持多个BACKUPSET(备份集)的同时产生。
主要是通过设置多个通道及filesperset参数来达到并行的目的。
分配多个通道的语句(以下语句分配两个通道)
Allocatechannel‘dev_1’typedisk;
Allocatechannel‘dev_2’typedisk;
设置在一个通道同时打开的备份文件语句(以下语句设置在一个通道下同时打开3个文件)
backupfilesperset3。
。
。
减少所需要的备份数据量
因为RMAN是工作在数据快一级,所以能够只备份分配的数据快,这样就大大地减少了所需要的备份的数据量,特别是对于预先分配空间的数据库而言。
使用简单
RMAN的使用特别简单,在进行备份和恢复时都不需要指定需要备份或需要恢复的数据文件,RMAN会自动地把备份或恢复所需要的数据文件进行备份或进行恢复。
减少了人为操作可能产生的错误。
如以下是备份整个数据库的语句
backupfulltag'basicdb'format'/bak/bak/basic/basic%u_%p_%c'database;
以下是备份一个表空间的语句
backuptag'tsusers'format'/bak/bak/basic/basic%u_%p_%c'tablespaceusers;
以下是备份归档文件的语句
backupfilesperset3archivelogalldeleteinput;
归档文件会在备份后自动删除。
配置RMAN
配置RMAN包括配置CATALOG数据库,配置数据库与媒体管理软件的接口,制定RMAN的多级备份方案,写RMAN备份脚本
CATALOG数据库
因为RMAN自动维护备份和恢复所需要的各种信息,所以RMAN必须把这些以某种形式保存。
RMAN支持两种形式保存这些信息,数据库的控制文件或创建一个单独的数据库来保存RMAN的信息。
当选择把RMAN的信息存储在控制文件时,控制文件的丢失时将导致备份将不能进行恢复。
所以若采用RMAN做备份,推荐一定采用RMANCATALOG数据库来单独存放备份信息。
这个单独的数据库(称为CATALOG数据库)只需要很小的空间,既可以和被备份的数据库(E10K)放在同一主机上,也可以单独放在另一台主机上(如果条件允许,推荐放在一台单独的主机上来确保最大的可恢复性)。
备份CATALOG数据库:
因为CATALOG数据库包含了所有的备份信息,所以该数据库本身也是需要通过某种方法进行备份,但因为该数据库很小(一年内可能才增加十几二十兆),所以既可以对它进行冷备份,也可以进行逻辑的输出(EXPORT)。
配置CATALOG数据库:
用dbassist创建数据库。
创建表空间
createtablespacets_rman
datafile=’d:
\oratest\rman.dbf’
size=100M;
在该数据库创建RMAN数据库用户:
createuserrmanidentifiedbyrmandefaulttablespacets_rman
temporarytablespacetemp;
grantconnect,resource,RECOVERY_CATALOG_OWNERtorman.
连接到目标数据库和CATALOG数据库
rmantargetHYPERLINKmailto:
system/manager@target_tnsnamesystem/manager@target_tnsnamercvcatHYPERLINKmailto:
rman/rman@catalog_tnsnamerman/rman@catalog_tnsname
创建CATALOG用户的表:
rman>createcatalog
登记目标数据库:
rman>registerdatabase
这样就可以利用该RMAN数据库来备份目标数据库了。
解除登记数据库
启动rman并连接到目标数据库。
%rmantargetsys/change_on_install@prod1nocatalog
RMAN-06005:
connectedtotargetdatabase:
RMAN(DBID=1231209694)
Listthecopiesandbackupsetsrecordedinthecontrolfileandthenissuechange...deletestatementstodeletethemfromtheO/S.See"GeneratingLists"and"DeletingBackupsandCopiesandUpdatingTheirStatusintheRMANMetadata".
UseSQL*PlustoconnecttoyourrecoverycatalogdatabaseandexecutethefollowingqueryintherecoverycatalogtofindthecorrectrowoftheDBtable,settingDB_IDequaltothevalueyouobtainedfromstep1.Forexample,enter:
SQL>SELECTdb_key,db_idFROMdbWHEREdb_id=1231209694;
Thisqueryshouldreturnexactlyonerow.
DB_KEYDB_ID
--------------------
11237603294
1rowselected.
Whilestillconnectedtotherecoverycatalog,enterthefollowing,whereDB_KEYandDB_IDarethecorrespondingcolumnsfromtherowyougotfromthequeryinstep2:
SQL>EXECUTEdbms_rcvcat.unregisterdatabase(db_key,db_id)
Forexample,enter:
SQL>EXECUTEdbms_rcvcat.unregisterdatabase(1,1237603294)
磁带接口
当使用专用的磁带管理工具时,必须配置数据库与磁带的接口,一般是管理工具提供一个动态连接库与数据库进行连接。
以下是一个测试的RMAN脚本:
run{
allocatechannel'dev1'typedisk
resynccatalog;
backupformat‘/archive/ctl%u_%p_%c‘currentcontrolfile;
releasechanneldev1;
}
多级备份策略
采用多级备份是为了减少了恢复所需要的时间和减少每天备份所需要的时间,而又保证系统有很好的恢复性。
但是在恢复时间和备份时间要有一个权衡。
比如只要开始的一个全备份和备份所有产生的归档文件就可以保证把数据库恢复到最新的状态,但是一般来说实际上并不会这么进行(因为在恢复时将需要很长很长的时间),多级备份就是为了解决这样的问题。
以下是一种建议的方案。
每半年做一个数据库的全备份(包含只读表空间)
每个月做一次零级备份(不包含只读表空间)
每个星期做一次一级备份
每天做一个二级备份
任何表空间改成只读状态后做一个该表空间的备份。
当需要时(如四个小时归档文件系统就要接近满了)备份归档文件
数据库全备份脚本:
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backupfulltag'dbfull'format'/o9i/testrman/full%u_%p_%c'database;
sql'altersystemarchivelogcurrent';
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
零级备份脚本(只读表空间除外)
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backupincrementallevel0tag'dbL0'format'/o9i/testrman/basic%u_%p_%c'databaseskipreadonly;
sql'altersystemarchivelogcurrent';
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
一级备份脚本
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backupincrementallevel1tag'dbL1'format'/o9i/testrman/basic%u_%p_%c'ddatabaseskipreadonly;
sql'altersystemarchivelogcurrent';
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
二级备份脚本
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backupincrementallevel2tag'dbL2'format'/o9i/testrman/basic%u_%p_%c'ddatabaseskipreadonly;
sql'altersystemarchivelogcurrent';
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
表空间备份脚本(以users表空间为例)
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backuptag'tsusers'format'/o9i/testrman/basic%u_%p_%c'tablespaceusers;
sql'altersystemarchivelogcurrent';
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
归档文件备份脚本
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
backupfilesperset3archivelogalldeleteinput;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
则每天所需要备份的数据量只有一天的改变量。
而做恢复时最多只要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档文件。
如果不能接受这样的恢复时间,就只能够减少零级备份之间的时间间隔(如可以每个星期做一个零级备份,这样恢复时最多只需要恢复一个星期的数据量)。
备份CATALOG数据库(数据库逻辑输出)
exppafile=exp.dat
其中exp.dat如下
userid=rman/rman
file=rmanexp.dmp
维护RMAN
RMAN的维护工作主要是:
查看备份信息
因为手工删除了备份文件或归档文件需要把RMANCATALOG数据库的信息与手工删除的信息同步。
检查RMAN备份信息
列出已经过时的备份:
RMAN>reportobsolete
删除过时的备份信息
RMAN>allocatechannelformaintenancetypedisk;
RMAN>changebackupsetiddelete;
RMAN>releasechannel;
RMAN信息同步
当手工删除了数据库的归档文件后,要执行以下脚本进行同步:
RMAN>allocatechannelformaintenancetypedisk;
RMAN>changearchivelogallcrosscheck;
RMAN>releasechannel;
当手工删除了数据库的RMAN备份文件后,要执行以下脚本进行同步:
RMAN>allocatechannelformaintenancetypedisk;
RMAN>crosscheckbackup;
RMAN>deleteexpiredbackup;
RMAN>releasechannel;
使用RMAN进行恢复
数据库的的恢复比较复杂,有许多不同的情况必须在了解ORACLE数据库结构的条件下用不同的方法处理,RMAN的好处在于大部分情况不需要理解数据库的结构而使用一些最简单语句来进行恢复,这里只讨论了最常用最普通的恢复情况
恢复整个数据库
在恢复整个数据库之前必须让数据库处于安装的状态(mount状态)
svrmgrl>startupmount
rman>
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocatechannel'dev3'typedisk;
restoredatabase;
recoverdatabase;
releasechanneldev1;
releasechanneldev2;
releasechanneldev3;
}
恢复单个表空间
在恢复该表空间之前让该表空间处于脱机的状态(offline状态)
svrmgrl>altertablespaceusersoffline;
rman>
run{
allocatechannel'dev1'typedisk;
allocatechannel'dev2'typedisk;
allocat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 备份 方案