激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

<ul id="buwfs"><strike id="buwfs"><strong id="buwfs"></strong></strike></ul>
    <output id="buwfs"></output>
  • <dfn id="buwfs"><source id="buwfs"></source></dfn>
      <dfn id="buwfs"><td id="buwfs"></td></dfn>
      <div id="buwfs"><small id="buwfs"></small></div>
      <dfn id="buwfs"><source id="buwfs"></source></dfn>
      1. <dfn id="buwfs"><td id="buwfs"></td></dfn>
        始創(chuàng)于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業(yè)
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Oracle體系結構學習筆記

        發(fā)布時間:  2012/7/26 16:41:29

        體系結構和備份恢復原理
        1 Oracle database 最重要的是online redo log
          類比法
          controlfile    :公司高管
          datafile       :生產車間
          online redo log:財務處
        -
         

          注釋:
          system表空間是第一生產車間;
          當公司高管換了,財務處也需要換;

        2 shared pool主要包括:
          library cache:放代碼(sql,pl/sql,java)
          data dictionary cache:放數據字典
          注釋:
          在空間分配上,數據字典是男孩,代碼是女孩,Oracle server有重男輕女思想,若cache命中率低,要看的是女孩,而非男孩。因為會先給男孩喂奶水。
          最近最少使用到代碼會被銷隱掉,否則,不斷的代碼進來,shared pool會內存不足。

        3 large pool
          下列場景需要用到large pool:
           用rman備份與恢復;
           并行sql;
           異步I/O;
           共享服務器模式;
           注釋:
           large pool是shared pool的助理,若沒有l(wèi)arge pool,則會池遷移到shared pool。

        4 java pool
          是個跑馬場,不是放java代碼的地方

        5 database buffer cache和redo log buffer
          1)二者關系:
         redo log buffer         畫家(描述者)
         database buffer cache   模特(被描述者)
          2)LGWR只能有一個;DBWR可以有多個
          3)Oracle愛寫日志,不愛寫數據塊。因為日志的單位是項(200個字節(jié)左右),而數據塊的單位是塊。
          4)redo log buffer要么全寫,要么全不寫;而database buffer cache則悠著點,一次寫一點
          5)什么時候寫日志?
          每3秒寫
         1/3滿寫
         commit的時候寫
         n M臟數據的時候寫
         DBWR寫之前寫
          6)什么時候寫數據塊?
         完全檢查點事件發(fā)生
         超時發(fā)生(增量檢查點)
         臟塊達到域值(增量檢查點)
         沒有free buffer的時候(對上面一條到補充)

        6 Oracle是個交易系統,其交易發(fā)生在database buffer cache里。
          具體交易:
          “讀”:server process去data dictionary cache查詢,將需要的讀到database buffer cache,然后,在PGA構造游標(結果集的指針),每一根指針都指向一個rowid,如果需要排序,連接,一致性讀,則只需要對指針進行操作。所以,PGA是用戶最直接的使用體驗。
          “改”:  申請TADDR
           記日志
           動兩邊事務槽,加行頭鎖
          “寫”:檢查點進程計算工作負載,來定檢查點,在檢查點時,發(fā)生檢查點事件,當檢查點事件發(fā)生時逼著DBWRn按塊第一次變臟的順序寫出一部份,由于這一部分臟塊的寫出,會在日志文件產生檢查點位置。

        7 RBA指針后有日志項,原因有二:
          1)整個表空間級下線
          2)按塊第一次變臟的順序寫

        8 用戶不直接和Oracle server打交道,而是和server process扛上了。
          類比:
          server process      導購小姐
          user   process      客人

        9 “一根骨頭掛點肉”
          這俗語可以形容server process 和PGA的關系
          骨頭:server process
          肉  :PGA
          “一條繩上的兩個螞蚱”
          螞蚱:SADDR,TADDR
          這話是說,新值在寫的時候,舊值會跟著被寫,同呼吸,共命運。所以,讀上來8k,寫下去便是16k,總共I/O為24k。

        10 透過現象看本質
           提交的本質:釋放鎖,寫日志,事務槽進入倒計時
           正常關機的本質:
             1)關閉JAVA進程(Oracle大戰(zhàn)java)
             2)寫檢查點
         a)將current_scn凍結
                b)把data block寫下
         c)讓checkpoint_change#等于current_scn
           注釋:
           select resetlogs_change# a,checkpoint_change# b,current_scn c
           from v$database
           其中,a<b<c
           a:建庫的時間原點
           b:寫數據塊的界,寫后,內存中的所有數據塊多比b來得大。所以,增量檢查點這個會被延遲標識,因為,還沒有全部下來。

        11 system表空間
           1)存放數據字典表
           2)包,過程,函數和觸發(fā)器等pl/sql對象

        12 sysaux表空間
           1)90%用來收集工作負載
           2)10%存放sysman到東西
           類比:
           生活中,水表,電表,煤氣表,這些表上面的度數,都是“逝者如斯夫”,為了比較,合理開支,需要抄表。

        13 buffer的四種狀態(tài)
           free:寫下去的時候
           clean:剛讀上來
           pinned:特殊的clean,被加了latch,正要用
           dirty:被改了

        14 RBA指針的碎碎念
           方向:總是無縫下移
           出生地:控制文件
           指向地:日志文件
           過帳:對應的數據塊已寫到數據文件中
           active :被RBA覆蓋的日志(RBA只有一根)
           完全檢查點會直接把RBA干到重做日志組的最后一條

        15 斷電本質:SGA突然沒有了,實力崩潰
           與斷電本質一致的是:
           干掉SMON進程(kill -9 PID)
           shutdown abort

        16 在mount階段,由SMON去讀控制文件,并比較:
           1)上次關機的SCN             A
              上次關機的checkpoint      B
           2)日志組最后一條的記錄       C
              RBA指針的位置             D
           若正常關機,則 A=B C=D
           若不正常關機,則 A>B  D>C
           這時,就需要派SMON去前滾,按重做日志的記錄在內存中重做一遍,直到C=D。


         


        本文出自:億恩科技【mszdt.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      2. 您可能在找
      3. 億恩北京公司:
      4. 經營性ICP/ISP證:京B2-20150015
      5. 億恩鄭州公司:
      6. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      7. 億恩南昌公司:
      8. 經營性ICP/ISP證:贛B2-20080012
      9. 服務器/云主機 24小時售后服務電話:0371-60135900
      10. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      11. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區(qū)翠竹街1號總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          1
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線