成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle數(shù)據(jù)庫進(jìn)程之后臺(tái)進(jìn)程詳解

數(shù)據(jù)庫 Oracle
本文我們?cè)敿?xì)了Oracle數(shù)據(jù)庫進(jìn)程之后臺(tái)進(jìn)程的相關(guān)知識(shí),希望本次的介紹能夠?qū)δ兴鶐椭?/div>

上次我們介紹了:Oracle數(shù)據(jù)庫進(jìn)程之服務(wù)器進(jìn)程詳解,本文我們主要介紹一下Oracle數(shù)據(jù)庫的后臺(tái)進(jìn)程的相關(guān)知識(shí),我們知道,Oracle實(shí)例包括兩部分:SGA 和一組后臺(tái)進(jìn)程。后臺(tái)進(jìn)程執(zhí)行保證數(shù)據(jù)庫運(yùn)行所需的實(shí)際維護(hù)任務(wù)。

例如,有一個(gè)進(jìn)程為我們維護(hù)塊緩沖區(qū)緩存,根據(jù)需要將塊寫出到數(shù)據(jù)文件。另一個(gè)進(jìn)程負(fù)責(zé)當(dāng)在線重做日志文件寫滿時(shí)將它復(fù)制到一個(gè)歸檔目標(biāo)。另外還有一個(gè)進(jìn)程負(fù)責(zé)在異常中止進(jìn)程后完成清理,等等。每個(gè)進(jìn)程都專注于自己的任務(wù),但是會(huì)與所有其他進(jìn)程協(xié)同工作。例如,負(fù)責(zé)寫日志文件的進(jìn)程填滿一個(gè)日志后轉(zhuǎn)向下一個(gè)日志時(shí),它會(huì)通知負(fù)責(zé)對(duì)填滿的日志文件進(jìn)行歸檔的進(jìn)程,告訴它有活干了。

可以使用一個(gè)V$視圖查看所有可能的Oracle 后臺(tái)進(jìn)程,確定你的系統(tǒng)中正在使用哪些后臺(tái)進(jìn)程:

  1. SQL> select paddr, name, descriptionfrom v$bgprocess order by paddr desc;  
  2. PADDR   NAME  DESCRIPTION  
  3. -------- ---------------------------------------------------------------------  
  4. 3621D49C QMNC  AQ Coordinator  
  5. 3621CEE8 ARC2  Archival Process 2  
  6. 3621C934 ARC1  Archival Process 1  
  7. 3621C380 ARC0  Archival Process 0  
  8. 3621A148 MMNL  Manageability Monitor Process 2  
  9. 36219B94 MMON  Manageability Monitor Process  
  10. 362195E0 CJQ0  Job Queue Coordinator  
  11. 3621902C RECO  distributed recovery  
  12. 36218A78 SMON  System Monitor Process  
  13. 362184C4 CKPT  checkpoint  
  14. 36217F10 LGWR  Redo etc.  
  15. PADDR   NAME  DESCRIPTION  
  16. -------- ---------------------------------------------------------------------  
  17. 3621795C DBW0  db writer process 0  
  18. 362173A8 MMAN  Memory Manager  
  19. 36216DF4 PSP0  process spawner 0  
  20. 36216840 PMON  process cleanup  
  21. 00      DIAG  diagnosibility process  
  22. 00      FMON  File Mapping Monitor Process  
  23. 00      LMON  global enqueue servicemonitor  
  24. 00      LMD0  global enqueue servicedaemon 0  
  25. .....  
  26. 00      ASMB  ASM Background  
  27. 00      GMON  diskgroup monitor  
  28. 157 rows selected. 

注意:這個(gè)視圖中PADDR 不是00 的行都是系統(tǒng)上配置和運(yùn)行的進(jìn)程(線程)。有兩類后臺(tái)進(jìn)程:有一個(gè)中心(focused)任務(wù)的進(jìn)程(如前所述)和完成各種其他任務(wù)的進(jìn)程(即工具進(jìn)程)。

