描述程序結構

2021-08-25 10:55:10 字數 2444 閱讀 2989

程序體系結構

user processes

當資料庫使用者客戶端,批處理或者工具連線到oracle db時啟動

database processes

伺服器程序:可以連線到oracle例項,它在使用者建立會話時啟動 1:1對使用者提供資料服務

後台程序:在啟動oracle例項時啟動 監視資料庫系統層面程序層面是否正常。每乙個變更寫重做日誌,ckpt檢查程序,資料保持一致性

程序kill掉 例項就崩潰了

網路監聽

grid 守護進場 grid是個框架提供asm元件

程序結構 例項裡包含後台程序和伺服器程序 後台程序分為核心的與非核心的

a使用者訪問b使用者 監聽建立連線

資料庫寫程序(dbwn)

可以有多個dbw  乙個server有幾顆cpu就設定幾個dbw

將資料庫緩衝區快取記憶體中經過修改的緩衝區(髒塊)寫入磁碟的兩種方式

在執行其他處理時非同步執行 攢多了寫一次 可以減少i/o的執行

定期執行以推進檢查點

日誌寫程序(lgwr)

將重做日誌快取區寫入磁碟上的重做日誌檔案中

在以下情況下執行寫操作

redo log buffer 1.小     1/3

2.迴圈

3.重做   先寫然後改變資料塊,執行一條insert語句,執行前先生成redo資訊寫入redo然後寫入內存在寫入檔案,對於金融銀行,一定在日誌變更前先寫日誌

使用者程序提交事務處理時

重做日誌緩衝區的三分之一滿時

在dbw程序將經過修改的緩衝區寫入磁碟之前 寫髒塊

確保 redo 是否寫入磁碟,磁碟很容易損壞,如果寫失敗,用redo可以恢復,在企業設定資料庫架構,普通資料庫檔案和日誌檔案不放在一塊,日誌檔案放在更可靠更安全的磁碟上。企業裡用的黑盤可以365*24不容易壞

使用者沒有提交事物,寫了幾個小時沒有三分之一,即使資料庫在閒,也需要每隔3秒寫一次redo

檢查點程序(ckpt)

將檢查點資訊記錄在以下位置

控制檔案

每個資料檔案頭

資料庫檔案:重做日誌檔案,儲存資料檔案,控制檔案

控制檔案:1.記錄資料的結構資訊

2.記錄資料的scn類似於乙個時間

3.記錄備份資訊

4.檢查點資訊

控制檔案對於資料庫非常重要,記錄資料庫變化的資訊

檢查點作用:呼叫dbw程序寫髒塊,檢查記憶體與資料是否一致。在控制檔案也要寫檢查點的資訊,控制檔案始終記錄當前資料庫的時間

ram 掉電就要丟失資料

控制檔案

t1做過檢查點,t2宕機,使用重做日誌恢復t1-t2的資訊,只有通過檢查點資訊才能知道恢復哪些資訊

系統監視器程序(smon)system monitor

在例項啟動時執行恢復

清除不使用的臨時段

清楚臨時的空間,啟動和恢復,是資料庫非常重要的核心程序

程序監視器程序(pmon)

在使用者程序失敗時執行程序恢復

user process clients ——connection——server process 整個過程叫session

程序恢復分為2部:清除資料庫緩衝區快取記憶體

釋放該使用者程序使用的資源

監控會話是否發生空閒會話超時 設定unlimit 

將資料庫服務動態註冊到監聽程式    監聽程式光負責**不知道資料庫當前的狀態

pmon 負責一分鐘到監聽程式註冊一次

恢復器程序(reco)

主要和分布式事物有關        

使用者分布式資料庫配置

自動連線到其它那些與有問題的分布事物處理有關的資料庫

自動解決所有問題的事物處理

刪除對應於問題的事物處理的所有行

歸檔程序(arcn)

在發生日誌切換之後,將重做日誌檔案複製到指定的儲存裝置

可以收集事物處理重做資料,並將該資料傳輸到備用目標位置

兩個資料庫 主機——arc0——備機   arco收集主機資料,把資料同步備機。備庫一直複製主庫的資料,主庫出現故障,切換到備庫

lgwr-日誌檔案——arcn-歸檔檔案

程序啟動順序

oracle grid infrastructure 由作業系統初始化守護程式啟動

1.os

2.grid(asm,iistener,instance)

作業系統初始化守護程式init——包裝指令碼grid infrastructure——守護程式和程序grid infrastructure這些程序起來,grid可以提供服務了

db例項起來,掛載資料庫

oracle grid infrastructure安裝會修改/etc/inittab linux的啟動指令碼的檔案,以確保它自己在計算機每次啟動在相應的執行級別啟動

#cat /etc/inittab

..h1:35:respawn:/etc/init.d/init.ohasd run>/dev/null 2>&1

程序描述控制

程式順序特徵 1.順序性 處理器嚴格按照程式所規定的順序執行,即每乙個操作必須在下乙個操作開始之前結束 2.封閉性 程式在封閉的環境中執行,程式執行時獨佔環境資源,資源狀態,只有本程式可以改變它,程式一旦開始執行,執行結果不受外界干擾 3.可再現性 只要程式執行時的環境和初始條件相同,重複執行的結果...

程序管理 六 程序的描述

pcb包含有關程序的描述資訊 控制資訊以及資源資訊,是程序動態特徵的集中反映。1.系統根據pcb感知程序的存在和通過pcb中所包含的各項變數的變化,掌握程序所處的狀態以達到控制程序活動的目的。2.乙個程序的pcb結構都是全部或部分常駐記憶體的。在建立乙個程序時,首先建立其 pcb,然後根據pcb 中...

程序描述和控制

程序描述和控制 什麼是程序 有以下幾個定義 1 乙個正在執行中的程式。2 乙個正在計算機上執行的程式例項。3 能分配給處理器並由處理器執行的實體。4 乙個具有以下特徵的活動單元 一組指令序列的執行 乙個當前狀態和相關的系統資源集。也可以把程序視為由一組元素組成的實體,程序的兩個基本元素是程式 和 相...