-
Oracle系統
鎖定
Oracle系統簡介
Oracle是由甲骨文公司開發出來的,並於1989年正式進入中國市場,成為第一家進入中國的世界軟件巨頭。當然,當時的Oracle尚名不見經傳,由Oracle開發的商用關係型數據庫技術即年開始服務於中國用户。1991年7月,Oracle在北京建立獨資公司。Oracle數據庫,是積聚了眾多領先性的數據庫系統,在集羣技術、高可用性、商業智能、安全性、系統管理等方面都領跑業界。
由於ORACLE數據庫產品是當前數據庫技術的典型代表,她的產品除了數據庫系統外,還有應用系統、開發工具等。剛接觸Oracle的人員都有這樣的感覺:Oracle的產品太多,每個產品內容精深,不知道從哪兒開始學才好。為了用少量時間更好地理解和使用oracle數據庫系統,有必要對oracle的一些基本術語及概念進行了解,下面給出一些在管理中經常用到的概念和術語,供初學者快速瞭解Oracle數據庫系統提供方便。
ORACLE7和ORACLE8
ORACLE7是一種完全的關係數據庫系統,它不支持面向對象。 ORACLE8 則是一個引入面向對象的數據庫系統,它既非純的面向對象的數據庫也非純的關係數據庫,它是兩者的結合,因此叫做“對象關係數據庫”。
ORACLE8和ORACLE8i
在ORACLE8 的後來版本中不斷作過多次的完善,出現 ORACLE 8.0.X 版本。然而1998年初發行(推出)的 ORACLE 8I 可以被看作是 ORACLE 8 的功能擴展集。 由於ORACLE 8I 比 ORACLE 8 提供了更多的功能,它除了共同的RDBMS功能外,還提供了許多與INTERNET 有關的能力,最重要的是它將 JAVA 集成為一種內部的數據語言,這種語言可充當或替代品,而且它還集成了一個WEB服務器和開發平台(Web DB )。對ORACLE 8.0.x 來説只到 ORACLE 8.0.5 版本就終止了,接着就推出了 ORACLE8i 8.1.5版本,ORACLE8i 8.1.5版本也經常被稱為Release 1;而ORACLE8i 8.1.6版本被稱為Release 2;ORACLE8i 8.1.7版本被稱為Release 3。
ORACLE8i和ORACLE9i
在正式進入21世紀前的2000年年底,ORACLE公司正式發佈了ORACLE 9i新數據庫系統。原先預料可能會有ORACLE 8i V8.1.8等版本,但ORACLE8i版本只推出8.1.7就被Oracle9i所代替。ORACLE公司和其它的軟件公司一樣,為了搶佔市場,不再願意在原來版本上再作更多的改進和優化工作,而是直接的推出新產品這樣一種策略。ORACLE9i 與ORACLE8i 比較,ORACLE 9i 主要包括下面三大部分:
l 開發工具集(Developer Suite ) Oracle9i 主要焦點(Oracle9i Focus ):
l電子商務智能化( E-Business Intelligence )。
l應用開發( Applications Development )
l應用主機( Applications Hosting )
l 門户與內容( Portals and Content )
l 電子商務連續性( E-Business Continuity ) Oracle9i 為了結合 Internet 市場設計。
Oracle9i適合並勝任市場上所有的苛刻要求。
l Oracle9I實時應用( Oracle9i Real Application)
l Oracle9I高可用性(Oracle9i High Availability) l Oracle9I系統管理( Oracle9i Systems Management ) l Oracle9I 安全( Oracle9i Security)
Oracle9i數據庫服務(Oracle9i Database Services):
l商業智能與數據倉庫( Business Intelligence and Data Warehousing)
l Oracle9I動態服務( Oracle9i Dynamic Services)
lOracle9I JAVA 和XML(Oracle9i Java and XML)l 電子商務集成(E-Business Integration)
ORACLE OAS和ORACLE iAS
ORACLE公司的iAS 的早期版本是 ORACLE Web Server ,後來第4版改名為ORACLE APPLICATION SERVER ,2000年底前又改名為 ORACLE9i Internet Application Server(ORACLE iAS)。iAS可以與ORACLE8i 或ORACLE9i 結合在一起的綜合開發工具。為創建和部署任何基於網絡的應用程序提供了一個完整的Internet 平台,iAS包括了門户、事務應用、商業智能工具、無線上網應用和企業集成等。 Oracle Internet Application Server 提供了行業中最全面的中間層產品,包括通信、表示、商業邏輯、數據緩存和系統服務等。
1.通信服務: 基於Apache的ORACLE HTTP Server,主要包括下面模塊: mod_jserv:將對servlet 的HTTP請求分發到Oracle iAS 的Servlet 引擎。 Mod_perl:將perl 程序的HTTP請求分發到Apache Web Server 的Perl Interpreter。 Mod_ssl:提供基於SSL證書的公共密鑰,它被用來在客户端和Apache Server 之間進行加密通信。 Mod_plsql:Oracle 專用模塊,用來將HTTP請求傳到數據庫內的PL/SQL和Java存儲過程。
2. 表示服務 提供下面方法進行內容表示: Oracle portal(Oracle 門户) Apache Jserver (Apache Java 服務器) Perl Interpreter( Perl解釋程序) Oracle JavaServer Pager(JSP) Oracle PL/SQL Server Pages(PSP)
3.商業邏輯服務 可提供以下服務組件: Oracle8i JVM( Java虛擬機) Oracle8i PL/SQL Java 商業組件(BC4J) Form Service Report Service Discoverer Viewer
4.數據管理服務 Oracle 8i cache
5.系統服務 Oracle Enterprise Manager(Oracle企業管理器) Oracle Advanced Security (Oracle 高級安全性) Developer's KITS(開發工具),
包括:l Oracle database client developer's Kit l Oracle XML developer's Kit(XDK) l Oracle LDAP developer's Kit
ORACLE Application R11i
1.數據倉庫平台
Oracle 8i 企業級數據庫服務器
Oracle Warehouse Builder(數據倉庫構造器)
Oracle Discoverer
Oracle Express產品系列
Oracle darwin
商業智能管理
合併管理
現金預測管理
員工費用管理
Oracle 財務分析系統
Oracle項目管理系統
預警系統。
Oracle系統數據特點
Oracle系統對象模型
ORACLE8對於對象模型採取較為現實和謹慎的態度,使用了對象/關係模型,即在完全支持傳統關係模型的基礎上,為對象機制提供了有限的支持。ORACLE8不僅能夠處理傳統的表結構信息,而且能夠管理由C++,Smalltalk 以及其它開發工具生成的多媒體數據類型,如文本,視頻,圖形,空間對向等。這種做法允許現有軟件開發產品與工具軟件及ORACLE8應用軟件共存,保護了客户的投資。
數據庫服務器系統的動態可伸縮性
ORACLE8引入了連接存儲池(connection pooling)和多路複用(multiplexing)機制,提供了對大型對象的支持。當需要支持一些特殊數據類型時,用户可以創建軟件插件(catridge )來實現。ORACLE8採用了高級網絡技術,提高共享池和連接管理器來提高系統的可括性,容量可從幾 GB 到 幾百 TB 字節,可允許10萬用户同時並行訪問,ORACLE 的數據庫中每個表可以容納 1000列,能滿足數據庫及數據倉庫應用的需要。
ORACLE 公司稱,ORACLE8可以支持達 512PB的數據量。但還未有哪一家用户的數據庫的數據量達到這個數量。下面是幾種常用數據量的等價關係:
1MB = 1024 KB
1GB = 1Gigabyte Byte = 1024 MB
1TB = 1TeraByte = 1024 GB = 1024*1024MB
1PB = 1PeraByte = 1024 TB = 1024 * 1024 * 1024 MB
1EB = 1ExaByte = 1024 PB = 1024 * 1024 *1024 *1024 MB
系統的可用性和易用性
ORACLE8提供了靈活多樣的數據分區功能,一個分區可以是一個大型表,也可以是索引易於管理的小塊,可以根據數據的取值分區。有效地提高了系統操作能力及數據可用性 ,減少I/O 瓶頸。ORACLE8還對並行處理進行了改進,在位圖索引,查詢,排序,連接和一般索引掃描等操作引入並行處理,提高了單個查詢的並行度。ORACLE8通過並行服務器(Parallel Server Option )來提高系統的可用性。
系統的可管理性和數據安全功能
ORACLE8提供了自動備份和恢復功能,改進了對大規模和更加細化的分佈式操作系統的支持,如加強了SQL 操作複製的並行性。為了幫助客户有效地管理整個數據庫和應用系統,ORACLE還提供了企業管理系統(ORACLE Enterprise Manager),數據庫管理員可以從一個集中控制枱拖放式圖形用户界面管理ORACLE的系統環境。
ORACLE8通過安全服務器中提供的安全服務,加強了ORACLE Web Server中原有的用户驗證和用户管理。
Oracle系統網絡計算
ORACLE8i在 與JAVA VM 及 CORBA ORB 集成後,將成為NCA(網絡計算機體結構)的核心部件。NCA是ORACLE 關於分佈式對象與網絡計算機的戰略規劃。ORACLE8 對NCA產生了巨大影響,簡化了應用軟件的化分,推動了瘦型客户機及Web 應用軟件的發展。在ORACLE8 FOR NT 中還提共了新產品Web 發佈助理(Web Publishing Assistant ORACLE),提供了一種在WORD WIDE WEB 上發佈數據庫信息的簡便,有效的方法。
對多平台的支持與開放性
網絡結構往往含有多個平台,ORACLE8 可以運行於所有主流平台上,如
SUN Solarise, Sequent Dynix/PTX,Intel Nt,HP_UX,DEC_UNIX,IBM AIX 和 SP等。ORACLE8 的異構服務為同其它數據源以及使用SQL 和PL/SQL的服務進行通訊提供了必要的基礎設施。ORACLE8 繼續致力於對開放標準規範SQL3,JDBC,JSQL和CORBA 的支持。
Oracle系統結構
ORACLE數據庫系統為具有管理ORACLE數據庫功能的計算機系統。每一個運行的ORACLE數據庫與一個ORACLE實例(INSTANCE)相聯繫。一個ORACLE實例為存取和控制一數據庫的軟件機制。每一次在數據庫服務器上啓動一數據庫時,稱為系統全局區(SYSTEM GLOBAL AREA)的一內存區(簡稱SGA)被分配,有一個或多個ORACLE進程被啓動。該SGA 和 ORACLE進程的結合稱為一個ORACLE數據庫實例。一個實例的SGA和進程為管理數據庫數據、為該數據庫一個或多個用户服務而工作。
在ORACLE系統中,首先是實例啓動,然後由實例裝配(MOUNT)一數據庫。在松耦合系統中,在具有ORACLE PARALLEL SERVER 選項時,單個數據庫可被多個實例裝配,即多個實例共享同一物理數據庫。
進程結構和內存結構
進程是操作系統中的一種機制,它可執行一系列的操作步。進程是由多個線程組成的。在有些操作系統中使用作業(JOB)或任務(TASK)的術語。一個進程通常有它自己的專用存儲區。ORACLE進程的體系結構設計使性能最大。
ORACLE實例有兩種類型:單進程實例和多進程實例。
單進程ORACLE(又稱單用户ORACLE)是一種數據庫系統,一個進程執行全部ORACLE代碼。由於ORACLE部分和客户應用程序不能分別以進程執行,所以ORACLE的代碼和用户的數據庫應用是單個進程執行。
多進程ORACLE實例(又稱多用户ORACLE)使用多個進程來執行ORACLE的不同部分,對於每一個連接的用户都有一個進程。
在多進程系統中,進程分為兩類:用户進程和ORACLE進程。當一用户運行一應用程序,如PRO*C程序或一個ORACLE工具(如SQL*PLUS),為用户運行的應用建立一個用户進程。ORACLE進程又分為兩類:服務器進程和後台進程。服務器進程用於處理連接到該實例的用户進程的請求。當應用和ORACELE是在同一台機器上運行,而不再通過網絡,一般將用户進程和它相應的服務器進程組合成單個的進程,可降低系統開銷。然而,當應用和ORACLE運行在不同的機器上時,用户進程經過一個分離服務器進程與ORACLE通信。它可執行下列任務:
對應用所發出的SQL語句進行語法分析和執行。
系統為了使性能最好和協調多個用户,在多進程系統中使用一些附加進程,稱為後台進程。在許多操作系統中,後台進程是在實例啓動時自動地建立。一個ORACLE實例可以有許多後台進程,後台進程的名字為:
DBWR數據庫寫入程序
LGWR日誌寫入程序
ARCH歸檔
RECO 恢復
LCKn 封鎖 。