1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Oracle必知基礎(chǔ)總結(jié)

      Oracle數(shù)據(jù)庫的兩種連接方式:專用服務(wù)器連接   和  共享服務(wù)器連接

      按需設(shè)計網(wǎng)站可以根據(jù)自己的需求進行定制,成都網(wǎng)站制作、成都做網(wǎng)站構(gòu)思過程中功能建設(shè)理應(yīng)排到主要部位公司成都網(wǎng)站制作、成都做網(wǎng)站的運用實際效果公司網(wǎng)站制作網(wǎng)站建立與制做的實際意義

      一、Oracle數(shù)據(jù)庫組成:

      oracle server  是由:實例和數(shù)據(jù)庫組成;

      oracle數(shù)據(jù)庫由:數(shù)據(jù)文件   重做日志文件  臨時文件  控制文件   參數(shù)文件 密碼文件等組成 (其中最重要的就是數(shù)據(jù)文件和重做日志文件)

      oracle實例是由:系統(tǒng)全局區(qū)SGA的共享內(nèi)存塊以及大量后臺進程構(gòu)成。

             SGA包括:數(shù)據(jù)庫緩沖區(qū)緩存、日志緩沖區(qū)、共享池、還有(大池、Java池、流池)

             后臺進程:DBWR(數(shù)據(jù)庫寫進程);LGWR(日志寫進程);CKPT(檢查點);SMON(系統(tǒng)監(jiān)控進程);PMON(進程監(jiān)控);ARCH(歸檔進程);RECO恢復(fù);LCKN封鎖;等

         

       PGA:用戶會話還需要服務(wù)器端的內(nèi)存,此內(nèi)存不共享,也稱為程序全局區(qū)PGA,每個會話都有自己的PGA。

      -----從Oracle12C起,全局臨時表所產(chǎn)生的undo可以存放在臨時表空間中。

      《控制文件》

      控制文件是一個相當小的文件(極端情況下能增長到64MB),它儲存了數(shù)據(jù)庫需要的一些文件的位置,還記錄了一些其他信息,如:檢查點的有關(guān)信息,數(shù)據(jù)庫名、數(shù)據(jù)庫創(chuàng)建是時間戳、歸檔重做日志的歷史以及RMAN信息等。

      《重做日志》

      重做日志分為在線重做日志redo和歸檔重做日志。

      online Redo log files--在線重做日志,又稱聯(lián)機重做日志,指Oracle以SQL腳本的形式實時記錄數(shù)據(jù)庫的數(shù)據(jù)更新,換句話說,實時保存已執(zhí)行的SQL腳本到在線日志文件中(按特定的格式)。

      注意:在線重做日志最重要的目標就是在實例失敗后我們能夠恢復(fù)已經(jīng)提交的事務(wù);

      Archive Redo log files--歸檔重做日志,簡稱歸檔日志,指當條件滿足時,Oracle將在線重做日志以文件形式保存到硬盤(持久化)。

      SGA和PGA

      PGA是用戶進程區(qū),也可以這么理解,如果并發(fā)500 那么就需要分配500M的PGA

      PGA是進程專用的內(nèi)存區(qū)

      《重做緩沖區(qū)》

      ---實際上,LGWR進程會在以下任何一種情況發(fā)生時把緩沖區(qū)數(shù)據(jù)刷新輸出到磁盤:

      1、每3秒一次

      2、發(fā)生提交或回滾請求時

      3、要求LGWR切換日志文件時

      4、重做緩沖區(qū)用滿三分之一,或者緩存重做日志數(shù)據(jù)達到1MB時;

      數(shù)據(jù)需要寫到在線重做日志時,在它們被寫到磁盤之前,需要在重做緩沖區(qū)中臨時緩存這些數(shù)據(jù);

      重做日志緩沖區(qū)的默認大小是由log_buffer參數(shù)控制;

      《塊緩沖區(qū)緩存block buffer cache》

      Oracle將數(shù)據(jù)庫塊寫到磁盤之前,或從磁盤上讀取數(shù)據(jù)庫塊之后,就會把這些數(shù)據(jù)庫塊存儲在塊緩沖區(qū)緩存中;

      塊緩沖區(qū)緩存不能太小,要不然 我們的查詢就會永遠也執(zhí)行不完。也不能太大,因為又會搶占其他進程的資源;

      數(shù)據(jù)庫中只有一種塊大小:2KB  4KB  8KB  16KB  32KB中的一種;如果要修改數(shù)據(jù)庫塊,在安裝數(shù)據(jù)庫的時候 在init.ora文件中指定:db_block_size=16384  即可,16384是16K

      《共享池shared pool》

      共享池就是Oracle緩存一些程序數(shù)據(jù)的地方,在解析一個查詢時,解析得到的結(jié)果就緩存在那里。在完成解析整個查詢的任務(wù)之前,Oracle會搜索共享池,看看這個工作是否完成;

      共享池的特點是有大量小的內(nèi)存塊,一般為4KB或更小。我們的目標是使用小塊的內(nèi)存來避免碎片問題,如果大小各不同 很可能出現(xiàn)碎片問題。

      《大池large pool》

      大池是用于被大塊內(nèi)存的分配,而共享池無法處理這么大的內(nèi)存塊。

      《JAVA池》

      JAVA池目的是支持在數(shù)據(jù)庫中運行JAVA,如果用JAVA編寫一個存儲過程,Oracle會在處理代碼時使用Java池的內(nèi)存。

      《流池》

      流池被用來緩沖隊列消息,而且流池對于:goldengate  streams等很重要,這些場景必須要有流池;

      ---SGA自動管理時,statistics_level參數(shù)必須被設(shè)置為typical或者all,因為如果統(tǒng)計信息收集功能沒有啟用,數(shù)據(jù)庫就沒有相關(guān)的歷史記錄來判斷各個組件所需的內(nèi)存大小。

      二、Oracle數(shù)據(jù)庫進程

      一個Oracle實例主要有3類進程:服務(wù)器進程  后臺進程  從屬進程

      ---通過v$bgprocess視圖可以查看數(shù)據(jù)庫所有可能的后臺進程

      select paddr,name,description from v$bgprocess order by paddr desc;

      通過查詢v$process中pname不為空的記錄,來查看系統(tǒng)中正在運行的后臺進程;

      注意:后臺進程也分為兩類:一類是有特定任務(wù)的進程,另一種是能夠執(zhí)行各種其他任務(wù)的進程(如工具進程)

      ---在12C中查看啟動的后臺進程:

      select paddr,name,description from v$bgprocess where paddr <>'00' order by paddr desc;

      (在12C中將啟動大約22個后臺進程,而在11GR2中 只有17個后臺進程)

      1、PMON進程監(jiān)視器

      進程監(jiān)視器(process monitor)負責在連接出現(xiàn)異常終止后進行清理工作。(例如:一個專用服務(wù)器失敗或者出于某種原因被結(jié)束掉,就要由PMON進程負責善后并釋放資源。PMON會回滾未提交的工作,釋放鎖,并釋放之前為失敗進程分配的SGA資源)

      注意:在Oracle12C之前,PMON還負責處理注冊監(jiān)聽的任務(wù),從Oracle12C開始 改由專門的監(jiān)聽注冊后臺進程來注冊實例和服務(wù)到監(jiān)聽器

      2、LREG監(jiān)聽注冊進程

      從Oracle12C開始,LREG進程負責將數(shù)據(jù)庫實例和服務(wù)注冊到監(jiān)聽器中;

      3、SMON系統(tǒng)監(jiān)視器

      SMON進程用來做所有系統(tǒng)級的任務(wù)。SMON所做的工作包括如下幾種:

      ①:清理臨時表空間:(并不是說完全不需要手動清理的)

      ②:合并空閑表空間:(只有在使用數(shù)據(jù)字典的表空間適用)

      ③:針對原來不可用的文件恢復(fù)活動的事務(wù):

      ④:執(zhí)行RAC中失敗節(jié)點的實例恢復(fù):

      ⑤:清理OBJ$:(OBJ$是一個底層的數(shù)據(jù)字典,數(shù)據(jù)庫中幾乎每個對象(表 索引 觸發(fā)器 視圖等)都在其中對應(yīng)一個條目,很多時候,有些條目表示的可能是已經(jīng)刪除的對象,或者表示not there不在哪里的對象)

      ⑥:管理撤銷段:SMON會負責實施撤銷段的自動上下線以及收縮撤銷段;

      ⑦:回滾段離線:

      4、RECO分布式數(shù)據(jù)庫恢復(fù)

      reco有一個非常核心的任務(wù):由于兩階段提交(2pc)期間的崩潰或鏈接丟失等原因,有些事務(wù)可能會保持在準備狀態(tài),這個進程就是要恢復(fù)這些事務(wù);

      5、CKPT檢查點進程

      實施檢查點主要是DBWn進程的工作,CKPT僅僅是協(xié)助實際運行檢查點的進程,來更新數(shù)據(jù)文件的文件頭;

      6、DBWn數(shù)據(jù)庫塊寫入器

      數(shù)據(jù)庫塊寫入器是負責將臟塊寫入磁盤的后臺進程;

      DBWn的性能至關(guān)重要,如果它寫出塊的速度不夠快,不能很快的釋放緩沖區(qū),就會看到free buffer waits和write complete waits這兩個等待事件的數(shù)量和等待事件在增加;其實我們可以配置多個DBWn進程,實際上在Oracle11G可以配置36個,在Oracle12C則多達100個;

      select name,description from v$bgprocess where description like 'db writer process%';   ----來查看數(shù)據(jù)庫有幾個DBWn進程

      7、LGWR日志寫入器:

      LGWR進程負責將SGA中重做日志緩沖區(qū)的內(nèi)容刷新輸出到磁盤;

      8、ARCn歸檔進程

      該進程的任務(wù)是:當LGWR將一個在線重做日志文件填滿時,就將其復(fù)制到另一個位置,此后這些歸檔的重做日志文件就可以用于完成介質(zhì)恢復(fù);

      9、DIAG診斷進程

      該進程在以前的版本中專用語RAC環(huán)境中,從Oracle11G開始 利用ADR(高級診斷庫),它會負責監(jiān)視實列的整體狀況,而且會捕獲處理實列失敗時的所需信息;

      10、FBDA閃回數(shù)據(jù)歸檔進程

      11、DBRM數(shù)據(jù)庫資源管理器進程

      DBRM進程會去實施那些為一個數(shù)據(jù)庫實例配置的資源計劃;

      12.還有一些其他進程:

      LMON 鎖監(jiān)視器

      LMD  鎖管理器守護

      LMSn 鎖管理器服務(wù)器

      LCK0 鎖進程


      網(wǎng)站名稱:Oracle必知基礎(chǔ)總結(jié)
      分享路徑:http://ef60e0e.cn/article/pidjos.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        西宁市| 钟山县| 安化县| 盐源县| 兴和县| 文安县| 遂宁市| 鸡西市| 礼泉县| 慈溪市| 同仁县| 宁都县| 崇信县| 海伦市| 扶绥县| 哈巴河县| 武宣县| 宜宾市| 盈江县| 沁水县| 林州市| 仙桃市| 浦县| 凌云县| 云安县| 兰西县| 洱源县| 瑞安市| 郁南县| 碌曲县| 凭祥市| 毕节市| 泸水县| 札达县| 桓仁| 鹰潭市| 平果县| 萨嘎县| 汨罗市| 德钦县| 丰顺县|