Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它是在數(shù)據(jù)庫領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品??梢哉fOracle數(shù)據(jù)庫系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的適應(yīng)高吞吐量的數(shù)據(jù)庫解決方案。
Oracle介紹
ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。但它的所有知識,只要在一種機(jī)型上學(xué)習(xí)了ORACLE知識,便能在各種類型的機(jī)器上使用它。
Oracle數(shù)據(jù)庫最新版本為Oracle Database 12c。Oracle數(shù)據(jù)庫12c 引入了一個新的多承租方架構(gòu),使用該架構(gòu)可輕松部署和管理數(shù)據(jù)庫云。此外,一些創(chuàng)新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個數(shù)據(jù)庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數(shù)據(jù)和對數(shù)據(jù)分層。這些獨(dú)一無二的技術(shù)進(jìn)步再加上在可用性、安全性和大數(shù)據(jù)支持方面的主要增強(qiáng),使得Oracle數(shù)據(jù)庫12c 成為私有云和公有云部署的理想平臺。
Oracle支持平臺
在2001年發(fā)布的Oracle9i之前,甲骨文公司把他們的數(shù)據(jù)庫產(chǎn)品廣泛的移植到了不同的平臺上。近期,甲骨文公司鞏固了一小部分的操作系統(tǒng)平臺。
截止至2015年01月,甲骨文公司的Oracle10g/11g/12c支持以下的操作系統(tǒng)和硬件:
· AppleMac OS X Server:PowerPC
· HPHP-UX:PA-RISC,Itanium
· HPTru64 UNIX:Alpha
· HPOpenVMS: Alpha, Itanium
· IBMAIX5L:IBM POWER
· IBMz/OS:zSeries
· Linux:x86,x86-64, PowerPC, zSeries, Itanium
· MicrosoftWindows: x86, x86-64, Itanium
· SunSolaris:SPARC, x86, x86-64
Oracle特點(diǎn)
1、完整的數(shù)據(jù)管理功能:
1)數(shù)據(jù)的大量性
2)數(shù)據(jù)的保存的持久性
3)數(shù)據(jù)的共享性
4)數(shù)據(jù)的可靠性
2、完備關(guān)系的產(chǎn)品:
1)信息準(zhǔn)則---關(guān)系型DBMS的所有信息都應(yīng)在邏輯上用一種方法,即表中的值顯式地表示;
2)保證訪問的準(zhǔn)則
3)視圖更新準(zhǔn)則---只要形成視圖的表中的數(shù)據(jù)變化了,相應(yīng)的視圖中的數(shù)據(jù)同時變化
4)數(shù)據(jù)物理性和邏輯性獨(dú)立準(zhǔn)則
3、分布式處理功能:
ORACLE數(shù)據(jù)庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式數(shù)據(jù)庫功能了,一個ORACLE分布式數(shù)據(jù)庫由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關(guān)系型產(chǎn)品構(gòu)成。
4、用ORACLE能輕松的實(shí)現(xiàn)數(shù)據(jù)倉庫的操作。
這是一個技術(shù)發(fā)展的趨勢,不在這里討論。
Oracle優(yōu)點(diǎn)
可用性強(qiáng)
可擴(kuò)展性強(qiáng)
數(shù)據(jù)安全性強(qiáng)
穩(wěn)定性強(qiáng)
Oracle數(shù)據(jù)庫管理及開發(fā)工具
·Navicat for Oracle是一套專為Oracle設(shè)計(jì)的強(qiáng)大數(shù)據(jù)庫管理及開發(fā)工具。它可以用于任何版本的Oracle數(shù)據(jù)庫,并支援大部份Oracle的功能,包括觸發(fā)器、索引、檢視等。
·Toad for Oracle是一款老牌的Oracle開發(fā)管理工具,比任何一款Oracle開發(fā)管理工具功能更多,并針對使用者不同的角色有多個分支版本。版本包括:Toad DBA Suite for Oracle是一款專門為Oracle DBA管理Oracle數(shù)據(jù)庫工具, Toad Development Suite for Oracle是一款專門為Oracle開發(fā)工具,Toad DBA Suite for Oracle – Exadata Edition是一款專門為Oracle Exadata一體服務(wù)器及Oracle數(shù)據(jù)庫管理工具, Toad DBA Suite for Oracle - RAC Edition是一款專門為Oracle搭建集群RAC的DBA管理工具。
Oracle比較
在了解了ORACLE數(shù)據(jù)庫后,我們有必要對ORACLE和Sybase SQL Server的比較, Oracle采用的是并行服務(wù)器模式,而Sybase SQL Server采用的是虛擬服務(wù)器模式,它沒有將一個查詢分解成多個子查詢,再在不同的CPU上同時執(zhí)行這些子查詢。我們可以說在對稱多處理方面Oracle的性能優(yōu)于Sybase的性能。業(yè)務(wù)量往往在系統(tǒng)運(yùn)行后不斷提高,如果數(shù)據(jù)庫數(shù)量達(dá)到GB以上時,我們在提高系統(tǒng)的性能方面可以從兩方面入手,一種是提高單臺服務(wù)器的性能,還有就是增加服務(wù)器數(shù)目。基于此,如果我們是提高單臺服務(wù)器的性能,選擇Oracle 數(shù)據(jù)庫較好,因?yàn)樗鼈兡茉趯ΨQ多CPU的系統(tǒng)上提供并行處理。
相反,由于Sybase的導(dǎo)航服務(wù)器使網(wǎng)上的所有用戶都注冊到導(dǎo)航服務(wù)器并通過導(dǎo)航服務(wù)提出數(shù)據(jù)訪問請求,導(dǎo)航服務(wù)器則將用戶的請求分解,然后自動導(dǎo)向由它所控制的多臺SQL Server,從而在分散數(shù)據(jù)的基礎(chǔ)上提供并行處理能力,我們可以選擇它。這些都是在其他條件和環(huán)境相同的情況下比較的,這樣才有可比性。在數(shù)據(jù)的分布更新方面,Oracle采用的是基于服務(wù)器的自動的2PC(兩階段提交),而Sybase采用的則是基于客戶機(jī)DB-Library或CT-Library的可編程的2PC,因此我們在選擇數(shù)據(jù)庫方面,必須根據(jù)需要進(jìn)行選擇,比如,從事的社會保險軟件的開發(fā),考慮到數(shù)據(jù)量大,并發(fā)操作比較多,實(shí)時性要求高,我們后臺基本采取的是ORACLE數(shù)據(jù)庫。Oracle服務(wù)器由Oracle數(shù)據(jù)庫和Oracle實(shí)例組成。Oracle實(shí)例由系統(tǒng)全局區(qū)內(nèi)存結(jié)構(gòu)和用于管理數(shù)據(jù)庫的后臺進(jìn)程組成。
Oracle就業(yè)前景
從就業(yè)與擇業(yè)的角度來講,計(jì)算機(jī)相關(guān)專業(yè)的大學(xué)生從事oracle方面的技術(shù)是職業(yè)發(fā)展中的最佳選擇。
其一、就業(yè)面廣:ORACLE幫助拓展技術(shù)人員擇業(yè)的廣度,全球前100強(qiáng)企業(yè)99家都在使用ORACLE相關(guān)技術(shù),中國政府機(jī)構(gòu),大中型企事業(yè)單位都能有ORACLE技術(shù)的工程師崗位,大學(xué)生在校期間興趣廣泛,每個人興趣特長各異,不論你想進(jìn)入金融行業(yè)還是電信行業(yè)或者政府機(jī)構(gòu),ORACLE都能夠在你的職業(yè)發(fā)展中給你最強(qiáng)有力的支撐,成為你最貼身的金飯碗。
其二、技術(shù)層次深:如果期望進(jìn)入IT服務(wù)或者產(chǎn)品公司(類似畢博、DELL、IBM等),Oracle技術(shù)能夠幫助提高就業(yè)的深度。Oracle技術(shù)已經(jīng)成為全球每個IT公司必選的軟件技術(shù)之一,熟練掌握Oracle技術(shù)能夠?yàn)閺臉I(yè)人員帶來技術(shù)應(yīng)用上的優(yōu)勢,同時為IT技術(shù)的深入應(yīng)用起到非常 關(guān)鍵的作用。掌握 Oracle技術(shù),是IT從業(yè)人員了解全面信息化整體解決方案的基礎(chǔ)。
其三、職業(yè)方向多:Oracle數(shù)據(jù)庫管理方向、Oracle開發(fā)及系統(tǒng)架構(gòu)方向、Oracle數(shù)據(jù)建模數(shù)據(jù)倉庫等方向.
Oracle邏輯結(jié)構(gòu)
它由至少一個表空間和數(shù)據(jù)庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)。模式對象包括這樣一些結(jié)構(gòu):表、視圖、序列、存儲過程、同義詞、索引、簇和數(shù)據(jù)庫鏈等。邏輯存儲結(jié)構(gòu)包括表空間、段和范圍,用于描述怎樣使用數(shù)據(jù)庫的物理空間。
總之,邏輯結(jié)構(gòu)由邏輯存儲結(jié)構(gòu)(表空間,段,范圍,塊)和邏輯數(shù)據(jù)結(jié)構(gòu)(表、視圖、序列、存儲過程、同義詞、索引、簇和數(shù)據(jù)庫鏈等)組成,而其中的模式對象(邏輯數(shù)據(jù)結(jié)構(gòu))和關(guān)系形成了數(shù)據(jù)庫的關(guān)系設(shè)計(jì)。
段(Segment):
是表空間中一個指定類型的邏輯存儲結(jié)構(gòu),它由一個或多個范圍組成,段將占用并增長存儲空間。
其中包括:
數(shù)據(jù)段:用來存放表數(shù)據(jù);
索引段:用來存放表索引;
臨時段:用來存放中間結(jié)果;
回滾段:用于出現(xiàn)異常時,恢復(fù)事務(wù)。
范圍(Extent):是數(shù)據(jù)庫存儲空間分配的邏輯單位,一個范圍由許多連續(xù)的數(shù)據(jù)塊組成,范圍是由段依次分配的,分配的第一個范圍稱為初始范圍,以后分配的范圍稱為增量范圍。
數(shù)據(jù)塊(Block):
是數(shù)據(jù)庫進(jìn)行IO操作的最小單位,它與操作系統(tǒng)的塊不是一個概念。oracle數(shù)據(jù)庫不是以操作系統(tǒng)的塊為單位來請求數(shù)據(jù),而是以多個Oracle數(shù)據(jù)庫塊為單位。
Oracle文件結(jié)構(gòu)
數(shù)據(jù)庫的物理存儲結(jié)構(gòu)是由一些多種物理文件組成,主要有數(shù)據(jù)文件、控制文件、重做日志文件、歸檔日志文件、參數(shù)文件、口令文件、警告文件等。
控制文件:存儲實(shí)例、數(shù)據(jù)文件及日志文件等信息的二進(jìn)制文件。alter system set control_files=‘路徑’。V$CONTROLFILE。
數(shù)據(jù)文件:存儲數(shù)據(jù),以.dbf做后綴。一句話:一個表空間對多個數(shù)據(jù)文件,一個數(shù)據(jù)文件只對一個表空間。dba_data_files/v$datafile。
日志文件:即Redo Log Files和Archivelog Files。記錄數(shù)據(jù)庫修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
參數(shù)文件:記錄基本參數(shù)。spfile和pfile。
警告文件:show parameter background_dump_dest---使用共享服務(wù)器連接
跟蹤文件:show parameter user_dump_dest---使用專用服務(wù)器連接