例如,內(nèi)部作業(yè)隊(duì)列( jobqueue)有一個(gè)工具后臺(tái)進(jìn)程,可以通過DBMS_JOB 包使用它。這個(gè)進(jìn)程會(huì)監(jiān)視作業(yè)隊(duì)列,并運(yùn)行其中的作業(yè)。在很多方面,這就像一個(gè)專用服務(wù)器進(jìn)程,但是沒有客戶連接。

下面會(huì)分析各種后臺(tái)進(jìn)程,先來看有中心任務(wù)的進(jìn)程,然后再介紹工具進(jìn)程。

中心后臺(tái)進(jìn)程

圖5-4 展示了有一個(gè)中心(focused)用途的Oracle 后臺(tái)進(jìn)程。

Oracle數(shù)據(jù)庫進(jìn)程之后臺(tái)進(jìn)程詳解

啟動(dòng)實(shí)例時(shí)也許不會(huì)看到所有這些進(jìn)程,但是其中一些主要的進(jìn)程肯定存在。如果在ARCHIVELOG 模式下,你可能只會(huì)看到ARCn(歸檔進(jìn)程),并啟用自動(dòng)歸檔。如果運(yùn)行了Oracle RAC,這種Oracle 配置允許一個(gè)集群中不同機(jī)器上的多個(gè)實(shí)例裝載并打開相同的物理數(shù)據(jù)庫,就只會(huì)看到LMD0、LCKn、LMON 和LMSn。

意為簡潔起見,圖5-4 中沒有畫出共享服務(wù)器調(diào)度器(Dnnn)和共享服務(wù)器(Snnn)進(jìn)程。因此,圖5-4 大致展示了啟動(dòng)Oracle 實(shí)例并裝載和打開一個(gè)數(shù)據(jù)庫時(shí)可能看到哪些進(jìn)程。例如,在我的Linux 系統(tǒng)上,啟動(dòng)實(shí)例后,有以下進(jìn)程:

  1. [oracle@db1 ~]$ ps -ef|grep 'ora_.*_dave*'  
  2. oracle   4123     1  0 20:13 ?        00:00:05 ora_pmon_dave1  
  3. oracle   4125     1  0 20:13 ?        00:00:05 ora_psp0_dave1  
  4. oracle   4127     1  0 20:13 ?        00:00:02 ora_mman_dave1  
  5. oracle   4129     1  0 20:13 ?        00:00:05 ora_dbw0_dave1  
  6. oracle   4131     1  0 20:13 ?        00:00:21 ora_lgwr_dave1  
  7. oracle   4133     1  0 20:13 ?        00:00:13 ora_ckpt_dave1  
  8. oracle   4135     1  1 20:13 ?        00:01:12 ora_smon_dave1  
  9. oracle   4137     1  0 20:13 ?        00:00:04 ora_reco_dave1  
  10. oracle   4139     1  0 20:13 ?        00:00:16 ora_cjq0_dave1  
  11. oracle   4141     1  1 20:13 ?        00:01:33 ora_mmon_dave1  
  12. oracle   4143     1  0 20:13 ?        00:00:08 ora_mmnl_dave1  
  13. oracle   4145     1  0 20:13 ?        00:00:00 ora_d000_dave1  
  14. oracle   4147     1  0 20:13 ?        00:00:00 ora_s000_dave1  
  15. oracle   4156     1  0 20:13 ?        00:00:01 ora_arc0_dave1  
  16. oracle   4158     1  0 20:13 ?        00:00:05 ora_arc1_dave1  
  17. oracle   4163     1  0 20:14 ?        00:00:03 ora_qmnc_dave1  
  18. oracle   4167     1  0 20:15 ?        00:00:24 ora_q000_dave1  
  19. oracle   4169     1  020:15 ?        00:00:00 ora_q001_dave1  
  20. oracle   5109     1  1 21:48 ?        00:00:00 ora_j000_dave1  
  21. oracle   5141  5111  0 21:49 pts/4    00:00:00 grep ora_.*_dave2* 

這些進(jìn)程命名規(guī)則:進(jìn)程名都以ora_開頭。后面是4 個(gè)字符,表示進(jìn)程的具體名字,再后面是ORACLE_SID,(站點(diǎn)標(biāo)識(shí)符)。

