暂无图片
Redo log file 大小分配问题
我来答
分享
杨久直
2019-07-02
Redo log file 大小分配问题

oracle 数据库的logbuffer 包含 shared redo strand

假如logbuffer 大小为200M,CPUcount为64,redologfile大小为 512M

即有4个shared redo strand,每个strand大小为50M。

当logbuffer 开始写入 redolog中时。

会先在logfile中分配出200M的空间,每个strand有50M。

当其中一个strand写满时,剩余的312M是怎么分配呢?

是再一次分配200M每个strand都有50M?

还是就分配50M给先写满的strand?

我是参照文章理解的,不知道我理解是不是就有问题。

文章标题,链接如下

Master Note: Troubleshooting Redo Logs and Archiving (文档 ID 1507157.1)

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=280011502707369&id=1507157.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=19swtxvkgl_745#aref_section25

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Moone

可参考Archived redolog is (significant) smaller than the redologfile. (文档 ID 1356604.1)的算法说明:

1、logfile大小对unfill的logfile空间并无影响,只是浪费的空间比例不同;

2、小的logfile可能导致一份strand写完就需要switch,比如:

128CPU(128/16=8strands,每个16MB)128MB logbuffer、100MB logfile,这样logfile就被分成对应8份(每份12.5MB)

这样logfile在剩余(7*16M)就需要切换,因为logfile没有更多空余空间满足strand需求。很可能归档日志只写入10%(基本新日志稍有事务写入就切换了!);

3、同样的1GB的logfile也会在空余7*16M时产生切换,但是之前能满足8*16MB的空间会被写满,所有使用率是(1024-7*16)/1024=90%

--因此你那种情况是会根据 strand的个数逐步分配的,但是最后8个分配后就将用尽logfile空闲空间,只要1个strand写入将会产生切换。归档日志有7*16M的空白。


image.png


暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
impdp
回答 3
TABLEEXISTSACTIONtruncate参数
oracle 11.2.0.1.0 出现 cursor: pin S wait on X 事件,有什么好的解决办法吗。
回答 4
从awr上找到锁的关键,看看SegmentsbyRowLockWaits这段是什么竞争严重?主要是锁,和操作系统无关。
Oracle adg操作系统跨版本有影响吗?
回答 2
oracleADG是可以进行数据库跨版本搭建的,只是若需要是备库开启为open状态,需要升级对应的数据字典;若只是同一平台不同版本操作系统搭建ADG,数据库版本不变,则完全不影响。
oracle ADG备库访问DBLINK完之后每次都需要提交或者回滚才能访问另外一个吗?
回答 1
已采纳
是因为dblink产生了一个分布式事务。其实不要紧。select之前 settransactionreadonly;
有没有可以自动写plsql的工具,哈哈哈
回答 2
已采纳
PL/SQLDeveloper自带的代码助手功能,可以在输入关键字时自动提示相关的代码。DataGenerator工具,可以生成大量的数据。shortcuts.txt文件,可以将常用的代码缩写保存到文
Oracle 一个库有问题,然后紧急恢复了,发现是5点多备份的,现在还有办法恢复吗?
回答 1
紧急恢复是啥意思?备份是什么备份,增量备份还是全量备份,expdp还是rman?归档有没有开,归档日志还存不存在?参考oracle相关恢复文档实施就可以,如果不能搞定,赶紧找恩墨技术支持一下
Oracle报错:ORA-30653 已达到拒绝限制值
回答 1
altertabledept1rejectlimitunlimited;或者dept1表的某个列值长度太小;
19c的物化视图和如何停止?
回答 2
SELECTFROMV$SESSIONLONGOPS;SELECTFROMDBAJOBSRUNNING;SELECTMVIEWNAME,STALENESS,LASTREFRESHTYPE,COMPIL
DG Broker为什么不推荐上生产?
回答 5
没有这个说法吧,官方开发的管理工具,简单稳定,特别是mrp自动守护,生产环境见多了
oracle数据库sql子查询无法解析到表名
回答 1
是不是用了dblink,如果原来的用了dblink是导不出来的重新要配置
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~