程序體系結構
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 乙個具有以下特徵的活動單元 一組指令序列的執行 乙個當前狀態和相關的系統資源集。也可以把程序視為由一組元素組成的實體,程序的兩個基本元素是程式 和 相...