在UNIX 上,可以很容易地標(biāo)識(shí)出Oracle后臺(tái)進(jìn)程,并將其與一個(gè)特定的實(shí)例關(guān)聯(lián)(在Windows 上則沒有這么容易,因?yàn)樵赪indows 上這些后臺(tái)進(jìn)程實(shí)際上只是一個(gè)更大進(jìn)程中的線程)。

這些進(jìn)程實(shí)際上都是同一個(gè)二進(jìn)制可執(zhí)行程序,對(duì)于每個(gè)“程序”,并沒有一個(gè)單獨(dú)的可執(zhí)行文件。你可以盡可能地查找一下,但是不論在磁盤的哪個(gè)位置上肯定都找不到一個(gè)arc0 二進(jìn)制可執(zhí)行程序,同樣也找不到LGWR或DBW0。這些進(jìn)程實(shí)際上都是oracle(也就是所運(yùn)行的二進(jìn)制可執(zhí)行程序的名字)。它們只是在啟動(dòng)時(shí)對(duì)自己建立別名,以便更容易地標(biāo)識(shí)各個(gè)進(jìn)程。這樣就能在UNIX 平臺(tái)上高效地共享大量對(duì)象代碼。Windows上就沒有什么特別的了,因?yàn)樗鼈冎皇沁M(jìn)程中的線程,因此,當(dāng)然只是一個(gè)大的二進(jìn)制文件。

自動(dòng)存儲(chǔ)管理后臺(tái)(Automatic Storage Management Background,ASMB)進(jìn)程:ASMB 進(jìn)程在使用了ASM 的數(shù)據(jù)庫實(shí)例中運(yùn)行。它負(fù)責(zé)與管理存儲(chǔ)的ASM 實(shí)例通信、向ASM 實(shí)例提供更新的統(tǒng)計(jì)信息,并向ASM 實(shí)例提供一個(gè)“心跳”,讓ASM 實(shí)例知道它還活著,而且仍在運(yùn)行。

重新平衡(Rebalance,RBAL)進(jìn)程:RBAL 進(jìn)程也在使用了ASM 的數(shù)據(jù)庫實(shí)例中運(yùn)行。向ASM磁盤組增加或去除磁盤時(shí),RBAL 進(jìn)程負(fù)責(zé)處理重新平衡請(qǐng)求(即重新分布負(fù)載的請(qǐng)求)。

以下進(jìn)程出現(xiàn)在Oracle RAC 實(shí)例中。RAC 是一種Oracle 配置,即集群中的多個(gè)實(shí)例可以裝載和打開一個(gè)數(shù)據(jù)庫,其中每個(gè)實(shí)例在一個(gè)單獨(dú)的節(jié)點(diǎn)上運(yùn)行(通常節(jié)點(diǎn)是一個(gè)單獨(dú)的物理計(jì)算機(jī))。這樣,你就能有多個(gè)實(shí)例訪問(以一種全讀寫方式)同樣的一組數(shù)據(jù)庫文件。

RAC 的主要目標(biāo)有兩個(gè):

高度可用性:利用Oracle RAC,如果集群中的一個(gè)節(jié)點(diǎn)/計(jì)算機(jī)由于軟件、硬件或人為錯(cuò)誤而失敗,其他節(jié)點(diǎn)可以繼續(xù)工作,還可以通過其他節(jié)點(diǎn)訪問數(shù)據(jù)庫。你也許會(huì)喪失一些計(jì)算能力,但是不會(huì)因此而無法訪問數(shù)據(jù)庫。

可擴(kuò)縮性:無需購買更大的機(jī)器來處理越來越大的工作負(fù)載(這稱為垂直擴(kuò)縮),RAC 允許以另一種方式增加資源,即在集群中增加更多的機(jī)器(稱為水平擴(kuò)縮)。舉例來說,不必把你的4 CPU 機(jī)器擴(kuò)縮為有8 個(gè)或16 個(gè)CPU,通過利用RAC,你可以選擇增加另外一個(gè)相對(duì)廉價(jià)的4 CPU機(jī)器(或多臺(tái)這樣的機(jī)器)。

