这货是说好的番外篇……

所谓的番外篇其实就是对前面的各个知识点做一些总结。

血案(1)中的两个内容主要是日志切换时的检查点和表空间管理。

日志切换其实远远没有简单,有关于检查点和日志文件的内容太多了,这题也牵涉到了进程之间的协作以及管理方式,不是一篇文章能说清楚的,那这里主要补充关于日志文件状态的一些理解。

日志文件分三个常用状态,current,active和inactive,还有unused,clearing,clearing_current,invalidated。

那关于日志的状态可以查看v$log这个视图:

current:当前的日志文件,也就是说当前正在被使用的日志文件,显然如果要完全恢复的话那是必须要使用的。

active:活动的日志文件,也就是说虽然当前的日志文件没有被使用,但是它所对应的脏数据尚未完全被写入,那在完全恢复的时候当然也是需要的。

inactive:所有的脏数据块都写入了以后那日志就会变成inactive的状态,也就是说完全恢复的时候是用不到的,但是如果是在做不完全恢复的时候还是需要用到的。在o小白学ocp的时代,常常把这些状态和归档搞起来,但是现在看来,两者是毫无关系的。

unused :也就是说从来没有被写入过的日志文件,刚刚添加的日志文件或者在restlogs以后可能会出现这个状态。

clearing:发出alter database clear log file的时候出现的状态,之后立刻会变为unused,应该不常见到。

clearing_current:如果在对当前日志进行操作的时候由于磁盘io或者是写入文件头失败的时候会出现的状态。

invalidate:当前日志在被归档但是却没有引起日志的切换出现的状态,比较诡异,通常是由于归档日志文件出错而导致的状态(没有实验过,o小白看别人的提问得出的结论)

表空间管理也可以说很多,根据面试题的原作者的话,如果你能答出DMT和LMT,那他会继续问类似于LMT extent有哪些分配方式(自动Automatic和统一Uniform)之类更深层次的题目,以后面试dba的时候是不是也会被大牛给qj掉……

血案(2)单独一篇说的是oracle的分区表和他的索引,那关于分区表说得还是比较详细了,篇幅也比较长,本想就索引再开一篇的,但是貌似太理论了,索引目前还讲不出清楚,所以留待下次吧。

血 案(3)关键的部分是rowid,那需要注意的是rowid在实际的表中是以伪列的形式存在的,虽然你可以查阅到,但是他并不占用表的空间,这个概念要搞 清楚。另外rownum和rowid要分清楚,rownum就是类似于行号,用于top分析的时候用,rowid则是oracle定位一条数据的唯一标 识,具体组成以后有空和大家分享,如果大家等不及的话可以去搜一下,有个被庄老师说成圈圈的大牛写得很详细了。

血案(4)的东西蛮多的,有 关于nested loop和hash join不知道o小白说清楚了没有……wait event相信通过数据库的简单监控和血案(4)大家应该有个模糊的印象了,其实o小白也只是知道一个理论,调优涉及得太少。最后那题应用题被pub上很 多人说很经典(注意……是5年前……),那o小白也是看别人看来的,实战经验神马的对我们还没工作的人来说最讨厌了……

血案(5)开放题也 只能这样了,能力不足,这种都是经验的积累,你说自己做做实验也能把数据库给跑慢么……就算跑慢了也顶多就是重装一次……有关于raid再抱歉一次,确实 是对raid的理解有了偏差,幸好羊习习提醒,最后应该是……改对了吧……不过也好,这样也不会忘记了,犯错不可怕,还坚持以为自己是对的就尴尬了。另外 么raid3啊神马的大家有兴趣也可以去看看,对于读写效率啊,容错啊这些自己做个总结,这块无论是做什么应该都要知道的吧,自己动动手列张表格没坏处 的。

番外篇也就总结一下吧,把那些因为篇幅或者比较偏的东西放出来了,不算是偷懒吧……

转载于:https://blog.51cto.com/oxiaobai/631015

