<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks

    一、數(shù)據(jù)庫的進(jìn)程

    ?

    ?

    <提示>在Windows中如何查看進(jìn)程 (10g)
    ??? 打開【配置和移植工具】- Administrator Assistant for Windows
    ??? 找到數(shù)據(jù)庫后點(diǎn)擊右鍵 - 選擇【進(jìn)程信息】,即可查看。

    ?

    ?

    ?

    ?

    數(shù)據(jù)寫進(jìn)程DBWR

    ?

    ??? 1、將修改過的數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)寫入對應(yīng)數(shù)據(jù)文件
    ??? 2、維護(hù)系統(tǒng)內(nèi)的空緩沖區(qū)

    ?

    ??? 這里指出幾個(gè)容易錯(cuò)誤的概念:
    ??? 1.當(dāng)一個(gè)更新提交后,DBWR把數(shù)據(jù)寫到磁盤并返回給用戶提交完成×
    ??? 2.DBWR會(huì)觸發(fā)CKPT后臺進(jìn)程×
    ??? 3.DBWR不會(huì)觸發(fā)LGWR進(jìn)程×

    ?

    ??? DBWR是一個(gè)很底層的工作進(jìn)程,他批量的把緩沖區(qū)的數(shù)據(jù)寫入磁盤。和任何前臺用戶的進(jìn)程幾乎沒有什么關(guān)系,也不受他們的控制。
    ??? DBWR在一下情況下會(huì)被觸發(fā)開始工作:
    ??? 1.服務(wù)器進(jìn)程將臟數(shù)據(jù)塊移入DIRTY列表到達(dá)其臨界值長度(該長度為DB-BLOCK-WRITE-BATCH的一半)
    ??? 2.服務(wù)器進(jìn)程搜索一定數(shù)量緩存塊后仍未找到可用空閑緩存
    ??? 3.出現(xiàn)超時(shí)(約3s內(nèi)未被啟動(dòng))
    ??? 4.CKPT進(jìn)程會(huì)通過LGWR通知DBWR進(jìn)行寫操作

    ?

    ??? DBWR進(jìn)程若啟動(dòng)太多頻繁,則將降低系統(tǒng)I/O性能;若太久啟動(dòng)一次,則對數(shù)據(jù)庫恢復(fù)造成一定影響。

    ?

    ?

    日志寫進(jìn)程LGWR

    ?

    ??? 將重做日志緩沖區(qū)的數(shù)據(jù)寫入重做日志文件。
    ??? LGWR是一個(gè)必須和前臺用戶進(jìn)程通信的進(jìn)程,當(dāng)數(shù)據(jù)被修改的時(shí)候,系統(tǒng)會(huì)產(chǎn)生一個(gè)重做日志并記錄在重做日志緩沖區(qū)內(nèi)。這個(gè)重做日志可以類似的認(rèn)為是以下的一個(gè)結(jié)構(gòu):

    ?

    SCN=000000001000
    數(shù)據(jù)塊ID
    對象ID=0801
    數(shù)據(jù)行=02
    修改后的數(shù)據(jù)=0011
    ??? 提交的時(shí)候,LGWR必須將被修改的數(shù)據(jù)的重做日志緩沖區(qū)內(nèi)數(shù)據(jù)寫入日志數(shù)據(jù)文件,然后再通知前臺進(jìn)程提交成功,并由前臺進(jìn)程通知用戶。從這點(diǎn)可以看出LGWR承擔(dān)了維護(hù)系統(tǒng)數(shù)據(jù)完整性的任務(wù)。 ?

    ?

    ??? LGWR在以下情況下觸發(fā)工作:
    ??? 1.用戶提交當(dāng)前事務(wù)
    ??? 2.重做日志緩沖區(qū)被寫滿1/3
    ??? 3.有大于1M 重做日志緩沖區(qū)未被寫入磁盤
    ??? 4.每隔3s發(fā)生一次超時(shí),啟動(dòng)LGWR
    ??? 5.DBWR需要寫入的數(shù)據(jù)的SCN號大于LGWR記錄的SCN號,DBWR觸發(fā)LGWR寫入

    ?

    ??? 一個(gè)LGWR進(jìn)程可以對多個(gè)日志文件組成員操作,以避免某個(gè)日志文件損壞的情況下發(fā)生錯(cuò)誤。
    ??? LGWR切換日志時(shí)生成一個(gè)檢查點(diǎn),通知DBWR寫入數(shù)據(jù)。因?yàn)榧磳⒏采w日志文件可能是一個(gè)事務(wù)修改數(shù)據(jù)留下的日志。

    ?

    ?

    歸檔進(jìn)程 ARCH ??

    ?

    ??? 當(dāng)數(shù)據(jù)庫以歸檔方式運(yùn)行的時(shí)候,Oracle會(huì)啟動(dòng)ARCH進(jìn)程,當(dāng)重做日志文件被寫滿時(shí),日志文件進(jìn)行切換,舊的重做日志文件就被ARCH進(jìn)程復(fù)制到一個(gè)或多個(gè)特定的目錄/ 遠(yuǎn)程機(jī)器。這些被復(fù)制的重做日志文件被叫做歸檔日志文件。

    ??? 要啟動(dòng) ARCH 進(jìn)程,除了數(shù)據(jù)庫要運(yùn)行在歸檔模式下外,還需要設(shè)置初始化參數(shù) ARCHIVE_LOG_START TRUE ,否則當(dāng)日志寫滿之后,數(shù)據(jù)庫會(huì)被掛起,等待管理員手動(dòng)歸檔之后重新工作。

    ??? 一個(gè)數(shù)據(jù)庫實(shí)例可以有多個(gè)歸檔進(jìn)程,其數(shù)量由歸檔進(jìn)程參數(shù) LOG_ARCHIVE_MAX_PROCESSES 決定。當(dāng)歸檔進(jìn)程對日志歸檔時(shí),任何進(jìn)程無法訪問日志文件,直到歸檔完畢,因此為了加快歸檔速度,可以啟動(dòng)多個(gè)歸檔進(jìn)程。

    ?

    ?

    檢查點(diǎn)進(jìn)程CKPT

    ?

    ??? 檢查點(diǎn)進(jìn)程 CKPT 負(fù)責(zé)執(zhí)行檢查點(diǎn),并更新控制文件,啟用 DBWR 進(jìn)程將臟緩存塊中的數(shù)據(jù)寫入數(shù)據(jù)文件(該任務(wù)一般由 LGWR 執(zhí)行)。 CKPT 對于許多應(yīng)用情況的都不是必須的,只有當(dāng)數(shù)據(jù)庫數(shù)據(jù)文件很多, LGWR 在檢查點(diǎn)時(shí)明顯降低性能的星狂下才使用 CKPT

    ??? CKPT 的作用主要就是:同步數(shù)據(jù)文件、日志文件和控制文件。由于DBWR/LGWR的工作原理,造成了數(shù)據(jù)文件,日志文件,控制文件的不一至,這就需要CKPT進(jìn)程來同步。CKPT會(huì)更新數(shù)據(jù)文件/控制文件的頭信息。

    ?

    ??? 檢查點(diǎn)的執(zhí)行間隔如果設(shè)置過短,則增加磁盤的 I/O 操作,過長則數(shù)據(jù)庫恢復(fù)將消耗太多時(shí)間。可以根據(jù)以下參數(shù)來設(shè)置檢查點(diǎn)的間隔時(shí)間:

    ??? LOG_CHECKPOINT_TIMEOUT :決定執(zhí)行檢查點(diǎn)的時(shí)間間隔

    ??? LOG_CHECKPOINT_INTERVAL :設(shè)置每產(chǎn)生多少個(gè)日志文件數(shù)據(jù),系統(tǒng)產(chǎn)生一個(gè)檢查點(diǎn)

    ?

    ??? CKPT工作的主要條件如下
    ??? 1. 在日志切換的時(shí)候
    ??? 2. 數(shù)據(jù)庫用 immediate、transaction、normal 選項(xiàng) shutdown 數(shù)據(jù)庫時(shí)
    ??? 3. 根據(jù)LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET 的設(shè)置值執(zhí)行

    ??? 4. 用戶觸發(fā)

    ?

    ?

    系統(tǒng)監(jiān)控SMON

    ?

    ??? 系統(tǒng)監(jiān)控進(jìn)程 SMON 在市局哭實(shí)例啟動(dòng)時(shí),負(fù)責(zé)對數(shù)據(jù)庫進(jìn)行回復(fù)操作。如數(shù)據(jù)庫非正常關(guān)閉,則下次啟動(dòng)時(shí) SMON 將根據(jù)重做日志文件對數(shù)據(jù)庫進(jìn)行恢復(fù)。 SMON 在實(shí)例啟動(dòng)時(shí)執(zhí)行一次,其他時(shí)候則在其他進(jìn)程需要時(shí)重新啟動(dòng)。

    ?

    ??? SMON 的工作主要包含:
    ??? 1. 在系統(tǒng)啟動(dòng)時(shí),完成系統(tǒng)實(shí)例恢復(fù)
    ??? 2. 清除臨時(shí)空間
    ??? 3. 聚結(jié)空閑空間
    ??? 4. 從不可用的文件中恢復(fù)事務(wù)的活動(dòng)
    ??? 5. OPS中失敗節(jié)點(diǎn)的實(shí)例恢復(fù)
    ??? 6. 清除OBJ$表
    ??? 7. 縮減回滾段
    ??? 8. 使回滾段脫機(jī)

    ?

    ?

    進(jìn)程監(jiān)控PMON

    ?

    ??? 進(jìn)程監(jiān)控進(jìn)程 PMON 在用戶進(jìn)程出現(xiàn)故障時(shí)執(zhí)行進(jìn)程恢復(fù),并負(fù)責(zé)清理內(nèi)存區(qū)、釋放該進(jìn)程所使用的資源。例如用戶未從數(shù)據(jù)庫退出的情況下直接關(guān)閉客戶端程序,或由于網(wǎng)絡(luò)中斷而使數(shù)據(jù)庫連接非正常中斷,均會(huì)由 PMON 清除失效的用戶進(jìn)程,釋放用戶進(jìn)程所用的資源。

    ?

    ??? 此外 PMON 進(jìn)程還會(huì)周期性地檢查調(diào)度程序和服務(wù)進(jìn)程的狀態(tài),如果它們失敗, PMON 將嘗試重啟它們,并釋放資源。例如:PMON將回滾未提交的工作,釋放鎖,釋放分配給失敗進(jìn)程的SGA資源。

    ?

    ?

    分布式恢復(fù)RECO

    ?

    ??? RECO 負(fù)責(zé)解決分布事物中的故障。

    ??? 在分布式數(shù)據(jù)庫系統(tǒng)中包含了多個(gè)數(shù)據(jù)庫實(shí)例,他們像一個(gè)數(shù)據(jù)庫一樣運(yùn)行,其中任何一個(gè)實(shí)例都可以修改其他數(shù)據(jù)庫的數(shù)據(jù)。當(dāng)由于網(wǎng)絡(luò)問題,有些遠(yuǎn)程修改過程處于懸而未決的狀態(tài)。RECO進(jìn)程會(huì)試圖建立與遠(yuǎn)程服務(wù)器的通信,當(dāng)故障消除后,RECO進(jìn)程自動(dòng)解決所有懸而未決的會(huì)話。

    ?

    ?

    用戶進(jìn)程User Process

    ?

    ??? 在客戶端,負(fù)責(zé)將用戶的SQL語句傳遞給服務(wù)進(jìn)程,并從服務(wù)器段拿回查詢數(shù)據(jù)。

    ?

    ?

    服務(wù)進(jìn)程Server Process

    ?

    ??? 服務(wù)進(jìn)程的分類:
    ??? 1 、專用服務(wù)進(jìn)程(Dedicated Server Process)
    ??????? 此時(shí)各個(gè)服務(wù)進(jìn)程是完全獨(dú)立的,一個(gè)服務(wù)進(jìn)程對應(yīng)一個(gè)用戶進(jìn)程,直到用戶斷開與實(shí)例間的連接才會(huì)終止。
    ??? 2 、共享服務(wù)進(jìn)程(MultiTreaded Server Process)
    ??????? 一個(gè)服務(wù)進(jìn)程對應(yīng)多個(gè)用戶進(jìn)程,輪流為用戶進(jìn)程服務(wù)。可以用少量服務(wù)進(jìn)程通過調(diào)度進(jìn)程為任意數(shù)量的用戶進(jìn)程服務(wù)。

    ?

    ?

    調(diào)度進(jìn)程 Dnnn

    ?

    ??? 調(diào)度進(jìn)程 Dnnn 是位于用戶進(jìn)程與共享服務(wù)進(jìn)程之間的關(guān)鍵進(jìn)程。它負(fù)責(zé)將用戶進(jìn)程分配給空閑的服務(wù)進(jìn)程,并將處理后的結(jié)果返回給用戶進(jìn)程。

    ??? 管理員可根據(jù)情況配置多個(gè)調(diào)度程序,其名稱依次為: D000 D111 D222 、……、 Dnnn

    ?

    ?

    ?

    ?

    ?





    -The End-

    posted on 2008-08-21 11:48 decode360-3 閱讀(232) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 久久午夜免费鲁丝片| 在线观看日本亚洲一区| 亚洲av不卡一区二区三区 | 牛牛在线精品观看免费正| 亚洲乱码日产精品一二三| 亚洲情A成黄在线观看动漫软件| 亚洲国产精品xo在线观看| 91亚洲精品麻豆| 亚洲一卡2卡3卡4卡乱码 在线| 97久久精品亚洲中文字幕无码 | 亚洲高清偷拍一区二区三区| 亚洲AV网站在线观看| 亚洲精品动漫人成3d在线| 久久精品亚洲乱码伦伦中文| 国产亚洲大尺度无码无码专线| 亚洲精品成人无码中文毛片不卡| 亚洲乱码日产一区三区| 亚洲AV日韩AV永久无码免下载| 亚洲精品无码不卡| 亚洲国产亚洲综合在线尤物| 亚洲一线产品二线产品| 美女被艹免费视频| 99精品免费视品| 8x8x华人永久免费视频| 啦啦啦中文在线观看电视剧免费版 | 亚洲成人黄色在线| 亚洲永久网址在线观看| 免费的黄网站男人的天堂| 91视频精品全国免费观看| 无码日韩精品一区二区免费暖暖 | free哆啪啪免费永久| 野花高清在线观看免费完整版中文| 特级淫片国产免费高清视频| 亚洲国产专区一区| 亚洲精品自产拍在线观看动漫| 亚洲AV一二三区成人影片| 免费观看又污又黄在线观看| 99久久成人国产精品免费| 国产2021精品视频免费播放| 又粗又大又长又爽免费视频| 国精无码欧精品亚洲一区 |