以下進(jìn)程是RAC 環(huán)境所特有的:

鎖監(jiān)視器(Lockmonitor,LMON)進(jìn)程:LMON 監(jiān)視集群中的所有實(shí)例,檢測是否有實(shí)例失敗。這有利于恢復(fù)失敗實(shí)例持有的全局鎖。它還負(fù)責(zé)在實(shí)例離開或加入集群時(shí)重新配置鎖和其他資源(實(shí)例失敗時(shí)會(huì)離開集群,恢復(fù)為在線時(shí)又會(huì)加入集群,或者可能有新實(shí)例實(shí)時(shí)地增加到集群中)。

鎖管理器守護(hù)(Lockmanager daemon,LMD)進(jìn)程:LMD 進(jìn)程為全局緩存服務(wù)(保持塊緩沖區(qū)在實(shí)例間一致)處理鎖管理器服務(wù)請(qǐng)求。它主要作為代理(broker)向一個(gè)隊(duì)列發(fā)出資源請(qǐng)求,這個(gè)隊(duì)列由LMSn 進(jìn)程處理。LMD 會(huì)處理全局死鎖的檢測/解析,并監(jiān)視全局環(huán)境中的鎖超時(shí)。

鎖管理器服務(wù)器(Lockmanager server,LMSn)進(jìn)程:前面已經(jīng)提到,在一個(gè)RAC 環(huán)境中,各個(gè)Oracle 實(shí)例在集群中的不同機(jī)器上運(yùn)行,它們都以一種讀寫方式訪問同樣的一組數(shù)據(jù)庫文件。為了達(dá)到這個(gè)目的,SGA 塊緩沖區(qū)緩存相互之間必須保持一致。這也是LMSn 進(jìn)程的主要目標(biāo)之一。在以前版本的Oracle 并行服務(wù)器(Oracle Parallel Server,OPS)中,這是通過ping實(shí)現(xiàn)的。也就是說,如果集群中的一個(gè)節(jié)點(diǎn)需要塊的一個(gè)讀一致視圖,而這個(gè)塊以一種獨(dú)占模式被另一個(gè)節(jié)點(diǎn)鎖定,數(shù)據(jù)的交換就要通過磁盤刷新輸出來完成(塊被ping)。如果本來只是要讀取數(shù)據(jù),這個(gè)操作(ping)的代價(jià)就太昂貴了。現(xiàn)在則不同,利用LMSn,可以在集群的高速連接上通過非??焖俚木彺娴骄彺娼粨Q來完成數(shù)據(jù)交換。每個(gè)實(shí)例可以有多達(dá)10 個(gè)LMSn 進(jìn)程。

鎖(Lock,LCK0)進(jìn)程:這個(gè)進(jìn)程的功能與前面所述的LMD 進(jìn)程非常相似,但是它處理所有全局資源的請(qǐng)求,而不只是數(shù)據(jù)庫塊緩沖區(qū)的請(qǐng)求。

可診斷性守護(hù)(Diagnosabilitydaemon,DIAG)進(jìn)程:DIAG 只能用于RAC 環(huán)境中。它負(fù)責(zé)監(jiān)視實(shí)例的總體“健康情況”,并捕獲處理實(shí)例失敗時(shí)所需的信息。

工具后臺(tái)進(jìn)程

這些后臺(tái)進(jìn)程全都是可選的,可以根據(jù)你的需要來選用。它們提供了一些工具,不過這些工具并不是每天運(yùn)行數(shù)據(jù)庫所必需的,除非你自己要使用(如作業(yè)隊(duì)列),或者你要利用使用了這些工具的特性(如新增的Oracle 10g 診斷功能)。

