redo log全面介绍.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
redo log全面介绍

redo log 学习笔记谢礼明日志组和日志文件日志组: v$log status :current(在用) / active(已经归档,但还需要用到) /inactive(目前不用到的) / unused()current 和 active 状态时,该日志文件是不能删除的。组成员: v$logfile日志文件的内容redo log 会记录该表segment的redo操作(正向操作),同时也会记录该表对应 undo segment的redo操作日志切换和检查点涉及4个进程: LGWR , CKPT , DBWR , ARchnalter system switch logifle; -- 手工切换日志alter system checkpoint; -- 手动检查点alter database clear logifle 日志文件; -- 清空该日志文件的内容alter database rename file aaa to bbb; -- 更新控制文件中logfile的位置CKPT发生的条件 1),日志切换 2),手动执行 3),达到 log_checkpoint_timout,log_checkpoint_internal,fatstart_mttr_target参数设计临界点 4),备份命令执行时 5),alter 表空间 offline,onlie时 6),数据库关闭[Q]日志切换时,会自动checkpoint吗?re: 不会经过测试:执行手工切换日志时,实际上日志并没有切换完成,检查点并没有更新。实验过程:1 得到目前的CKPTSELECT checkpoint_change# from v$database;-- 169317582 切换日志ALTER SYSTEM SWITCH LOGFILE; 3 查看切换后的CKPTSELECT checkpoint_change# from v$database;-- 169317584 手工执行CKPTalter system checkpoint;5.查看执行后的CKPTSELECT checkpoint_change# from v$database;--算事务的redo和undo产生redo log大小记录会话开始/结束时的redo_size , 结束 - 开始的redo size 1,估计你事务的大小(要修改多少数据) --利用 v$mystat,v$statname 进行测试 2,再增加10%-20%的开销。修改的行越多,增加的开销比例越小 3,update的话,要加倍。sql语句:select value/1048576 from v$mystat m,v$statname s where m.statistic#=s.statistic# and s.name=redo size ;B) 使用多少undo:select s.sid,s.serial#,q.sql_text,u.name,t.used_ublk,t.used_urec from v$transaction t, v$rollname u, v$session s,v$sql q where t.xidusn=u.usn and t.ses_addr=s.saddr and s.sql_id=q.sql_id(+) ;如何减少redo log的生成a)非归档模式下,insert /*+ append */ 不产生重做日志(实际上会产生的一点,是数据库内部引起的)。归档模式下,insert /*+ append */ 必须配合 nologging 才能不产生redo lo。(nologging单独使用任何情况下都不起效)b) insert /*+ append */ 无论什么时候产生的redo log都是最少的(因为能减少undo 日志的产生)。c) insert /*+ append */ 只针对insert /*+ append */ select有效,对insert /*+ append */ values()无效。d) insert /*+ append */ 时会对表加TM锁,会阻塞表上的除了select以外所有DML语句。e) insert /*+ append */ 直接路径加载(是在高水位线上进行加载),速度比常规加载方式快但可能会造成空间浪费(该表delete操作腾出的空间不会被利用)。f) 如果表有索引,使用 insert /*+ append */ 虽然不会产生redo,但是索引会产生,而且由于索引是复杂的数据结果,产生

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档