資源描述:
《oracle數(shù)據(jù)庫(kù)系統(tǒng)概述》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、本課程學(xué)習(xí)目的:在軟件開(kāi)發(fā)中應(yīng)用Oracle主要內(nèi)容:安裝和連接Oracle、使用Oracle創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象、使用SQL和PL/SQL注:主流數(shù)據(jù)庫(kù)系統(tǒng)有:Oracle(甲骨文)、SQLServer、DB2、SybaseOracle分兩大塊,一塊是開(kāi)發(fā),一塊是管理第1章Oracle數(shù)據(jù)庫(kù)系統(tǒng)概述一、Oracle數(shù)據(jù)庫(kù)簡(jiǎn)介Oracle是一種對(duì)象關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)(ORDBMS),它基于客戶機(jī)/服務(wù)器系統(tǒng)結(jié)構(gòu),并且具有跨平臺(tái)移植、分布式數(shù)據(jù)處理和支持大事務(wù)量處理的特點(diǎn)。二、Oracle數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)1、Oracle服務(wù)器=Oracle數(shù)據(jù)庫(kù)+Oracle實(shí)例(“發(fā)動(dòng)機(jī)”的作用)實(shí)例:是后臺(tái)進(jìn)
2、程和內(nèi)存結(jié)構(gòu)的集合。實(shí)例啟動(dòng)時(shí),自動(dòng)分配系統(tǒng)全局區(qū)(SGA),并啟動(dòng)多個(gè)后臺(tái)進(jìn)程。數(shù)據(jù)庫(kù)與實(shí)例之間的關(guān)系一般是1對(duì)1的關(guān)系。進(jìn)程:又叫任務(wù),與程序的區(qū)別在于它是一個(gè)動(dòng)態(tài)的概念,而程序是一個(gè)靜態(tài)的實(shí)體,進(jìn)程強(qiáng)調(diào)執(zhí)行過(guò)程,可以動(dòng)態(tài)地創(chuàng)建,完成任務(wù)后自動(dòng)消亡。Oracle實(shí)例有幾種不同類型的進(jìn)程:l用戶進(jìn)程――是一個(gè)需要與Oracle服務(wù)器進(jìn)行交互的程序。當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序準(zhǔn)備向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送請(qǐng)求時(shí),即創(chuàng)建了用戶進(jìn)程l服務(wù)器進(jìn)程――用于處理連接到該實(shí)例的用戶進(jìn)程的請(qǐng)求。當(dāng)用戶連接至Oracle數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建會(huì)話時(shí),即產(chǎn)生服務(wù)器進(jìn)程l后臺(tái)進(jìn)程――是Oracle數(shù)據(jù)庫(kù)為了保持最佳系統(tǒng)性能和協(xié)調(diào)
3、多個(gè)用戶請(qǐng)求而設(shè)置的。Oracle實(shí)例啟動(dòng)時(shí)即創(chuàng)建一系列后臺(tái)進(jìn)程Oracle實(shí)例內(nèi)存結(jié)構(gòu):lSGA(系統(tǒng)全局區(qū)):Oracle實(shí)例啟動(dòng)時(shí)分配,存儲(chǔ)數(shù)據(jù)庫(kù)信息,由多個(gè)數(shù)據(jù)庫(kù)進(jìn)程共享。主要包括數(shù)據(jù)緩沖區(qū)、共享池、日志緩沖區(qū)。a.數(shù)據(jù)緩沖區(qū)用于存儲(chǔ)從磁盤數(shù)據(jù)文件中讀入的數(shù)據(jù),為所有用戶共享。服務(wù)器進(jìn)程將讀入的數(shù)據(jù)保存在數(shù)據(jù)緩沖區(qū)中,當(dāng)后續(xù)的請(qǐng)求需要這些數(shù)據(jù)時(shí)可以在內(nèi)存中找到,不需要再?gòu)拇疟P讀取,提高了讀取速度。數(shù)據(jù)緩沖區(qū)的大小對(duì)數(shù)據(jù)庫(kù)的讀取速度有直接的影響。b.共享池是對(duì)SQL、PL/SQL程序進(jìn)行語(yǔ)法分析、編譯、執(zhí)行的內(nèi)存區(qū)域。共享池由庫(kù)緩存和數(shù)據(jù)字典緩存組成。共享池的大小直接影響數(shù)據(jù)庫(kù)的性能
4、。c.日志緩沖區(qū)記錄數(shù)據(jù)庫(kù)的所有修改信息,日志信息首先產(chǎn)生于日志緩沖區(qū)。當(dāng)日志緩沖區(qū)的日志數(shù)據(jù)達(dá)到一定數(shù)量時(shí),由后臺(tái)進(jìn)程將日志數(shù)據(jù)寫入日志文件中。相對(duì)來(lái)說(shuō),日志緩沖區(qū)對(duì)數(shù)據(jù)庫(kù)的性能影響較小。lPGA(程序全局區(qū)):用戶進(jìn)程連接到數(shù)據(jù)庫(kù)并創(chuàng)建一個(gè)會(huì)話時(shí)自動(dòng)分配的,保存每個(gè)與Oracle數(shù)據(jù)庫(kù)連接的用戶進(jìn)程所需的信息,非共享區(qū),只能單個(gè)進(jìn)程使用,當(dāng)一個(gè)用戶會(huì)話結(jié)束,PGA釋放。注:什么是會(huì)話(Session)?會(huì)話是用戶與Oracle服務(wù)器的單個(gè)連接,當(dāng)用戶與服務(wù)器建立連接時(shí)創(chuàng)建會(huì)話,當(dāng)用戶與服務(wù)器斷開(kāi)連接時(shí)關(guān)閉會(huì)話。2、數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)數(shù)據(jù)文件(.DBF)、日志文件(.LOG)、控制文件(.
5、CTL)、參數(shù)文件(.ORA)、歸檔文件(備份寫滿的日志文件)等構(gòu)成。數(shù)據(jù)庫(kù)啟動(dòng)時(shí),先通過(guò)參數(shù)文件尋找控制文件,然后通過(guò)控制文件管理和控制數(shù)據(jù)文件、日志文件。一個(gè)數(shù)據(jù)庫(kù)包含1~N個(gè)數(shù)據(jù)文件、至少1個(gè)控制文件、至少需要兩個(gè)重做日志文件。3、數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)表空間(tablespace):數(shù)據(jù)庫(kù)最大的邏輯單位,物理上由1~N個(gè)數(shù)據(jù)文件組成。(每個(gè)數(shù)據(jù)庫(kù)中都有一個(gè)system表空間用來(lái)存放數(shù)據(jù)字典-數(shù)據(jù)庫(kù)“信息中心”,保存數(shù)據(jù)庫(kù)系統(tǒng)自身以及其中存儲(chǔ)的所有數(shù)據(jù)庫(kù)對(duì)象的信息)。一般地,開(kāi)發(fā)某一個(gè)應(yīng)用系統(tǒng)時(shí),,要為其建一個(gè)表空間存放相應(yīng)的數(shù)據(jù)。段(segment):用于存儲(chǔ)特定對(duì)象的所有數(shù)據(jù),由一個(gè)或
6、多個(gè)區(qū)組成。區(qū)(extent):Oracle進(jìn)行空間分配的邏輯單元,由相鄰數(shù)據(jù)塊組成。塊(datablock):Oracle在數(shù)據(jù)文件上執(zhí)行I/o操作的最小單位。方案(SCHEMA,又叫模式):ORACLE通過(guò)“方案”來(lái)組織和管理數(shù)據(jù)庫(kù)對(duì)象是用戶所擁有對(duì)象的集合,與用戶一一對(duì)應(yīng)且同名,當(dāng)創(chuàng)建一個(gè)用戶時(shí),自動(dòng)創(chuàng)建一個(gè)同名的方案。訪問(wèn)其他用戶的對(duì)象時(shí),須經(jīng)授權(quán)并在訪問(wèn)的對(duì)象名前加方案名。三、Oracle10G的安裝與配置1、系統(tǒng)安裝軟件下載(用迅雷下載,否則需要一個(gè)免費(fèi)賬號(hào)):forMicrosoftWindows(32-bit):http://download.oracle.com/otn/
7、nt/oracle10g/10201/10201_database_win32.zipforMicrosoftWindows(X64)http://download.oracle.com/otn/nt/oracle10g/10201/102010_win64_x64_database.zip安裝過(guò)程參見(jiàn)P29-362、網(wǎng)絡(luò)配置(1)、Oracle網(wǎng)絡(luò)配置內(nèi)容:服務(wù)器端---監(jiān)聽(tīng)器的配置:全局?jǐn)?shù)據(jù)庫(kù)名、監(jiān)聽(tīng)協(xié)議、主機(jī)名(或