在UNIX 中,這些進(jìn)程可以像其他后臺(tái)進(jìn)程一樣可見,如果你執(zhí)行ps 命令,就能看到這些進(jìn)程。

  1. [oracle@db1 ~]$ ps -ef|grep 'ora_.*_dave*'  
  2. oracle   4123     1  0 20:13 ?        00:00:05 ora_pmon_dave1  
  3. oracle   4125     1  0 20:13 ?        00:00:05 ora_psp0_dave1  
  4. oracle   4127     1  0 20:13 ?        00:00:02 ora_mman_dave1  
  5. oracle   4129     1  0 20:13 ?        00:00:05 ora_dbw0_dave1  
  6. oracle   4131     1  0 20:13 ?        00:00:21 ora_lgwr_dave1  
  7. oracle   4133     1  0 20:13 ?        00:00:13 ora_ckpt_dave1  
  8. oracle   4135     1  1 20:13 ?        00:01:12 ora_smon_dave1  
  9. oracle   4137     1  0 20:13 ?        00:00:04 ora_reco_dave1  
  10. oracle   4139     1  0 20:13 ?        00:00:16 ora_cjq0_dave1  
  11. oracle   4141     1  1 20:13 ?        00:01:33 ora_mmon_dave1  
  12. oracle   4143     1  0 20:13 ?        00:00:08 ora_mmnl_dave1  
  13. oracle   4145     1  0 20:13 ?        00:00:00 ora_d000_dave1  
  14. oracle   4147     1  0 20:13 ?        00:00:00 ora_s000_dave1  
  15. oracle   4156     1  0 20:13 ?        00:00:01 ora_arc0_dave1  
  16. oracle   4158     1  0 20:13 ?        00:00:05 ora_arc1_dave1  
  17. oracle   4163     1  0 20:14 ?        00:00:03 ora_qmnc_dave1  
  18. oracle   4167     1  0 20:15 ?        00:00:24 ora_q000_dave1  
  19. oracle   4169     1  020:15 ?        00:00:00 ora_q001_dave1  
  20. oracle   5109     1  1 21:48 ?        00:00:00 ora_j000_dave1  
  21. oracle   5141  5111  0 21:49 pts/4    00:00:00 grep ora_.*_dave* 

CJQ0 和Jnnn 進(jìn)程:作業(yè)隊(duì)列

在第一個(gè)7.0 版本中,Oracle 通過一種稱為快照(snapshot)的數(shù)據(jù)庫對(duì)象來提供復(fù)制特性。作業(yè)隊(duì)列就是刷新快照(或?qū)⒖煺罩脼楫?dāng)前快照)時(shí)使用的內(nèi)部機(jī)制。

作業(yè)隊(duì)列進(jìn)程監(jiān)視一個(gè)作業(yè)表,這個(gè)作業(yè)表告訴它何時(shí)需要刷新系統(tǒng)中的各個(gè)快照。在Oracle 7.1中,Oracle 公司通過一個(gè)名為DBMS_JOB 的數(shù)據(jù)庫包來提供這個(gè)功能。所以,原先7.0 中與快照相關(guān)的進(jìn)程到了7.1及以后版本中變成了“作業(yè)隊(duì)列”。后來,控制作業(yè)隊(duì)列行為的參數(shù)(檢查的頻度,以及應(yīng)該有

多少個(gè)隊(duì)列進(jìn)程)的名字也發(fā)生了變化,從SNAPSHOT_REFRESH_INTERVAL 和SNAPSHOT_REFRESH_PROCESSES變成了JOB_QUEUE_INTERVAL 和JOB_QUEUE_PROCESSES。在當(dāng)前的版本中,只有JOB_QUEUE_PROCESSES 參數(shù)的設(shè)置是用戶可調(diào)的。

最多可以有1000 個(gè)作業(yè)隊(duì)列進(jìn)程。名字分別是J000,J001,…,J999。這些進(jìn)程在復(fù)制中大量使用,并作為物化視圖刷新進(jìn)程的一部分。基于流的復(fù)制(Oracle9iRelease 2 中新增的特性)使用AQ 來完成復(fù)制,因此不使用作業(yè)隊(duì)列進(jìn)程。

