認證基礎:ORACLE的系統概述

來源:互聯網
上載者:User

ORACLE公司自86年推出版本5開始,系統具有分布資料庫處理功能.88年推出版本6,ORACLE RDBMS(V6.0)可帶交易處理選項(TPO),提高了交易處理的速度.1992年推出了版本7,在ORACLE RDBMS中可帶過程資料庫選項(procedural database option)和並行伺服器選項(parallel server option),稱為ORACLE7資料庫管理系統,它釋放了開放的關係型系統的真正潛力。ORACLE7的協同開發環境提供了新一代整合的軟體生命週期開發環境,可用以實現高生產率、大型交易處理及客戶/伺服器結構的應用系統。協同開發環境具有可移植性,支援多種資料來源、多種圖形化使用者介面及多媒體、多民族語言、CASE等協同應用系統。

    一、ORACLE系統

    1.ORACLE產品結構及組成

    ORACLE系統是由以RDBMS為核心的一批軟體產品構成.

    2.ORACLE系統特點

    ORACLE公司於1979年,首先推出基於SQL標準的關聯式資料庫產品,可在100多種硬體平台上運行(所括微機、工作站、小型機、中型機和大型主機),支援很多種作業系統。使用者的ORACLE應用可方便地從一種電腦配置移至另一種電腦配置上。ORACLE的分布式結構可將資料和應用駐留在多台電腦上,而相互間的通訊是透明的。1992年6月ORACLE公司推出的ORACLE7協同伺服器資料庫,使關聯式資料庫技術邁上了新台階。根據IDG(國際資料集團)1992年全球UNIX資料庫市場報告,ORACLE佔市場銷售量50%。它之所以倍受使用者喜愛是因為它有以下突出的特點:

    支援大資料庫、多使用者的高效能的交易處理。ORACLE支援最大資料庫,其大小可到幾百千兆,可充分利用硬體裝置。支援大量使用者同時在同一資料上執行各種資料應用,並使資料爭用最小,保證資料一致性。系統維護具有高的效能,ORACLE每天可連續24小時工作,正常的系統操作(後備或個別電腦系統故障)不會中斷資料庫的使用。可控制資料庫資料的可用性,可在資料庫級或在子資料庫級上控制。

    ORACLE遵守資料存取語言、作業系統、使用者介面和網路通訊協定的工業標準。所以它是一個開放系統,保護了使用者的投資。美國標準化和技術研究所(NIST)對ORACLE7 SERVER進行檢驗,100%地與ANSI/ISO SQL89標準的二級相相容。

     實施安全性控制和完整性控制。ORACLE為限制各監控資料存取提供系統可靠的安全性。ORACLE實施資料完整性,為可接受的資料指定標準。

    支援分散式資料庫和分布處理。ORACLE為了充分利用電腦系統和網路,允許將處理分為資料庫伺服器和客戶應用程式,所有共用的資料管理由資料庫管理系統的電腦處理,而運行資料庫應用的工作站集中於解釋和顯示資料。通過網路連接的電腦環境,ORACLE將存放在多台電腦上的資料群組合成一個邏輯資料庫,可被全部網路使用者存取。分布式系統像集中式資料庫一樣具有透明性和資料一致性。

    具有可移植性、可相容性和可串連性。由於ORACLE軟體可在許多不同的作業系統上運行,以致ORACLE上所開發的應用可移植到任何作業系統,只需很少修改或不需修改。ORACLE軟體同工業標準相相容,包括許多工業標準的作業系統,所開發應用系統可在任何作業系統上運行。可串連性是指ORALCE允許不同類型的電腦和作業系統通過網路可共用資訊。  

二、ORACLE資料庫系統的體繫結構

    ORACLE資料庫系統為具有管理ORACLE資料庫功能的電腦系統。每一個啟動並執行ORACLE資料庫與一個ORACLE執行個體(INSTANCE)相聯絡。一個ORACLE執行個體為存取和控制一資料庫的軟體機制。每一次在資料庫伺服器上啟動一資料庫時,稱為系統全域區(SYSTEM GLOBAL AREA)的一記憶體區(簡稱SGA)被分配,有一個或多個ORACLE進程被啟動。該SGA 和 ORACLE進程的結合稱為一個ORACLE資料庫執行個體。一個執行個體的SGA和進程為管理資料庫資料、為該資料庫一個或多個使用者服務而工作。

    在ORACLE系統中,首先是執行個體啟動,然後由執行個體裝配(MOUNT)一資料庫。在松耦合系統中,在具有ORACLE PARALLEL SERVER 選項時,單個資料庫可被多個執行個體裝配,即多個執行個體共用同一物理資料庫。

    ORACLE執行個體的進程結構和記憶體結構

    進程結構

    進程是作業系統中的一種機制,它可執行一系列的操作步。在有些作業系統中使用作業(JOB)或任務(TASK)的術語。一個進程通常有它自己的專用儲存區。ORACLE進程的體繫結構設計使效能最大。

    ORACLE執行個體有兩種類型:單進程執行個體和多進程執行個體。

    單進程ORACLE(又稱單使用者ORACLE)是一種資料庫系統,一個進程執行全部ORACLE代碼。由於ORACLE部分和客戶應用程式不能分別以進程執行,所以ORACLE的代碼和使用者的資料庫應用是單個進程執行。

    在單進程環境下的ORACLE 執行個體,僅允許一個使用者可存取。例如在MS-DOS上運行ORACLE 。

    多進程ORACLE執行個體(又稱多使用者ORACLE)使用多個進程來執行ORACLE的不同部分,對於每一個串連的使用者都有一個進程。

