5年前面试题引发的“血案”(番外篇)(总结和乱侃)
這貨是說好的番外篇……
所謂的番外篇其實就是對前面的各個知識點做一些總結(jié)。
血案(1)中的兩個內(nèi)容主要是日志切換時的檢查點和表空間管理。
日志切換其實遠遠沒有簡單,有關(guān)于檢查點和日志文件的內(nèi)容太多了,這題也牽涉到了進程之間的協(xié)作以及管理方式,不是一篇文章能說清楚的,那這里主要補充關(guān)于日志文件狀態(tài)的一些理解。
日志文件分三個常用狀態(tài),current,active和inactive,還有unused,clearing,clearing_current,invalidated。
那關(guān)于日志的狀態(tài)可以查看v$log這個視圖:
current:當(dāng)前的日志文件,也就是說當(dāng)前正在被使用的日志文件,顯然如果要完全恢復(fù)的話那是必須要使用的。
active:活動的日志文件,也就是說雖然當(dāng)前的日志文件沒有被使用,但是它所對應(yīng)的臟數(shù)據(jù)尚未完全被寫入,那在完全恢復(fù)的時候當(dāng)然也是需要的。
inactive:所有的臟數(shù)據(jù)塊都寫入了以后那日志就會變成inactive的狀態(tài),也就是說完全恢復(fù)的時候是用不到的,但是如果是在做不完全恢復(fù)的時候還是需要用到的。在o小白學(xué)ocp的時代,常常把這些狀態(tài)和歸檔搞起來,但是現(xiàn)在看來,兩者是毫無關(guān)系的。
unused :也就是說從來沒有被寫入過的日志文件,剛剛添加的日志文件或者在restlogs以后可能會出現(xiàn)這個狀態(tài)。
clearing:發(fā)出alter database clear log file的時候出現(xiàn)的狀態(tài),之后立刻會變?yōu)閡nused,應(yīng)該不常見到。
clearing_current:如果在對當(dāng)前日志進行操作的時候由于磁盤io或者是寫入文件頭失敗的時候會出現(xiàn)的狀態(tài)。
invalidate:當(dāng)前日志在被歸檔但是卻沒有引起日志的切換出現(xiàn)的狀態(tài),比較詭異,通常是由于歸檔日志文件出錯而導(dǎo)致的狀態(tài)(沒有實驗過,o小白看別人的提問得出的結(jié)論)
表空間管理也可以說很多,根據(jù)面試題的原作者的話,如果你能答出DMT和LMT,那他會繼續(xù)問類似于LMT extent有哪些分配方式(自動Automatic和統(tǒng)一Uniform)之類更深層次的題目,以后面試dba的時候是不是也會被大牛給qj掉……
血案(2)單獨一篇說的是oracle的分區(qū)表和他的索引,那關(guān)于分區(qū)表說得還是比較詳細了,篇幅也比較長,本想就索引再開一篇的,但是貌似太理論了,索引目前還講不出清楚,所以留待下次吧。
血 案(3)關(guān)鍵的部分是rowid,那需要注意的是rowid在實際的表中是以偽列的形式存在的,雖然你可以查閱到,但是他并不占用表的空間,這個概念要搞 清楚。另外rownum和rowid要分清楚,rownum就是類似于行號,用于top分析的時候用,rowid則是oracle定位一條數(shù)據(jù)的唯一標(biāo) 識,具體組成以后有空和大家分享,如果大家等不及的話可以去搜一下,有個被莊老師說成圈圈的大牛寫得很詳細了。
血案(4)的東西蠻多的,有 關(guān)于nested loop和hash join不知道o小白說清楚了沒有……wait event相信通過數(shù)據(jù)庫的簡單監(jiān)控和血案(4)大家應(yīng)該有個模糊的印象了,其實o小白也只是知道一個理論,調(diào)優(yōu)涉及得太少。最后那題應(yīng)用題被pub上很 多人說很經(jīng)典(注意……是5年前……),那o小白也是看別人看來的,實戰(zhàn)經(jīng)驗神馬的對我們還沒工作的人來說最討厭了……
血案(5)開放題也 只能這樣了,能力不足,這種都是經(jīng)驗的積累,你說自己做做實驗也能把數(shù)據(jù)庫給跑慢么……就算跑慢了也頂多就是重裝一次……有關(guān)于raid再抱歉一次,確實 是對raid的理解有了偏差,幸好羊習(xí)習(xí)提醒,最后應(yīng)該是……改對了吧……不過也好,這樣也不會忘記了,犯錯不可怕,還堅持以為自己是對的就尷尬了。另外 么raid3啊神馬的大家有興趣也可以去看看,對于讀寫效率啊,容錯啊這些自己做個總結(jié),這塊無論是做什么應(yīng)該都要知道的吧,自己動動手列張表格沒壞處 的。
番外篇也就總結(jié)一下吧,把那些因為篇幅或者比較偏的東西放出來了,不算是偷懶吧……
轉(zhuǎn)載于:https://blog.51cto.com/oxiaobai/631015
總結(jié)
以上是生活随笔為你收集整理的5年前面试题引发的“血案”(番外篇)(总结和乱侃)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 烦人的橙子中文版(烦人的橙子)
- 下一篇: 养牛的前景分析(养牛的前景)