開發(fā)人員還經(jīng)常使用作業(yè)隊(duì)列來調(diào)度一次性(后臺(tái))作業(yè)或反復(fù)出現(xiàn)的作業(yè),例如,在后臺(tái)發(fā)送一封電子郵件,或者在后臺(tái)完成一個(gè)長時(shí)間運(yùn)行的批處理。通過在后臺(tái)做這些工作,就能達(dá)到這樣一種效果:盡管一個(gè)任務(wù)耗時(shí)很長,但在性急的最終用戶看來所花費(fèi)的時(shí)間并不多(他會(huì)認(rèn)為任務(wù)運(yùn)行得快多了,但事實(shí)上可能并非如此)。這與Oracle 用LGWR 和DBWn 進(jìn)程所做的工作類似,他們?cè)诤笈_(tái)做大量工作,所以你不必實(shí)時(shí)地等待它們完成所有任務(wù)。

Jnnn 進(jìn)程與共享服務(wù)器很相似,但是也有專用服務(wù)器中的某些方面。它們處理完一個(gè)作業(yè)之后再處理下一個(gè)作業(yè),從這個(gè)意義上講是共享的,但是它們管理內(nèi)存的方式更像是一個(gè)專用服務(wù)器(其UGA 內(nèi)存在PGA 中,而不是在SGA 中)。每個(gè)作業(yè)隊(duì)列進(jìn)程一次只運(yùn)行一個(gè)作業(yè),一個(gè)接一個(gè)地運(yùn)行,直至完成。正因?yàn)槿绱?,如果我們想同時(shí)運(yùn)行多個(gè)作業(yè),就需要多個(gè)進(jìn)程。這里不存在多線程或作業(yè)的搶占。一旦運(yùn)行一個(gè)作業(yè),就會(huì)一直運(yùn)行到完成(或失?。?。

你會(huì)注意到,經(jīng)過一段時(shí)間,Jnnn 進(jìn)程會(huì)不斷地來來去去,也就是說,如果配置了最多1 000 個(gè)Jnnn進(jìn)程,并不會(huì)看到真的有1 000 個(gè)進(jìn)程隨數(shù)據(jù)庫啟動(dòng)。相反,開始時(shí)只會(huì)啟動(dòng)一個(gè)進(jìn)程,即作業(yè)隊(duì)列協(xié)調(diào)器(CJQ0),它在作業(yè)隊(duì)列表中看到需要運(yùn)行的作業(yè)時(shí),會(huì)啟動(dòng)Jnnn 進(jìn)程。如果Jnnn 進(jìn)程完成其工作,并發(fā)現(xiàn)沒有要處理的新作業(yè),此時(shí)Jnnn 進(jìn)程就會(huì)退出,也就是說,會(huì)消失。因此,如果將大多數(shù)作業(yè)都調(diào)度為在凌晨2:00運(yùn)行(沒有人在場),你可能永遠(yuǎn)也看不到這些Jnnn 進(jìn)程。

QMNC 和Qnnn:高級(jí)隊(duì)列

QMNC進(jìn)程對(duì)于AQ 表來說就相當(dāng)于CJQ0 進(jìn)程之于作業(yè)表。QMNC 進(jìn)程會(huì)監(jiān)視高級(jí)隊(duì)列,并警告從隊(duì)列中刪除等待消息的“出隊(duì)進(jìn)程”(dequeuer):已經(jīng)有一個(gè)消息變?yōu)榭捎谩MNC和Qnnn 還要負(fù)責(zé)隊(duì)列傳播(propagation),也就是說,能夠?qū)⒃谝粋€(gè)數(shù)據(jù)庫中入隊(duì)(增加)的消息移到另一個(gè)數(shù)據(jù)庫的隊(duì)列中,從而實(shí)現(xiàn)出隊(duì)(dequeueing)。

Qnnn 進(jìn)程對(duì)于QMNC 進(jìn)程就相當(dāng)于Jnnn 進(jìn)程與CJQ0 進(jìn)程的關(guān)系。QMNC 進(jìn)程要通知Qnnn 進(jìn)程需要完成什么工作,Qnnn 進(jìn)程則會(huì)處理這些工作。

QMNC 和Qnnn 進(jìn)程是可選的后臺(tái)進(jìn)程。參數(shù)AQ_TM_PROCESSES 可以指定最多創(chuàng)建10 個(gè)這樣的進(jìn)程(分別名為Q000,…,Q009),以及一個(gè)QMNC 進(jìn)程。如果AQ_TM_PROCESSES 設(shè)置為0,就沒有QMNC或Qnnn 進(jìn)程。