在多進程系統中,進程分為兩類:使用者進程和ORACLE進程。當一使用者運行一應用程式,如PRO*C程式或一個ORACLE工具(如SQL*PLUS),為使用者啟動並執行應用建立一個使用者進程。ORACLE進程又分為兩類:伺服器處理序和後台進程。伺服器處理序用於處理串連到該執行個體的使用者進程的請求。當應用和ORACELE是在同一台機器上運行,而不再通過網路,一般將使用者進程和它相應的伺服器處理序組合成單個的進程,可降低系統開銷。然而,當應用和ORACLE運行在不同的機器上時,使用者進程經過一個分離伺服器處理序與ORACLE通訊。它可執行下列任務:

    對應用所發出的SQL語句進行文法分析和執行。

    從磁碟(資料檔案)中讀入必要的資料區塊到SGA的共用資料庫緩衝區(該塊不在緩衝區時),將結果返回給應用程式處理。

    系統為了使效能最好和協調多個使用者,在多進程系統中使用一些附加進程,稱為後台進程。在許多作業系統中,後台進程是在執行個體啟動時自動地建立。一個ORACLE執行個體可以有許多後台進程,但它們不是一直存在。後台進程的名字為:

    DBWR 資料庫寫入程式
    LGWR 日誌寫入程式
    CKPT 檢查點
    SMON 系統監控 
    PMON 進程監控
    ARCH 歸檔
    RECO 恢複 
    LCKn 封鎖 
    Dnnn 調度進程 
    Snnn 伺服器

    每個後台進程與ORACLE資料庫的不同部分互動。  

下面對後台進程的功能作簡單介紹:

    DBWR進程:該進程執行將緩衝區寫入資料檔案,是負責緩衝儲存區管理的一個ORACLE後台進程。當緩衝區中的一緩衝區被修改,它被標誌為“弄髒”,DBWR的主要任務是將“弄髒”的緩衝區寫入磁碟,使緩衝區保持“乾淨”。由於緩衝儲存區的緩衝區填入資料庫或被使用者進程弄髒,未用的緩衝區的數目減少。當未用的緩衝區下降到很少,以致使用者進程要從磁碟讀入塊到記憶體儲存區時無法找到未用的緩衝區時,DBWR將管理緩衝儲存區,使使用者進程總可得到未用的緩衝區。

    ORACLE採用LRU(LEAST RECENTLY USED)演算法(最近最少使用演算法)保持記憶體中的資料區塊是最近使用的,使I/O最小。在下列情況預示DBWR 要將弄髒的緩衝區寫入磁碟:

    當一個伺服器處理序將一緩衝區移入“弄髒”表,該弄髒表達到臨界長度時,該服務進程將通知DBWR進行寫。該臨界長度是為參數DB-BLOCK-WRITE-BATCH的值的一半。

    當一個伺服器處理序在LRU表中尋找DB-BLOCK-MAX-SCAN-CNT緩衝區時,沒有查到未用的緩衝區,它停止尋找並通知DBWR進行寫。

    出現逾時(每次3秒),DBWR 將通知本身。

    當出現檢查點時,LGWR將通知DBWR

    在前兩種情況下,DBWR將弄髒表中的塊寫入磁碟,每次可寫的塊數由初始化參數DB-BLOCK-WRITE-BATCH所指定。如果弄髒表中沒有該參數指定塊數的緩衝區,DBWR從LUR表中尋找另外一個弄髒緩衝區。

    如果DBWR在三秒內未活動,則出現逾時。在這種情況下DBWR對LRU表尋找指定數目的緩衝區,將所找到任何弄髒緩衝區寫入磁碟。每當出現逾時,DBWR尋找一個新的緩衝區組。每次由DBWR尋找的緩衝區的數目是為寢化參數DB-BLOCK-WRITE-BATCH的值的二倍。如果資料庫空運轉,DBWR最終將全部緩衝區儲存區寫入磁碟。

    在出現檢查點時,LGWR指定一修改緩衝區表必須寫入到磁碟。DBWR將指定的緩衝區寫入磁碟。

    在有些平台上,一個執行個體可有多個DBWR。在這樣的執行個體中,一些塊可寫入一磁碟,另一些塊可寫入其它磁碟。參數DB-WRITERS控制DBWR進程個數。

    LGWR進程:該進程將日誌緩衝區寫入磁碟上的一個記錄檔,它是負責管理日誌緩衝區的一個ORACLE後台進程。LGWR進程將自上次寫入磁碟以來的全部日誌項輸出,LGWR輸出:

    當使用者進程提交一事務時寫入一個提交記錄。

    每三秒將日誌緩衝區輸出。

    當日誌緩衝區的1/3已滿時將日誌緩衝區輸出。

    當DBWR將修改緩衝區寫入磁碟時則將日誌緩衝區輸出。

    LGWR進程同步地寫入到活動的鏡象線上記錄檔組。如果組中一個檔案被刪除或不可用,LGWR 可繼續地寫入該組的其它檔案。

    日誌緩衝區是一個迴圈緩衝區。當LGWR將日誌緩衝區的日誌項寫入記錄檔後,伺服器處理序可將新的日誌項寫入到該日誌緩衝區。LGWR 通常寫得很快,可確保日誌緩衝區總有空間可寫入新的日誌項。

    注意:有時候當需要更多的日誌緩衝區時,LWGR在一個事務提交前就將日誌項寫出,而這些日誌項僅當在以後事務提交後才永久化。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.