rman备份原理

1 . 进入rman软件

2 . connect target /
rman以sysdba连接数据库,连接数据库建立一个专用服务器进程,并创建两个服务进程(主要进程和次要进程)。

show all;查看所有的参数设置,如果需要可以修改,(比如修改通道和过期时间,备份位置),然后执行备份。
3 . backup database;
下发备份命令之后,会建立一个通道进程,通道程序会在pga中分配。rman主要进程对DBMS_RCVMAN调用,从控制文件解析出数据库结构信息(确定版本和控制文件信息(类型,当前序列号,创建时间))。
如果是数据库完全备份,rman会请求数据库的每一个数据文件的信息,判断是否离线,所在磁盘和数据文件的工作方式。

rman就准备开始备份了。为了保持一致性rman会先构建控制文件快照。

rman主要进程对DBMS_BACKUP_RESTORE的调用,并根据数据文件数分配输入和输出缓冲区(分配内存)。分配了内存后,rman初始化备份片,备份片得到了一个唯一的默认名字。

当备份片初始化完成,通道进程开始数据库备份。rman会判断是否使用了spfile,如果用了spfile会自动备份spfile成为备份集的一部分。还要备份当前的控制文件。

完成控制文件和spfile的备份,通道进程开始读取数据文件并将数据块推入输入缓冲区,之后从输入缓冲区到输出缓冲区的内存队列。

内存的写操作。在这个写操作期间,rman会判断块是否被初始化或数据块头信息是否为零。如果块用过(块头信息不为0),rman会在这个块上执行效验操作。如块头和脚注不匹配,rman会指出存在error的数据块并终止备份。如通过则数据块被推入输出缓冲区。

一般输出缓冲区填满,就会把输出缓冲区的内容转存到备份文件位置。输出缓冲区里有来自各个数据文件的块杂乱无章,只有rman能还原到正确位置。在备份片写入数据块时,可从rman的次要进程得到备份的状态信息,次要进程在数据库上检查过程调用信息。

一旦一个数据文件的所有数据块都被读入输入缓冲区并且确定了状态,rman就会通过将这个数据文件头写入备份片来结束该文件的备份操作。所有数据文件头都被写入备份片之后,rman(主要进程)会生成最后一个对DBMS_BACKUP_RESTORE的调用,这个调用向控制文件中写入备份信息,包含备份片名,启动备份操作时的scn,完备备份操作时间。

这就是备份的所有工作流程!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值