不同于作業(yè)隊(duì)列所用的Jnnn進(jìn)程,Qnnn 進(jìn)程是持久的。如果將AQ_TM_PROCESSES 設(shè)置為10,數(shù)據(jù)庫啟動(dòng)時(shí)可以看到10 個(gè)Qnnn 進(jìn)程和一個(gè)QMNC 進(jìn)程,而且在實(shí)例的整個(gè)生存期中這些進(jìn)程都存在。

EMNn:事件監(jiān)視器進(jìn)程(Event Monitor Process)

EMNn進(jìn)程是AQ 體系結(jié)構(gòu)的一部分,用于通知對(duì)某些消息感興趣的隊(duì)列訂購者。通知會(huì)異步地完成。

可以用一些Oracle 調(diào)用接口(Oracle Call Interface,OCI)函數(shù)來注冊(cè)消息通知的回調(diào)?;卣{(diào)是OCI 程序中的一個(gè)函數(shù),只要隊(duì)列中有了訂購者感興趣的消息,就會(huì)自動(dòng)地調(diào)用這個(gè)函數(shù)。EMNn 后臺(tái)進(jìn)程用于通知訂購者, 第一次向?qū)嵗l(fā)出通知時(shí)會(huì)自動(dòng)啟動(dòng)EMNn 進(jìn)程。然后應(yīng)用可以發(fā)出一個(gè)顯式的message_receive(dequeue)來獲取消息。

MMAN:內(nèi)存管理器(Memory Manager)

這個(gè)進(jìn)程是Oracle 10g 中新增的,自動(dòng)設(shè)置SGA 大小特性會(huì)使用這個(gè)進(jìn)程。MMAN 進(jìn)程用于協(xié)調(diào)共享內(nèi)存中各組件(默認(rèn)緩沖區(qū)池、共享池、Java 池和大池)的大小設(shè)置和大小調(diào)整。

MMON、MMNL 和Mnnn:可管理性監(jiān)視器(Manageability Monitor)

這些進(jìn)程用于填充自動(dòng)工作負(fù)載存儲(chǔ)庫(Automatic WorkloadRepository,AWR),這是Oracle 10g中新增的一個(gè)特性。

MMNL進(jìn)程會(huì)根據(jù)調(diào)度從SGA 將統(tǒng)計(jì)結(jié)果刷新輸出至數(shù)據(jù)庫表。

MMON進(jìn)程用于“自動(dòng)檢測”數(shù)據(jù)庫性能問題,并實(shí)現(xiàn)新增的自調(diào)整特性。     Mnnn 進(jìn)程類似于作業(yè)隊(duì)列的Jnnn 或Qnnn 進(jìn)程;MMON 進(jìn)程會(huì)請(qǐng)求這些從屬進(jìn)程代表它完成工作。Mnnn 進(jìn)程本質(zhì)上是臨時(shí)性的,它們將根據(jù)需要來來去去。

CTWR:修改跟蹤進(jìn)程(Change Tracking Process)

這是Oracle 10g 數(shù)據(jù)庫中新增的一個(gè)可選進(jìn)程。CTWR 進(jìn)程負(fù)責(zé)維護(hù)新的修改跟蹤文件。

RVWR:恢復(fù)寫入器(Recovery Writer)

這個(gè)進(jìn)程也是Oracle 10g 數(shù)據(jù)庫中新增的一個(gè)可選進(jìn)程,負(fù)責(zé)維護(hù)閃回恢復(fù)區(qū)中塊的“前”映像,要與FLASHBACKDATABASE 命令一起使用。

其他工具后臺(tái)進(jìn)程

