最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

理解redo(6)日志却的流程和直接路径加载的REDO分析

来源:懂视网 责编:小采 时间:2020-11-09 11:14:48
文档

理解redo(6)日志却的流程和直接路径加载的REDO分析

理解redo(6)日志却的流程和直接路径加载的REDO分析:当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下redo log file是否有足够的空间。倘若空间 当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下red
推荐度:
导读理解redo(6)日志却的流程和直接路径加载的REDO分析:当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下redo log file是否有足够的空间。倘若空间 当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下red

当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下redo log file是否有足够的空间。倘若空间

当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下redo log file是否有足够的空间。倘若空间不足,则sp会发送switch log file的请求,,然后坐等log file switch completion事件的完成了。

日志却请求发出后,CKPT会进行一次增量检查点事件,而LGWR开始进行日志却换工作。

具体流程如下:

1)LGWR进程会通过控制文件中的双向链表,查找到一个可用的REDO LOG文件,作为新的CURRENT REDO LOG。

算法如下:

日志文件是inactive,并且已经归档了

优先使用unused日志文件组

2)将redo log buffer中还未写入的redo entries flush到current online redo log file,并且将最后一条redo entries的SCN作为本日志文件的high SCN记录在redo log header里面,然后关闭current online redo log file。

3)进行第二次控制文件事务,将刚刚关闭的REDO LOG标识为ACTIVE(这是个增量检查点事件,之所以标识为active,是因为它所保护的dirty buffer可能还未写到数据文件,如果已经全部写到磁盘了,则可以标识为inactive)将新的当前REDO LOG标识为CURRENT,如果数据库处于归档模式,还要将老的日志组记录到控制文件归档列表记录中,并且通知ARCn对该日志文件进行归档。

4)LGWR打开新的日志组的所有成员,在日志文件头记录当前日志sequence#和第一个redo block 的SCN(LOW SCN)

5)LGWR修改SGA中的标志位,允许生成新的REDO LOG信息

综上所述,日志切换是一种较为昂贵的操作。因为在却换期间,对数据库所有的交易都将被阻塞。但是加大REDO LOG文件大小和丢失数据的多少是无关的。理由:

1)redo entries是顺序写入的,写入一个和写入多个,对于恢复而言是一样的

2)存储故障,受影响的肯定是所有的REDO LOG文件

ARCHIVE模式下,直接路径加载会记录REDO。在非ARCHIVE LOG 模式下,直接路径加载这个动作不会记录REDO,但是Oracle由于系统改动需要维护段、区、表空间等而会产生REDO的。

下面将redo log file给dump出来

linux

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

理解redo(6)日志却的流程和直接路径加载的REDO分析

理解redo(6)日志却的流程和直接路径加载的REDO分析:当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下redo log file是否有足够的空间。倘若空间 当server process得到redo allocation latch进行redo log buffer分配之前,需要先嗅一下red
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top