5年前面试题引发的“血案”(番外篇)(总结和乱侃)相关推荐

  1. 搞定剑桥面试数学题番外篇2:使用多线程并发“加强版”

    0. 概览 我们在之前三篇博文中已经介绍了如何用多种语言(ruby.swift.c.x64 汇编和 ARM64 汇编)实现一道"超超超难"的剑桥数学面试题: · 有趣的小实验:四种 ...

  2. [zt]数学之美番外篇:平凡而又神奇的贝叶斯方法

    数学之美番外篇:平凡而又神奇的贝叶斯方法 Tags: 数学, 机器学习与人工智能, 计算机科学 save it69 saved tags: 贝叶斯 math bayesian algorithm 数学 ...

  3. 『中级篇』docker之wordpress容器SSL(番外篇)(78)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之wordpress容器SSL(番外篇)(78) 搞了2天终于搞定了,现在分享给大家. apache2 ...

  4. 『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之虚拟机创建vagrant技巧(番外篇)(81) 之前一直用的原生的centos7的源镜像安装虚拟机,然 ...

  5. yxy和志愿者小姐姐番外篇之大宝宝123追番记(补题,淘汰赛)

    1264: yxy和志愿者小姐姐番外篇之大宝宝123追番记 时间限制: 1 Sec  内存限制: 64 MB                                               ...

  6. 转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏

    为什么80%的码农都做不了架构师?>>>    转自:http://blog.csdn.net/pongba/archive/2008/09/21/2958094.aspx 数学之美 ...

  7. 教你从0到1搭建秒杀系统-Canal快速入门(番外篇)

    Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到.本篇介绍一下数据库中间件Canal的使用. 很多时候为了缩短调用延时,我们会对部分接口数据加入了缓存.一旦这些数据 ...

  8. 文本分类入门(番外篇)特征选择与特征权重计算的区别

    文本分类入门(番外篇)特征选择与特征权重计算的区别 在文本分类的过程中,特征(也可以简单的理解为"词")从人类能够理解的形式转换为计算机能够理解的形式时,实际上经过了两步骤的量化- ...

  9. Java微信公众平台开发--番外篇,对GlobalConstants文件的补充

    转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是 ...

最新文章

  1. NASA发现超级地球,真的适宜居住?
  2. mysql 存储过程循环一张表的所有记录_MySQL数据库知识汇总
  3. About SOuP
  4. [数据库] ------ mysql规范
  5. C# Hashtable的序列化
  6. SpringBoot集成MyBatis-Plus分页插件
  7. 开发到底要不要自己做测试?
  8. C++之预处理命令以及宏定义
  9. PowerShell 扩展工具第二波!
  10. Ecology 建模表单 数据库字段与页面字段对应关系显示
  11. Mysql(2)_ binlog文件
  12. ps计算机二级自学教程,计算机二级考试《Photoshop图像处理与制作》
  13. 创业之前必须要做的八个测试(上)
  14. 对于幸福不是悖论的证明,在现代对于幸福探寻
  15. win10安装配置JDK11
  16. 欧文分校的计算机科学博士,加州大学欧文分校
  17. python俄罗斯方块编程思路_少儿编程分享:手把手教你用Python编写俄罗斯方块(十)...
  18. 微信群如何引流最快?微信群裂变引流工具首选这款
  19. 【对比Java学Kotlin】object 关键字
  20. 表格插件:GridManager

热门文章

  1. VTK:简单操作之GaussianRandomNumber
  2. VTK:PolyData之ColorCells
  3. OpenCV霍夫变换的演示代码(附完整代码)
  4. OpenCV“智能剪刀“Intelligent Scissors的实例(附完整代码)
  5. OpenCV GrabCut分割的实例(附完整代码)
  6. OpenGL 网格Mesh
  7. C语言实现自组织映射kohone/trace算法(附完整源码)
  8. QT的QNdefFilter类的使用
  9. QT的QAlphaCoverage类的使用
  10. B13_NumPy数学函数(三角函数,舍入函数)