ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rman 读书笔记

rman 读书笔记

原创 Linux操作系统 作者:周应侯 时间:2012-03-26 09:03:40 0 删除 编辑
未提交的更改也会被写到日志文件中,也会写入到数据文件中~
alter system switch logfile;归档日志文件~
联机备份时,oracle会记录数据库数据文件的整块更改~这意味着联机备份期间总的重做生成会大幅增加,这样在热备份进程执行期间所需的磁盘空间和cpu开销会受到影响。

smr
如果执行客户端安装,并且选择的是administrator选项,就会安装rman
在使用rman执行操作的备份与恢复之前,首先需要设置rman和数据库
10g以前,数据库处于归档模式下,必须手动启动arch进程,
oracle产品的工作原理是非常重要的,只有了解了,才能在恢复数据库时恰当地解决
在精心计划来应对数据库可能出现的问题可能要面对两个问题:
 1、有关体系结构方面的问题是高可用性
 2、随之而来的另一个问题就是备份和恢复
高可用HA指的是一种防止用户发现部分或整个系统(如数据库、网络和硬件等)出现故障的体系结构。
HA解决方案包括的要素:
 镜像驱动器、RAID体系结构、数据库集群、数据库故障切换模式,备份恢复
1、收集备份与恢复策略需求
  在数据库发生故障时,丢失多少数据是可以承受的
  恢复数据库时,您允许的最长时间是多少?
  为了确保能够恢复数据,您愿意投入多少成本?
  备份期间可以关闭系统吗?
2、精心设计备份与恢复计划
  基于用户需求,需要完成数据库的脱机备份还是联机备份
  如果使用联机备份,那么需要多久备份一次归档的重做日志?如何在备份恢复期间确保归档的重做日志不丢失?
  公司关于可恢复性的策略和标准是什么?
  在灾难事件中如何确保系统是可恢复的?
第二章 RMAN体系结构
rman实现一种服务器管理恢复(smr)
  它依赖于oracle RDBMS内核中的内置代码
rman是一个独立的应用程序,它负责建立到oracle数据库的客户端连接,以访问数据库内部的备份和恢复包
rman的核心是命令解释程序
rman实用程序由两部分组成:可执行文件  和  recover.bsq文件
远程运行rman:
 如果您负责管理遍布企业内部的许多数据库,最好在单个客户端系统上将应用程序合并
恢复目录: 用于存储rman备份的历史记录,它含有有关备份发生时间、备份内容和备份大小的元数据。
从每个目标数据库中本地运行rman实际上是管理具有数百个数据库目标大型企业的唯一方法
本地运行rman意味着只需要本地连接数据库,而不需要建立口令文件和配置tnsnames.ora文件。
连接:
  远程:产品服务器,因为dba没有服务器上oracle用户的口令,安全限制
  本地:具备测试和开发oracle的口令,并且它最小化在本地工作站上维护的客户端安装数量,
rman具有兼容性
由于控制文件存储的是数据库文件信息,所以rman会利用控制文件获取备份所需文件的信息,
具体的方法:rman使用controlfile编译文件列表,得到检查点信息,并确定可恢复性。
如何控制文件不含有任何rman备份记录,rman就不能使用备份来执行恢复操作,因此控制文件是rman的一个关键因素,
如果使用rman而不使用恢复目录,就必须重视控制文件的重新构建。执行
 alter database backup controlfile to trace;
命令时,生成的脚步不包含控制文件中标示备份的信息,此时所有的rman信息丢失并且无法恢复
如果将controlfile备份为一个二进制文件而不是一个跟踪文件,所有备份信息都将保留
alter database backup controlfile to '/back.ctl'
数据块备份的工作原理:rman基于备份算法规则来编译要备份的文件列表,基于通道数和同时备份的文件数,rman在oracle共享内存段中创建一些内存缓冲区。一个缓冲区被填满时,输入缓存区中的数据块会被推入输出缓冲区中,如果数据块满足备份的标准并且内存对内存的写操作没有检测到讹误,则该数据块会保留在输出缓冲区中直至输出缓存区被填满,一旦缓冲区中被填满,输出缓冲区中的内容就会被推至备份位置(磁盘或磁带)
误解:
1、要删除空数据块
2、增量备份可以节省备份的时间(因为我们在增量备份期间、任然要通过检查每个数据块头观察数据块之前一次是否 被更改过)
块级备份从生成重做的角度也提供性能增益
由于在备份期间不要求保证数据块的一致性,所以rman不要求热备份模式
rman也不要求用archivelog模式,事实上,rman不允许我们在数据块打开的时候备份一个数据文件,除非是处于archivelog模式
rman可以使用块级备份提供进一步的恢复新选项:块介质恢复
如果在磁带上做备份,就需要使用一个介质管理服务器产品,如果从与目标数据库相同的系统运行介质管理器,磁带子系统会需要额外的系统资源。
恢复目录存储的是与rman备份有关的元数据,在某种意义上,恢复目录可以看做是保存在rman备份和恢复所需的相关信息的副本。
恢复目录可以包含企业中所有数据库的信息
而控制文件只包含关于他自己的数据库的信息
为了使用恢复目录,首先要从rman连接到目标数据库,随后还要在rman中生成到恢复目录的第二个net连接
rman>connect target /
rman>connect catalog rman/password@rcat
rman备份原理:
c>rman target/
rman>backup database;
1、rman生成到目标数据库的连接
--也就是说rman检查oracle_sid变量中的实例名,并在实例上产生一个服务器进程,然后以sysdba的身份登录数据库
2、rman会立即产生一个用于执行备份操作的通道进程,由于默认的设置,只会产生一个通道,由于没有io从属,所以通道进程会在pga中分配内存
3、rman编译sys.dbms_rcvman包,从目标数据库控制文件中请求数据库结构信息,先是确定数据库的版本信息、控制文件本身信息,包括控制文件的类型,当前序列号以及控制文件的创建时间
4、由于全备,所以rman会请求数据库中每个数据文件的信息,并且判断是否存在离线的数据文件,
5、编译了文件列表之后,rman就准备开始执行备份过程。为了保证一致性,rman必须构建快照控制文件,
6、接下来,调用dbms_backup_restore数据包的调用,该调用可以建立备份集
7、rman拥有文件列表,所以他可以为磁盘读取操作分配内存缓冲区,大小为128k的输入缓存区,输入4个,输出1m,输出4个,然后计算总内存
8、分配了内存之后,rman初始化备份片,得到一个唯一的默认名。然后rman开始备份。
9、检查是否使用了spfile,需不需要备份,控制文件需不需要备份
10、开始读取数据文件,将数据块读到内存,从输入到输出,满了写到磁盘或磁带
11、备份完将备份的信息写到控制文件
 
······

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22815499/viewspace-719513/,如需转载,请注明出处,否则将追究法律责任。

下一篇: lock
请登录后发表评论 登录
全部评论

注册时间:2009-11-03

  • 博文量
    56
  • 访问量
    143752