還有另外一些工具進(jìn)程沒有列出。例如,Oracle Data Guard 有一組與之相關(guān)的進(jìn)程,有利于將重做信息從一個(gè)數(shù)據(jù)庫移送到另一個(gè)數(shù)據(jù)庫,并應(yīng)用這些重做信息。還有一些進(jìn)程與Oracle 10g 新增的數(shù)據(jù)泵工具有關(guān),在某些數(shù)據(jù)泵操作中會(huì)看到這些進(jìn)程。另外還有一些流申請(qǐng)和捕獲進(jìn)程。不過,以上所列已經(jīng)基本涵蓋了你可能遇到的大多數(shù)常用的后臺(tái)進(jìn)程。

關(guān)于Oracle數(shù)據(jù)庫進(jìn)程之后臺(tái)進(jìn)程的相關(guān)知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. Oracle 10g內(nèi)存結(jié)構(gòu)之系統(tǒng)全局區(qū)簡介
  2. Oracle數(shù)據(jù)庫中行轉(zhuǎn)列以及Join用法總結(jié)
  3. Oracle regexp_like的相關(guān)知識(shí)及使用示例
  4. Oracle 10g內(nèi)存結(jié)構(gòu)之共享池的相關(guān)知識(shí)及使用簡介
  5. Oracle 10g內(nèi)存結(jié)構(gòu)之排序區(qū)和Java池的相關(guān)知識(shí)簡介
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2011-08-24 10:45:23

Oracle數(shù)據(jù)庫進(jìn)程從屬進(jìn)程

2011-08-24 10:15:55

Oracle數(shù)據(jù)庫服務(wù)器進(jìn)程

2010-10-29 15:54:13

Oracle后臺(tái)進(jìn)程

2010-03-31 14:36:50

Oracle進(jìn)程結(jié)構(gòu)

2010-05-05 16:30:25

Oracle后臺(tái)進(jìn)程

2010-04-06 18:04:09

Oracle數(shù)據(jù)庫

2011-03-25 11:13:15

Oracle數(shù)據(jù)庫進(jìn)程

2010-04-02 09:44:23

Oracle數(shù)據(jù)庫

2010-04-09 16:40:01

Oracle數(shù)據(jù)庫

2011-05-19 13:25:14

Oracle數(shù)據(jù)庫

2020-04-29 15:10:16

Linux命令進(jìn)程

2010-04-02 13:59:08

Oracle數(shù)據(jù)庫

2010-04-14 15:14:11

Oracle數(shù)據(jù)庫

2011-03-11 15:49:52

Oracle數(shù)據(jù)庫

2010-04-16 09:41:42

Oracle數(shù)據(jù)庫查看

2011-03-29 10:47:49

ORACLE數(shù)據(jù)庫

2010-04-29 16:36:19

Oracle數(shù)據(jù)庫

2011-04-11 13:19:41

Oracle數(shù)據(jù)庫

2011-05-17 15:02:15

ORACLE數(shù)據(jù)庫備份

2011-08-18 15:49:21

Oracle厲行計(jì)劃
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区二区不卡 | 伊人春色在线 | 国产色婷婷精品综合在线播放 | 日日摸日日碰夜夜爽2015电影 | 日本精品在线观看 | 国产亚洲成av人片在线观看桃 | 国产一伦一伦一伦 | 亚洲视频免费观看 | 国产精品乱码一区二区三区 | 91看片官网 | 四虎影视| 日韩欧美在线播放 | 久久与欧美 | 免费视频一区二区 | 国产婷婷精品av在线 | 好婷婷网| 国产91久久久久久久免费 | 欧美精品一区二区三区四区 在线 | 亚洲精品一二区 | 精品欧美激情在线观看 | 国产亚洲成av人片在线观看桃 | 免费同性女女aaa免费网站 | 99免费在线观看视频 | 国产免费一级一级 | 超碰人人做 | 精品国产一区二区三区久久 | 欧美mv日韩mv国产网站91进入 | 欧美亚洲一区二区三区 | av免费网站在线观看 | 国产91精品在线 | av 一区二区三区 | 国产精品自产av一区二区三区 | 男女羞羞视频在线观看 | www.国产一区| 国产97在线视频 | 欧美在线观看一区二区 | 精品国产一区二区在线 | 亚洲精品美女在线观看 | 成人性生交a做片 | 激情婷婷 | 亚洲午夜精品一区二区三区他趣 |