

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 136 ORACLE 系統(tǒng)概述 ORACLE司自86年推出版本5開始,系統(tǒng)具有分布數(shù)據(jù)庫(kù)處理功能.88 年推出版本6,ORACLERDBMS(V6.0可帶事務(wù)處理選項(xiàng)(TPO),提高了事務(wù)處 理的速度.1992年推出了版本7,在ORACLE RDBM中可帶過程數(shù)據(jù)庫(kù)選項(xiàng) (procedural database option) 禾口 并 行 服 務(wù)器 選 項(xiàng)(parallel server option ),稱為ORACLE數(shù)據(jù)庫(kù)管理系統(tǒng),它釋放了開放的關(guān)系型系統(tǒng)的真 正潛力。ORACLE?的協(xié)同開發(fā)環(huán)境提供了新一代集成的軟件生命周期開發(fā) 環(huán)境,可用以實(shí)現(xiàn)高生產(chǎn)率、大型事務(wù)處理及客戶/
2、服務(wù)器結(jié)構(gòu)的應(yīng)用系統(tǒng)。 協(xié)同開發(fā)環(huán)境具有可移植性,支持多種數(shù)據(jù)來(lái)源、多種圖形用戶界面及多 媒體、多民族語(yǔ)言、CASE等協(xié)同應(yīng)用系統(tǒng)。 .ORACLED統(tǒng) 1. ORACL產(chǎn)品結(jié)構(gòu)及組成 ORACLED統(tǒng)是由以RDBMSS核心的一批軟件產(chǎn)品構(gòu)成, 其產(chǎn)品結(jié)構(gòu)輪 廓下圖所示: SQL*PLUS ORACLE*FORM ORACLE*REPORT SQL*GRAPHIC SQL*CALC 用戶編制的程序 2 / 136 程序接口 (SQL 執(zhí)行程序) ORACLE內(nèi)核 (RDBMS) 操作系統(tǒng) 數(shù)據(jù)庫(kù) DB 3 / 136 2. ORACL系統(tǒng)特點(diǎn) ORACLE公司于1979年,首先推出基于 SQL
3、標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品, 可在 100 多種硬件平臺(tái)上運(yùn)行(所括微機(jī)、工作站、小型機(jī)、 中型機(jī)和大 型機(jī)) ,支持很多種操作系統(tǒng)。用戶的 ORACLED用可方便地從一種計(jì)算機(jī) 配置移至另一種計(jì)算機(jī)配置上。ORACL的分布式結(jié)構(gòu)可將數(shù)據(jù)和應(yīng)4 / 136 用駐留 在多臺(tái)計(jì)算機(jī)上,而相互間的通信是透明的。 1992年6月ORACL公司推 出的ORACLE協(xié)同服務(wù)器數(shù)據(jù)庫(kù),使關(guān)系數(shù)據(jù)庫(kù)技術(shù)邁上了新臺(tái)階。根據(jù) IDG(國(guó)際數(shù)據(jù)集團(tuán))1992年全球UNIX數(shù)據(jù)庫(kù)市場(chǎng)報(bào)告,ORACL占市場(chǎng)銷 售量 50%。它之所以倍受用戶喜愛是因?yàn)樗幸韵峦怀龅奶攸c(diǎn): 支持大數(shù)據(jù)庫(kù)、多用戶的高性能的事務(wù)處理。ORACL支5
4、 / 136 持最大數(shù)據(jù) 庫(kù),其大小可到幾百千兆,可充分利用硬件設(shè)備。支持大量用戶同時(shí)在同 一數(shù)據(jù)上執(zhí)行各種數(shù)據(jù)應(yīng)用, 并使數(shù)據(jù)爭(zhēng)用最小,保證數(shù)據(jù)一致性。系統(tǒng) 維護(hù)具有高的性能,ORACL每天可連續(xù)24小時(shí)工作, 正常的系統(tǒng)操作(后 備或個(gè)別計(jì)算機(jī)系統(tǒng)故障)不會(huì)中斷數(shù)據(jù)庫(kù)的使用??煽刂茢?shù)據(jù)庫(kù)數(shù)據(jù)的 可用性,可在數(shù)據(jù)庫(kù)級(jí)或在子數(shù)據(jù)庫(kù)級(jí)上控制。 6 / 136 ORACL遵守?cái)?shù)據(jù)存取語(yǔ)言、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的 工業(yè)標(biāo)準(zhǔn)。所以它是一個(gè)開放系統(tǒng),保護(hù)了用戶的投資。美國(guó)標(biāo)準(zhǔn)化和技 術(shù)研究所(NIST)對(duì) ORACLESERVE進(jìn)行檢驗(yàn),100%地與 ANSI/ISO SQL89 標(biāo)準(zhǔn)的二級(jí)
5、相兼容。 實(shí)施安全性控制和完整性控制。ORACLED限制各監(jiān)控?cái)?shù)據(jù)存取提供 系統(tǒng)7 / 136 可靠的安全性。ORACL實(shí)施數(shù)據(jù)完整性,為可接受的數(shù)據(jù)指定標(biāo)準(zhǔn)。 支持分布式數(shù)據(jù)庫(kù)和分布處理。ORACLED 了充分利用計(jì)算機(jī)系統(tǒng)和 網(wǎng)絡(luò),允許將處理分為數(shù)據(jù)庫(kù)服務(wù)器和客戶應(yīng)用程序,所有共享的數(shù)據(jù)管 理由數(shù)據(jù)庫(kù)管理系統(tǒng)的計(jì)算機(jī)處理,而運(yùn)行數(shù)據(jù)庫(kù)應(yīng)用的工作站集中于解 釋和顯示數(shù)據(jù)。通過網(wǎng)絡(luò)連接的8 / 136 計(jì)算機(jī)環(huán)境, ORACLED存放在多臺(tái)計(jì)算機(jī) 上的數(shù)據(jù)組合成一個(gè)邏輯數(shù)據(jù)庫(kù),可被全部網(wǎng)絡(luò)用戶存取。分布式系統(tǒng)像 集中式數(shù)據(jù)庫(kù)一樣具有透明性和數(shù)據(jù)一致性。 具有可移植性、可兼容性和可連接性。由于
6、ORACLED件可在許多 不同的操作系統(tǒng)上運(yùn)行,以致ORACL上所開發(fā)的應(yīng)用可移植到任何操作系 統(tǒng),只需很少修改或不需修改。 9 / 136 ORACL軟件同工業(yè)標(biāo)準(zhǔn)相兼容,包括許多 工業(yè)標(biāo)準(zhǔn)的操作系統(tǒng),所開發(fā)應(yīng)用系統(tǒng)可在任何操作系統(tǒng)上運(yùn)行??蛇B接 性是指ORALC允許不同類型的計(jì)算機(jī)和操作系統(tǒng)通過網(wǎng)絡(luò)可共享信息。 二.ORACL數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu) ORACL數(shù)據(jù)庫(kù)系統(tǒng)為具有管理 10 / 136 ORACLED據(jù)庫(kù)功能的計(jì)算機(jī)系統(tǒng)。每 一個(gè)運(yùn)行的ORACL數(shù)據(jù)庫(kù)與一個(gè) ORACL實(shí)例(INSTANCE相聯(lián)系。一個(gè) ORACL實(shí)例為存取和控制一數(shù)據(jù)庫(kù)的軟件機(jī)制。每一次在數(shù)據(jù)庫(kù)服務(wù)器上 啟動(dòng)一
7、數(shù)據(jù)庫(kù)時(shí),稱為系統(tǒng)全局區(qū)(SYSTEMBLOBAAREA的一內(nèi)存區(qū) (簡(jiǎn) 稱SGA被分配, 有一個(gè)或多個(gè) ORACL進(jìn)程被啟動(dòng)。該SGA和 11 / 136 ORACLE進(jìn) 程的結(jié)合稱為一個(gè) ORACL數(shù)據(jù)庫(kù)實(shí)例。一個(gè)實(shí)例的SGA和進(jìn)程為管理數(shù)據(jù) 庫(kù)數(shù)據(jù)、為該數(shù)據(jù)庫(kù)一個(gè)或多個(gè)用戶服務(wù)而工作。 在ORACL啄統(tǒng)中,首先是實(shí)例啟動(dòng),然后由實(shí)例裝配( MOUNT數(shù) 據(jù)庫(kù)。在松耦合系統(tǒng)中,在具有 ORACLE PARALLEL SERVE選項(xiàng)時(shí),單個(gè) 數(shù)據(jù)庫(kù)可被多個(gè)實(shí)例裝配,即多12 / 136 個(gè)實(shí)例共享同一物理數(shù)據(jù)庫(kù)。 1. ORACL實(shí)例的進(jìn)程結(jié)構(gòu)和內(nèi)存結(jié)構(gòu) 1) 進(jìn)程結(jié)構(gòu) 進(jìn)程是操作系統(tǒng)中的一
8、種機(jī)制,它可執(zhí)行一系列的操作步。在有些操 作系統(tǒng)中使用作業(yè)(JOB)或任務(wù)(TASK)的術(shù)語(yǔ)。一個(gè)進(jìn)程通常有它自己的專 用存儲(chǔ)區(qū)。ORACL進(jìn)程的體系結(jié)構(gòu)設(shè)計(jì)使性能最大。 ORACL實(shí)例有13 / 136 兩種類型:?jiǎn)芜M(jìn)程實(shí)例和多進(jìn)程實(shí)例。 單進(jìn)程ORACLE又稱單用戶ORACLE是一種數(shù)據(jù)庫(kù)系統(tǒng),一個(gè)進(jìn)程執(zhí) 行全部ORACL代碼。由于ORACL部分和客戶應(yīng)用程序不能分別以進(jìn)程執(zhí) 行,所以O(shè)RACL的代碼和用戶的數(shù)據(jù)庫(kù)應(yīng)用是單個(gè)進(jìn)程執(zhí)行。 在單進(jìn)程環(huán)境下的 ORACLE實(shí)例,僅允許一個(gè)用戶可存取。例如在 14 / 136 MS-DOSt運(yùn)行 ORACLE 多進(jìn)程ORACL實(shí)例(又稱多用戶ORA
9、CL)使用多個(gè)進(jìn)程來(lái)執(zhí)行ORACLE 的不同部分,對(duì)于每一個(gè)連接的用戶都有一個(gè)進(jìn)程。 在多進(jìn)程系統(tǒng)中,進(jìn)程分為兩類:用戶進(jìn)程和ORACLES程。當(dāng)一用戶 運(yùn)行一應(yīng)用程序,如 PRO*C程序或一個(gè)ORACL工具(女口 SQL*PLU$,為用 戶運(yùn)行的應(yīng)用建立15 / 136 一個(gè)用戶進(jìn)程。 ORACL進(jìn)程又分為兩類:服務(wù)器進(jìn)程和 后臺(tái)進(jìn)程。服務(wù)器進(jìn)程用于處理連接到該實(shí)例的用戶進(jìn)程的請(qǐng)求。當(dāng)應(yīng)用 和ORACEL是在同一臺(tái)機(jī)器上運(yùn)行,而不再通過網(wǎng)絡(luò),一般將用戶進(jìn)程和 它相應(yīng)的服務(wù)器進(jìn)程組合成單個(gè)的進(jìn)程,可降低系統(tǒng)開銷。然而,當(dāng)應(yīng)用 和ORACLE運(yùn)行在不同的機(jī)器上時(shí),用戶進(jìn)程經(jīng)過一個(gè)分離服務(wù)器進(jìn)程與
10、 ORACL通信。它可執(zhí)行下列任務(wù): 16 / 136 對(duì)應(yīng)用所發(fā)出的SQL語(yǔ)句進(jìn)行語(yǔ)法分析和執(zhí)行。 從磁盤 (數(shù)據(jù)文件) 中讀入必要的數(shù)據(jù)塊到 SGA的共享數(shù)據(jù)庫(kù)緩沖 區(qū)(該塊不在緩沖區(qū)時(shí)) 。 將結(jié)果返回給應(yīng)用程序處理。 系統(tǒng)為了使性能最好和協(xié)調(diào)多個(gè)用戶,在多進(jìn)程系統(tǒng)中使用一些附加 進(jìn)程,稱為后臺(tái)進(jìn)程。在許多操作系統(tǒng)17 / 136 中,后臺(tái)進(jìn)程是在實(shí)例啟動(dòng)時(shí)自動(dòng) 地建立。一個(gè)ORACL實(shí)例可以有許多后臺(tái)進(jìn)程,但它們不是一直存在。后 臺(tái)進(jìn)程的名字為: DBWR 數(shù)據(jù)庫(kù)寫入程序 LGWR日志寫入程序 CKPT 檢查點(diǎn) SMON系統(tǒng)監(jiān)控 PMON 進(jìn)程監(jiān)控 ARCH歸檔 RECO恢復(fù) LCKn
11、 封鎖 18 / 136 Dnnn 調(diào)度進(jìn)程 Snnn 服務(wù)器 每個(gè)后臺(tái)進(jìn)程與 ORACLED據(jù)庫(kù)的不同部分交互。 下面對(duì)后臺(tái)進(jìn)程的功能作簡(jiǎn)單介紹: DBW進(jìn)程:該進(jìn)程執(zhí)行將緩沖區(qū)寫入數(shù)據(jù)文件,是負(fù)責(zé)緩沖存儲(chǔ)區(qū)管 理的一個(gè)ORACL后臺(tái)進(jìn)程。當(dāng)緩沖區(qū)中的一緩沖區(qū)被修改,它被標(biāo)志為“弄 臟” DBWI的主要任務(wù)是將“弄臟”的緩沖19 / 136 區(qū)寫入磁盤,使緩沖區(qū)保持“干 凈”。由于緩沖存儲(chǔ)區(qū)的緩沖區(qū)填入數(shù)據(jù)庫(kù)或被用戶進(jìn)程弄臟, 未用的緩沖 區(qū)的數(shù)目減少。當(dāng)未用的緩沖區(qū)下降到很少,以致用戶進(jìn)程要從磁盤讀入 塊到內(nèi)存存儲(chǔ)區(qū)時(shí)無(wú)法找到未用的緩沖區(qū)時(shí), DBW將管理緩沖存儲(chǔ)區(qū),使 用戶進(jìn)程總可得到未
12、用的緩沖區(qū) ORACLED用 LRU( LEAST RECENTLY USE算法 (最近最少使用算法) 保持內(nèi)存中的數(shù)據(jù)塊是最近使用的, 使I/O最小。在下列情況預(yù)示DBW要 20 / 136 將弄臟的緩沖區(qū)寫入磁盤: 當(dāng)一個(gè)服務(wù)器進(jìn)程將一緩沖區(qū)移入“弄臟”表,該弄臟表達(dá)到臨界 長(zhǎng)度時(shí),該服務(wù)進(jìn)程將通知DBWR8行寫。 該臨界長(zhǎng)度是為參數(shù) DB-BLOCK -WRITE-BATCH值的一半。 當(dāng)一個(gè)服務(wù)器進(jìn)程在 LRU表中查找DB-BLOCK-MAX-SCAN-21 / 136 C援沖中區(qū) 時(shí),沒有查到未用的緩沖區(qū),它停止查找并通知 DBW進(jìn)行寫。 出現(xiàn)超時(shí)(每次3秒),DBWR各通知本身。
13、當(dāng)出現(xiàn)檢查點(diǎn)時(shí),LGW將通知DBWR 在前兩種情況下,DBW將弄臟表中的塊寫入磁盤,每次可寫的塊數(shù)由 初始化參數(shù)DB-BLOCK-WRITE-22 / 136 BATCH指定。如果弄臟表中沒有該參數(shù)指定 塊數(shù)的緩沖區(qū),DBWI從 LUR表中查找另外一個(gè)弄臟緩沖區(qū)。 如果DBW在三秒內(nèi)未活動(dòng),則出現(xiàn)超時(shí)。在這種情況下 DBWR寸LRU 表查找指定數(shù)目的緩沖區(qū),將所找到任何弄臟緩沖區(qū)寫入磁盤。每當(dāng)出現(xiàn) 超時(shí),DBW查找一個(gè)新的緩沖區(qū)組。每次由 DBWR找的緩沖區(qū)的數(shù)目是 為寢化參數(shù)DB-BLOCK-WRITE-23 / 136 BATCH值的二倍。如果數(shù)據(jù)庫(kù)空運(yùn)轉(zhuǎn),DBWR 最終將全部緩沖區(qū)存儲(chǔ)區(qū)
14、寫入磁盤。 在出現(xiàn)檢查點(diǎn)時(shí),LGW指定一修改緩沖區(qū)表必須寫入到磁盤。 DBW將 指定的緩沖區(qū)寫入磁盤。 在有些平臺(tái)上, 一個(gè)實(shí)例可有多個(gè) DBWR在這樣的實(shí)例中,一些塊可 寫入一磁盤,另一些塊可寫入其它磁盤。參數(shù) DB-WRITER控制DBW進(jìn)程 個(gè)數(shù)。 LGW進(jìn)程:該進(jìn)24 / 136 程將日志緩沖區(qū)寫入磁盤上的一個(gè)日志文件,它是負(fù) 責(zé)管理日志緩沖區(qū)的一個(gè) ORACLE臺(tái)進(jìn)程。LGWRS程將自上次寫入磁盤 以來(lái)的全部日志項(xiàng)輸出,LGW輸出: 當(dāng)用戶進(jìn)程提交一事務(wù)時(shí)寫入一個(gè)提交記錄。 每三秒將日志緩沖區(qū)輸出。 當(dāng)日志緩沖區(qū)的 1/3 已滿時(shí)25 / 136 將日志緩沖區(qū)輸出。 當(dāng)DBW將修改緩
15、沖區(qū)寫入磁盤時(shí)則將日志緩沖區(qū)輸出。 LGW進(jìn)程同步地寫入到活動(dòng)的鏡象在線日志文件組。如果組中一個(gè)文 件被刪除或不可用,LGWF可繼續(xù)地寫入該組的其它文件。 日志緩沖區(qū)是一個(gè)循環(huán)緩沖區(qū)。 當(dāng)LGW將日志緩沖區(qū)的26 / 136 日志項(xiàng)寫入日 志文件后,服務(wù)器進(jìn)程可將新的日志項(xiàng)寫入到該日志緩沖區(qū)。 LGWR1常寫 得很快,可確保日志緩沖區(qū)總有空間可寫入新的日志項(xiàng)。 注意: 有時(shí)候當(dāng)需要更多的日志緩沖區(qū)時(shí), LWG在一個(gè)事務(wù)提交前就 將日志項(xiàng)寫出,而這些日志項(xiàng)僅當(dāng)在以后事務(wù)提交后才永久化。 ORACLE!用快速提交機(jī)制,當(dāng)用戶發(fā)出 COMMI語(yǔ)句時(shí),一個(gè) COMMIT 記錄立即放入日志緩沖區(qū),但相應(yīng)
16、的數(shù)據(jù)緩沖區(qū)改變是被延遲,直到在更 有效時(shí)才將它們寫入27 / 136 數(shù)據(jù)文件。當(dāng)一事務(wù)提交時(shí),被賦給一個(gè)系統(tǒng)修改號(hào) (SCN,它同事務(wù)日志項(xiàng)一起記錄在日志中。由于 SCN記錄在日志中,以 致在并行服務(wù)器選項(xiàng)配置情況下,恢復(fù)操作可以同步。 CKPT進(jìn)程:該進(jìn)程在檢查點(diǎn)出現(xiàn)時(shí),對(duì)全部數(shù)據(jù)文件的標(biāo)題進(jìn)行修改, 指示該檢查點(diǎn)。在通常的情況下,該任務(wù)由 LGWR執(zhí)行。然而,如果檢查點(diǎn) 28 / 136 明顯地降低系統(tǒng)性能時(shí),可使 CKPT進(jìn)程運(yùn)行,將原來(lái)由LGWI進(jìn)程執(zhí)行的 檢查點(diǎn)的工作分離出來(lái),由 CKPT進(jìn)程實(shí)現(xiàn)。對(duì)于許多應(yīng)用情況, CKPT進(jìn) 程是不必要的。只有當(dāng)數(shù)據(jù)庫(kù)有許多數(shù)據(jù)文件, LGW
17、I在檢查點(diǎn)時(shí)明顯地降 低性能才使CKPT運(yùn)行。CKPT進(jìn)程不將塊寫入磁盤,該工作是由 DBW完成 的。 初始化參數(shù) CHECKPOINT-PRO29 / 136 CS控制 CKPT進(jìn)程的使能或使不能。缺 省時(shí)為FALSE即為使不能。 SMOI進(jìn)程: 該進(jìn)程實(shí)例啟動(dòng)時(shí)執(zhí)行實(shí)例恢復(fù),還負(fù)責(zé)清理不再使用的 臨時(shí)段。在具有并行服務(wù)器選項(xiàng)的環(huán)境下, SMO對(duì)有故障CPU或?qū)嵗M(jìn)行 實(shí)例恢復(fù)。SMOI進(jìn)程有規(guī)律地被呼醒,檢查是否需要,或者其它進(jìn)程發(fā)現(xiàn) 需要時(shí)可以被調(diào)用 30 / 136 PMO進(jìn)程:該進(jìn)程在用戶進(jìn)程出現(xiàn)故障時(shí)執(zhí)行進(jìn)程恢復(fù), 負(fù)責(zé)清理內(nèi) 存儲(chǔ)區(qū)和釋放該進(jìn)程所使用的資源。例:它要重置活動(dòng)事務(wù)表
18、的狀態(tài),釋 放封鎖,將該故障的進(jìn)程的 ID從活動(dòng)進(jìn)程表中移去。PMON還周期地檢查 調(diào)度進(jìn)程(DISPATCHER和服務(wù)器進(jìn)程的狀態(tài),如果已死, 則重新啟動(dòng) (不 包括有意刪除的進(jìn)程) 。 PMO有規(guī)律地被呼醒, 檢查是否需要,或者其它進(jìn)程發(fā)現(xiàn)需要31 / 136 時(shí)可以 被調(diào)用。 RECOtt程: 該進(jìn)程是在具有分布式選項(xiàng)時(shí)所使用的一個(gè)進(jìn)程,自動(dòng)地 解決在分布式事務(wù)中的故障。一個(gè)結(jié)點(diǎn)RECC后臺(tái)進(jìn)程自動(dòng)地連接到包含有 懸而未決的分布式事務(wù)的其它數(shù)據(jù)庫(kù)中, RECOI動(dòng)地解決所有的懸而不決 的事務(wù)。任何相應(yīng)于已處理的懸而不決的事務(wù)的行將從每一個(gè)數(shù)據(jù)庫(kù)的懸 掛事務(wù)表中刪去。 當(dāng)一數(shù)據(jù)庫(kù)服務(wù)32
19、/ 136 器的RECO后臺(tái)進(jìn)程試圖建立同一遠(yuǎn)程服務(wù)器的通信, 如果遠(yuǎn)程服務(wù)器是不可用或者網(wǎng)絡(luò)連接不能建立時(shí), RECC自動(dòng)地在一個(gè)時(shí) 間間隔之后再次連接。 RECO后臺(tái)進(jìn)程僅當(dāng)在允許分布式事務(wù)的系統(tǒng)中出現(xiàn),而且 DISTRIBUTED- TRANSACTION參數(shù)是大于 0。 ARCH進(jìn)程:該33 / 136 進(jìn)程將已填滿的在線日志文件拷貝到指定的存儲(chǔ)設(shè)備。 當(dāng)日志是為ARCHIVELO使用方式、并可自動(dòng)地歸檔時(shí) ARCH進(jìn)程才存在。 LCKn進(jìn)程: 是在具有并行服務(wù)器選件環(huán)境下使用,可多至 10個(gè)進(jìn)程 (LCKO, LCK1,LCK9,用于實(shí)例間的封鎖。 Dnnn 進(jìn)程(調(diào)度進(jìn)程) :該進(jìn)
20、程允許用34 / 136 戶進(jìn)程共享有限的服務(wù)器進(jìn)程 (SERVEHPROCESS沒有調(diào)度進(jìn)程時(shí),每個(gè)用戶進(jìn)程需要一個(gè)專用服務(wù)進(jìn) 程(DEDICATEDSERVER PRO0ES對(duì)于多線索服務(wù)器( MULTI -THREADED SERVER可支持多個(gè)用戶進(jìn)程。如果在系統(tǒng)中具有大量用戶,多線索服務(wù) 器可支持大量用戶,尤其在客戶 _服35 / 136 務(wù)器環(huán)境中。 在一個(gè)數(shù)據(jù)庫(kù)實(shí)例中可建立多個(gè)調(diào)度進(jìn)程。對(duì)每種網(wǎng)絡(luò)協(xié)議至少建立 一個(gè)調(diào)度進(jìn)程。數(shù)據(jù)庫(kù)管理員根據(jù)操作系統(tǒng)中每個(gè)進(jìn)程可連接數(shù)目的限制 決定啟動(dòng)的調(diào)度程序的最優(yōu)數(shù),在實(shí)例運(yùn)行時(shí)可增加或刪除調(diào)度進(jìn)程。多 線索服務(wù)器需要SQL*NET版本2或更后
21、的版本。在多線索服務(wù)器的配置下, 一個(gè)網(wǎng)絡(luò)接收器進(jìn)程等待客戶應(yīng)用連接請(qǐng)36 / 136 求,并將每一個(gè)發(fā)送到一個(gè)調(diào)度 進(jìn)程。如果不能將客戶應(yīng)用連接到一調(diào)度進(jìn)程時(shí),網(wǎng)絡(luò)接收器進(jìn)程將啟動(dòng) 一個(gè)專用服務(wù)器進(jìn)程。該網(wǎng)絡(luò)接收器進(jìn)程不是 ORACLED例的組成部分,它 是處理與ORACL有關(guān)的網(wǎng)絡(luò)進(jìn)程的組成部分。 在實(shí)例啟動(dòng)時(shí),該網(wǎng)絡(luò)接收 器被打開,為用戶連接到ORACL建立一通信路徑,然后每一個(gè)調(diào)度進(jìn)程把 連接請(qǐng)求的調(diào)37 / 136 度進(jìn)程的地址給予于它的接收器。當(dāng)一個(gè)用戶進(jìn)程作連接請(qǐng) 求時(shí),網(wǎng)絡(luò)接收器進(jìn)程分析請(qǐng)求并決定該用戶是否可使用一調(diào)度進(jìn)程。如 果是,該網(wǎng)絡(luò)接收器進(jìn)程返回該調(diào)度進(jìn)程的地址,之后用
22、戶進(jìn)程直接連接 到該調(diào)度進(jìn)程。有些用戶進(jìn)程不能調(diào)度進(jìn)程通信(如果使用 SQL*NET以前 的版本的用戶),網(wǎng)絡(luò)接收器進(jìn)程不能將如此用戶連接到一調(diào)度進(jìn)程。 在這 種情況下,38 / 136 網(wǎng)絡(luò)接收器建立一個(gè)專用服務(wù)器進(jìn)程,建立一種合適的連接。 2)、ORACL內(nèi)存結(jié)構(gòu) ORACL在內(nèi)存存儲(chǔ)下列信息: 執(zhí)行的程序代碼。 連接的會(huì)話信息 程序執(zhí)行期間所需數(shù)據(jù)和共享的信息 存儲(chǔ)在外存儲(chǔ)上的緩沖信息。 ORACL具有下39 / 136 列基本的內(nèi)存結(jié)構(gòu): 軟件代碼區(qū) 系統(tǒng)全局區(qū) , 包括數(shù)據(jù)庫(kù)緩沖存儲(chǔ)區(qū)、 日志緩沖區(qū)和共享池 . 程序全局區(qū) , 包括棧區(qū)和數(shù)據(jù)區(qū) . 排序區(qū) 軟件代碼區(qū) 用于存儲(chǔ)正在執(zhí)
23、行的或可以執(zhí)行的程序代碼。 軟件區(qū)是只讀, 可安裝成共享或非共享。ORACL系統(tǒng)程序是可共享的, 以致多個(gè)40 / 136 ORACL用戶可存取它,而不需要在內(nèi)存有多個(gè)副本。 用戶程序可 以共享也可以不共享。 系統(tǒng)全局區(qū) 為一組由ORACL分配的共享的內(nèi)存結(jié)構(gòu),可包含一個(gè)數(shù)據(jù)庫(kù)實(shí)例的數(shù) 據(jù)或控制信息。如果多個(gè)用戶同時(shí)連接到同一實(shí)例時(shí),在實(shí)例的 SGA中數(shù) 據(jù)可為多個(gè)用戶所共享,所以又稱為共享全局區(qū)。當(dāng)實(shí)例起動(dòng)時(shí), SGA的 41 / 136 存儲(chǔ)自動(dòng)地被分配;當(dāng)實(shí)例關(guān)閉時(shí),該存儲(chǔ)被回收。所有連接到多進(jìn)程數(shù) 據(jù)庫(kù)實(shí)例的全部用戶可自動(dòng)地被分配;當(dāng)實(shí)例關(guān)閉時(shí),該存儲(chǔ)被回收。所 有連接到多進(jìn)程數(shù)據(jù)庫(kù)實(shí)
24、例的全部用戶可使用其 SGA中的信息,但僅僅有 幾個(gè)進(jìn)程可寫入信息。在 SGA中存儲(chǔ)信息將內(nèi)存劃分成幾個(gè)區(qū):數(shù)據(jù)庫(kù)緩 沖存儲(chǔ)區(qū)、日志緩沖區(qū)、共享池、請(qǐng)求和響應(yīng)隊(duì)列、數(shù)據(jù)字典存儲(chǔ)區(qū)和其 42 / 136 它各種信息。 程序全局區(qū) PGA是一個(gè)內(nèi)存區(qū),包含單個(gè)進(jìn)程的數(shù)據(jù)和控制信息,所以又稱為進(jìn) 程全局區(qū) (PROCESS GLOBAL AREA 排序區(qū) 排序需要內(nèi)存空間,ORACLE用該內(nèi)存排序數(shù)據(jù),這部分空間稱為排 序區(qū)。排序區(qū)存在于請(qǐng)求排序的用43 / 136 戶進(jìn)程的內(nèi)存中,該空間的大小為適就 排序數(shù)據(jù)量的大小, 可增長(zhǎng),但受初始化參數(shù) SORT-AREA-SIZE所限制。 2. ORACL
25、的配置方案 所有連接到ORACLE勺用戶必須執(zhí)行兩個(gè)代碼模塊可存取一個(gè) ORACLE 數(shù)據(jù)庫(kù)實(shí)例: 應(yīng)用或ORACLE具:一數(shù)據(jù)庫(kù)用戶執(zhí)行一數(shù)據(jù)庫(kù)應(yīng)用或一個(gè) ORACLE 工44 / 136 具,可向ORACLED據(jù)庫(kù)發(fā)出SQL語(yǔ)句。 ORACL服務(wù)器程序:負(fù)責(zé)解釋和處理應(yīng)用中的 SQL語(yǔ)句。 在多進(jìn)程實(shí)例中,連接用戶的代碼可按下列三種方案之一配置: 對(duì)于每一個(gè)用戶,其數(shù)據(jù)庫(kù)應(yīng)用程序和服務(wù)器程序組合成單個(gè)用戶 進(jìn)程 對(duì)于每一個(gè)用戶,其數(shù)據(jù)庫(kù)45 / 136 應(yīng)用是由用戶進(jìn)程所運(yùn)行,并有一個(gè)專 用服務(wù)器進(jìn)程。執(zhí)行ORACL服務(wù)器的代碼。這樣的配置稱為專用服務(wù)器體 系結(jié)構(gòu) 執(zhí)行數(shù)據(jù)庫(kù)應(yīng)用的進(jìn)程不同
26、于執(zhí)行 ORACLE務(wù)器代碼的進(jìn)程,而 且每一個(gè)服務(wù)器進(jìn)程(執(zhí)行 ORACL服務(wù)器代碼)可服務(wù)于多個(gè)用戶進(jìn)程, 這樣的配置稱為多線索服務(wù)器體系結(jié)構(gòu)。 46 / 136 1) USER/SERVE進(jìn)程相結(jié)合的結(jié)構(gòu) 在這種配置下, 數(shù)據(jù)庫(kù)應(yīng)用和ORACL服務(wù)器程序是在同一個(gè)進(jìn)程中運(yùn) 行,該進(jìn)程稱為用戶進(jìn)程。 這種ORACL配置有時(shí)稱為單任務(wù) ORACLE si ngle_task ORACLE),該 配置適用于這樣的操作系統(tǒng), 它可在同一進(jìn)程中的數(shù)據(jù)庫(kù)應(yīng)用和 ORACL代 47 / 136 碼之間維護(hù)一個(gè)隔離,該隔離是為數(shù)據(jù)安全性和完整性所需。其中程序接 口( program in terface
27、 )是負(fù)責(zé)ORACLE艮務(wù)器代碼的隔離和保護(hù),在數(shù) 據(jù)庫(kù)應(yīng)用和ORACL用戶程序之間傳送數(shù)據(jù)。 2) 使用專用服務(wù)器進(jìn)程的系統(tǒng)結(jié)構(gòu) 使用專用服務(wù)器進(jìn)程的 ORACL系統(tǒng)在兩臺(tái)計(jì)算機(jī)上運(yùn)行。在48 / 136 這種系統(tǒng) 中,在一計(jì)算機(jī)上用戶進(jìn)程執(zhí)行數(shù)據(jù)庫(kù)應(yīng)用,而在另一臺(tái)計(jì)算機(jī)上的服務(wù) 器進(jìn)程執(zhí)行相應(yīng)的ORACL服務(wù)器代碼,這兩個(gè)進(jìn)程是分離的。為每個(gè)用戶 進(jìn)程建立的不同的服務(wù)器進(jìn)程稱為專用服務(wù)器進(jìn)程,因?yàn)樵摲?wù)器進(jìn)程僅 對(duì)相連的用戶進(jìn)程起作用。這種配置又稱為兩任務(wù) ORACLE每一個(gè)連接到 49 / 136 ORACLE勺用戶進(jìn)程有一個(gè)相應(yīng)的專用服務(wù)進(jìn)程。 這種系統(tǒng)結(jié)構(gòu)允許客戶應(yīng) 用是有工作站上執(zhí)
28、行,通過網(wǎng)絡(luò)與運(yùn)行 ORACL 的計(jì)算機(jī)通信。當(dāng)客戶應(yīng)用 和ORACL服務(wù)器代碼是在同一臺(tái)計(jì)算機(jī)上執(zhí)行時(shí),這種結(jié)構(gòu)也可用。 3)多線索服務(wù)器的系統(tǒng)結(jié)構(gòu) 多線索服務(wù)器配置允許許多用戶進(jìn)程共享很少服務(wù)器進(jìn)50 / 136 程。在沒有多 線索服務(wù)器的配置中,每一個(gè)用戶進(jìn)程需要自己的專用服務(wù)器進(jìn)程。在具 有多線索服務(wù)器的配置中,許多用戶進(jìn)程連接到調(diào)度進(jìn)程,由調(diào)度進(jìn)程將 客戶請(qǐng)求發(fā)送到一個(gè)共享服務(wù)器進(jìn)程。多線索服務(wù)器配置的優(yōu)點(diǎn)是降低系 統(tǒng)開銷,增加用戶個(gè)數(shù)。 該系統(tǒng)中需要下列類型的進(jìn)程: 網(wǎng)絡(luò)接收器進(jìn)51 / 136 程, 將用戶進(jìn)程連接到調(diào)度進(jìn)程和專用服務(wù)器進(jìn)程。 一個(gè)或多個(gè)調(diào)度進(jìn)程 個(gè)或多個(gè)共享服務(wù)
29、器進(jìn)程 其中網(wǎng)絡(luò)接收器進(jìn)程等待新來(lái)的連接請(qǐng)求,決定每一用戶進(jìn)程能否用 共享服務(wù)器進(jìn)程。如果可以使用,接收器進(jìn)程將一調(diào)度進(jìn)程的地址返回給 用戶進(jìn)程。如果用戶進(jìn)程請(qǐng)求一專用服務(wù)器,該接收器進(jìn)程將建立一個(gè)專 用服務(wù)器進(jìn)程,將用戶進(jìn)程連接到該專用服務(wù)器進(jìn)程。對(duì)于數(shù)據(jù)庫(kù)客戶機(jī) 所使用的每種網(wǎng)絡(luò)協(xié)議至少配置一個(gè)調(diào)度進(jìn)程,并啟動(dòng)它。 52 / 136 當(dāng)用戶作一次調(diào)用時(shí),調(diào)度進(jìn)程將請(qǐng)求放置在 SGA的請(qǐng)求隊(duì)列中,由 可用的共享服務(wù)器進(jìn)程獲取。共享服務(wù)器進(jìn)程為完成每一個(gè)用戶進(jìn)程的請(qǐng) 求作所有必要的數(shù)據(jù)庫(kù)調(diào)用。當(dāng)服務(wù)器完成請(qǐng)求時(shí),將結(jié)果返回到調(diào)度進(jìn) 程的隊(duì)列,然后由調(diào)度進(jìn)程將完成的請(qǐng)求返回給用戶進(jìn)程。 共享服務(wù)
30、器進(jìn)程:除共享服務(wù)器進(jìn)程不是連接指定的用戶進(jìn)程53 / 136 外,共 享服務(wù)器進(jìn)程和專用服務(wù)器進(jìn)程提供相同的功能,一個(gè)共享服務(wù)器進(jìn)程在 多線索服務(wù)器的配置中可為任何客戶請(qǐng)求服務(wù)。 一個(gè)共享服務(wù)器進(jìn)程的 SGA 不包含有與用戶相關(guān)的數(shù)據(jù),其信息可為所有共享服務(wù)器進(jìn)程存取,它僅 包含??臻g、進(jìn)程指定變量。所有與會(huì)話有關(guān)的信息是包含有 SGA中。每 一個(gè)共享服務(wù)器進(jìn)程可存取全部會(huì)話的數(shù)據(jù)空間,以致任何服務(wù)進(jìn)程54 / 136 可處 理任何會(huì)話的請(qǐng)求。對(duì)于每一個(gè)會(huì)話的數(shù)據(jù)空間是在 SGA中分配空間。 ORACLE!據(jù)請(qǐng)求隊(duì)列的長(zhǎng)度可動(dòng)態(tài)地調(diào)整共享服務(wù)器進(jìn)程??山⒌?共享服務(wù)器進(jìn)程將請(qǐng)求放到請(qǐng)求隊(duì)列
31、。一個(gè)用戶請(qǐng)求是對(duì)數(shù)據(jù)庫(kù)的一次程 序接口調(diào)用,為SQL語(yǔ)句。在SGA中請(qǐng)求隊(duì)列對(duì)實(shí)例的全部調(diào)度進(jìn)程是公 用的。服務(wù)器進(jìn)程為新請(qǐng)求檢查公用請(qǐng)求隊(duì)列,按先進(jìn)先出的原則從隊(duì)列 檢出一個(gè)請(qǐng)求,55 / 136 然后為完成該請(qǐng)求對(duì)數(shù)據(jù)庫(kù)作必要的調(diào)用。共享服務(wù)器進(jìn) 程將響應(yīng)放在調(diào)度進(jìn)程的響應(yīng)隊(duì)列。每一個(gè)調(diào)度進(jìn)程在 SGA中有自己的響 應(yīng)隊(duì)列,每個(gè)調(diào)度進(jìn)程負(fù)責(zé)將完成的請(qǐng)求回送給相應(yīng)的用戶進(jìn)程。 3.0RACLB運(yùn)行 1)使用專用服務(wù)進(jìn)程的 ORACL的運(yùn)行 在這種配置下,ORACLE!行過程如下: 56 / 136 (1)數(shù)據(jù)庫(kù)服務(wù)器計(jì)算機(jī)當(dāng)前正在運(yùn)行 ORACLE后臺(tái)進(jìn)程)。 ( 2 ) 在 一 客 戶
32、工 作 站 運(yùn) 行 一 個(gè) 數(shù) 據(jù) 庫(kù) 應(yīng) 用 ( 為 用 戶 進(jìn) 程 ), 如 SQL*PLUS客戶應(yīng)用使用SQL*NET DRIVE建立對(duì)服務(wù)器的連接。 (3) 數(shù)據(jù)庫(kù)服務(wù)57 / 136 器計(jì)算機(jī)當(dāng)前正運(yùn)行合適的 SQL*NETDRIVER該機(jī)上 接收器進(jìn)程檢出客戶數(shù)據(jù)庫(kù)應(yīng)用的連接請(qǐng)求,并在該機(jī)上為用戶進(jìn)程建立 專用服務(wù)器進(jìn)程。 (4) 用戶發(fā)出單個(gè)SQL語(yǔ)句。 (5) 專用服務(wù)器進(jìn)程接收該語(yǔ)句,在此處有兩種方法處理 SQL語(yǔ)句: 如果在共享池一共享 SQL區(qū)中包含有相同SQL語(yǔ)句時(shí),該服務(wù)器進(jìn) 58 / 136 程可利用已存在的共享 SQL區(qū)執(zhí)行客戶的SQL語(yǔ)句。 如果在共享池中沒有一
33、個(gè) SQL區(qū)包含有相同的SQL語(yǔ)句時(shí),在共享 池中為該語(yǔ)句分配一新的共享 SQL區(qū)。 在每一種情況, 在會(huì)話的 PGA中建立一個(gè)專用SQL區(qū),專用服務(wù)器進(jìn) 程檢查用戶對(duì)查詢數(shù)據(jù)59 / 136 的存取權(quán)限。 (6) 如果需要,服務(wù)器進(jìn)程從數(shù)據(jù)文件中檢索數(shù)據(jù)塊,或者可使用已 存儲(chǔ)在實(shí)例SGA中的緩沖存儲(chǔ)區(qū)的數(shù)據(jù)塊。 (7) 服 務(wù) 器 進(jìn)程 執(zhí) 行 存 儲(chǔ) 在 共 享 SQL區(qū)中的SQL語(yǔ)句。數(shù)據(jù)首先在SGA 中修改,由DBWR進(jìn)程在最有效時(shí)將它寫入磁盤。 LGWf進(jìn)程在在線日志文 件中記錄用戶提交請(qǐng)求的事務(wù)。 60 / 136 ( 8)如果請(qǐng)求成功, 服務(wù)器將通過網(wǎng)絡(luò)發(fā)送一信息。 如果請(qǐng)求不成
34、功, 將發(fā)送相應(yīng)的錯(cuò)誤信息。 (9)在整個(gè)過程中, 其它的后臺(tái)進(jìn)程是運(yùn)行的, 同時(shí)注意需要干預(yù)的 條件。另外,ORACL管理其它事務(wù),防止不同事務(wù)之間請(qǐng)求同一數(shù)據(jù)的競(jìng) 爭(zhēng)。 2) 使用多線索服務(wù)器的 ORACL的61 / 136 運(yùn)行 在這種配置下,ORACL運(yùn)行過程如下: (1) 一數(shù)據(jù)庫(kù)服務(wù)器計(jì)算機(jī)運(yùn)行使用多線索服務(wù)器配置的 ORACLE (2) 在一客戶工作站運(yùn)行一數(shù)據(jù)庫(kù)應(yīng)用(在一用戶進(jìn)程中) 。客戶應(yīng) 用合適的SQL*NE驅(qū)動(dòng)器試圖建立到數(shù)據(jù)庫(kù)服務(wù)器計(jì)算機(jī)的連接。 (3) 數(shù)據(jù)庫(kù)服務(wù)器計(jì)算機(jī)當(dāng)前運(yùn)行合62 / 136 適的 SQL*NE驅(qū)動(dòng)器,它的網(wǎng)絡(luò) 接收器進(jìn)程檢出用戶進(jìn)程的連接請(qǐng)求
35、,并決定用戶進(jìn)程如何連接。如果用 戶是使用SQL*NET版本2,該網(wǎng)絡(luò)接收器通知用戶進(jìn)程使用一個(gè)可用的調(diào) 度進(jìn)程的地址重新連接。 (4) 用戶發(fā)出單個(gè)SQL語(yǔ)句 (5) 調(diào)度進(jìn)程將用戶進(jìn)程的請(qǐng)求放入請(qǐng)求隊(duì)列,該隊(duì)列位于 SGA中, 可為所有調(diào)度進(jìn)程共享。 (6) 一個(gè)可用63 / 136 共享服務(wù)器檢驗(yàn)公用調(diào)度進(jìn)程請(qǐng)求隊(duì)列,并從隊(duì)列中檢 出下一個(gè)SQL語(yǔ)句。然后處理該 SQL語(yǔ)句,同前一(5),( 6)和(7)。注 意:會(huì)話的專用 SQL區(qū)是建立在SGA中。 (7) 一當(dāng)共享服務(wù)器進(jìn)程完成 SQL處理,該進(jìn)程將結(jié)果放置發(fā)入該請(qǐng) 求的調(diào)度進(jìn)程的響應(yīng)隊(duì)列。 (8) 調(diào)度進(jìn)程64 / 136 檢查它
36、的響應(yīng)隊(duì)列,并將完成的請(qǐng)求送回請(qǐng)求的用戶進(jìn) 程。 4. 數(shù)據(jù)庫(kù)結(jié)構(gòu)和空間管理 一個(gè)ORACLED據(jù)庫(kù)是數(shù)據(jù)的集合,被處理成一個(gè)單位。一個(gè) ORACLE 數(shù)據(jù)庫(kù)有一個(gè)物理結(jié)構(gòu)和一個(gè)邏輯結(jié)構(gòu)。 物理數(shù)據(jù)庫(kù)結(jié)構(gòu)( physical database structure )是由構(gòu)成數(shù)據(jù)庫(kù)的 操作系統(tǒng)文件所決定。每一個(gè)ORACLED據(jù)庫(kù)是由三種類型的文件65 / 136 組成: 數(shù) 據(jù)文件、日志文件和控制文件。數(shù)據(jù)庫(kù)的文件為數(shù)據(jù)庫(kù)信息提供真正的物 理存儲(chǔ)。 邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)是用戶所涉及的數(shù)據(jù)庫(kù)結(jié)構(gòu)。 一個(gè)ORACL數(shù)據(jù)庫(kù)的邏 輯結(jié)構(gòu)由下列因素決定: 一個(gè)或多個(gè)表空間 數(shù)據(jù)庫(kù)模式對(duì)象(即表、 視圖、索引、聚
37、集、序列、存儲(chǔ)過程) 66 / 136 邏輯存儲(chǔ)結(jié)構(gòu)如表空間 (dataspace) 、段 (segment) 和范圍將支配一個(gè) 數(shù)據(jù)庫(kù)的物理空間如何使用。模式對(duì)象 (schema object) 用它們之間的聯(lián)系 組成了一個(gè)數(shù)據(jù)庫(kù)的關(guān)系設(shè)計(jì)。 1) 物理結(jié)構(gòu) (1) 數(shù)據(jù)文件 每一個(gè)ORACL數(shù)據(jù)庫(kù)有一個(gè)或多個(gè)物理的數(shù)據(jù)文件 (data file)。一 67 / 136 個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件包含全部數(shù)據(jù)庫(kù)數(shù)據(jù)。邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu) (如表、索引 ) 的數(shù)據(jù)物理地存儲(chǔ)在數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中。 數(shù)據(jù)文件有下列特征: 一個(gè)數(shù)據(jù)文件僅與一個(gè)數(shù)據(jù)庫(kù)聯(lián)系。 一旦建立, 數(shù)據(jù)文件不能改變大小 一個(gè)表空間(數(shù)據(jù)庫(kù)存儲(chǔ)
38、的邏輯單位)由一個(gè)或多個(gè)數(shù)據(jù)文件組成。 數(shù)據(jù)文件中的數(shù)據(jù)68 / 136 在需要時(shí)可以讀取并存儲(chǔ)在 ORACLE存儲(chǔ)區(qū) 中。例如:用戶要存取數(shù)據(jù)庫(kù)一表的某些數(shù)據(jù),如果請(qǐng)求信息不在數(shù)據(jù)庫(kù) 的內(nèi)存存儲(chǔ)區(qū)內(nèi),則從相應(yīng)的數(shù)據(jù)文件中讀取并存儲(chǔ)在內(nèi)存。當(dāng)修改和插 入新數(shù)據(jù)時(shí),不必立刻寫入數(shù)據(jù)文件。為了減少磁盤輸出的總數(shù),提高性 能,數(shù)據(jù)存儲(chǔ)在內(nèi)存,然后由 ORACLE!臺(tái)進(jìn)程DBW決定如何將其寫入到 相應(yīng)的數(shù)據(jù)文件。 69 / 136 (2) 日志文件 每一個(gè)數(shù)據(jù)庫(kù)有兩個(gè)或多個(gè)日志文件( redo log file )的組,每一個(gè) 日志文件組用于收集數(shù)據(jù)庫(kù)日志。日志的主要功能是記錄對(duì)數(shù)據(jù)所作的修 改,所以
39、對(duì)數(shù)據(jù)庫(kù)作的全部修改是記錄在日志中。在出現(xiàn)故障時(shí),如果不 能將修改數(shù)據(jù)永久地寫入數(shù)據(jù)文件,則可利用日志得到該修改,所以從不 會(huì)丟失已有操作成果。 日志文件主要是70 / 136 保護(hù)數(shù)據(jù)庫(kù)以防止故障。為了防止日志文件本身的故 障,ORACLE允許鏡象日志(mirrored redo log) ,以致可在不同磁盤上維 護(hù)兩個(gè)或多個(gè)日志副本。 日志文件中的信息僅在系統(tǒng)故障或介質(zhì)故障恢復(fù)數(shù)據(jù)庫(kù)時(shí)使用,這些 故障阻止將數(shù)據(jù)庫(kù)數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)的數(shù)據(jù)文件。然而任何丟失的數(shù)據(jù)在 下一次數(shù)據(jù)庫(kù)打開時(shí),ORACLE!動(dòng)地應(yīng)用日志文件中的信息來(lái)恢復(fù)數(shù)據(jù)庫(kù) 數(shù)據(jù)文件。 71 / 136 (3) 控制文件 每一 OR
40、ACLED據(jù)庫(kù)有一個(gè)控制文件(control file),它記錄數(shù)據(jù)庫(kù)的 物理結(jié)構(gòu),包含下列信息類型: 數(shù)據(jù)庫(kù)名; 數(shù)據(jù)庫(kù)數(shù)據(jù)文件和日志文件的名字和位置; 數(shù)據(jù)庫(kù)建立日期。 為了安全起見, 允許控制文件被鏡象。 每一次ORACLED據(jù)庫(kù)的實(shí)例啟動(dòng)時(shí),它的控制文72 / 136 件用于標(biāo)識(shí)數(shù)據(jù)庫(kù)和 日志文件,當(dāng)著手?jǐn)?shù)據(jù)庫(kù)操作時(shí)它們必須被打開。當(dāng)數(shù)據(jù)庫(kù)的物理組成更 改時(shí),ORACL自動(dòng)更改該數(shù)據(jù)庫(kù)的控制文件。數(shù)據(jù)恢復(fù)時(shí),也要使用控制 文件。 2) 邏輯結(jié)構(gòu) 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)包含表空間、 段、范圍 (extent) 、數(shù)據(jù)塊和模式對(duì)象。 1) 表空間73 / 136 一個(gè)數(shù)據(jù)庫(kù)劃分為一個(gè)或多個(gè)邏輯單位
41、,該邏輯單位稱為表空間 (TABLESPACE 一個(gè)表空間可將相關(guān)的邏輯結(jié)構(gòu)組合在一起。 表空間作下列工作: 控制數(shù)據(jù)庫(kù)數(shù)據(jù)的磁盤分配。 將確定的空間份額分配給數(shù)據(jù)庫(kù)用戶。 通過使單個(gè)表空間在線或離線, 控制數(shù)據(jù)的可用性。 執(zhí)行部分?jǐn)?shù)據(jù)庫(kù)后備或恢復(fù)操作。 為提高性能, 跨越設(shè)備分配數(shù)據(jù)存儲(chǔ)。 數(shù)據(jù)庫(kù)、 表空間和DBA可利用 74 / 136 數(shù)據(jù)文件之間的關(guān)系如下圖所示: Database (2MB) DATAFILE3 (2MB) DSYSTEM Tablespace DATA Tablespace (2MB) DATAFILE2 75 / 136 river1 Driver2 。 每個(gè)數(shù)據(jù)
42、庫(kù)可邏76 / 136 輯劃分為一個(gè)或多個(gè)表空間 。 每一個(gè)表空間是由一個(gè)或多個(gè)數(shù)據(jù)文件組成,該表空間物理地存儲(chǔ) 表空間中全部邏輯結(jié)構(gòu)的數(shù)據(jù)。 DBA 可以建立新的表空間,可為表空間增 加數(shù)據(jù)文件或可刪除數(shù)據(jù)文件,設(shè)置或更改缺省的段存儲(chǔ)位置。 每一個(gè)ORACLED據(jù)庫(kù)包含有一個(gè)名為 SYSTE啲77 / 136 表空間,在數(shù)據(jù)庫(kù)建 立是自動(dòng)建立。在該表空間中總包含有整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)字典表。最小的 數(shù)據(jù)庫(kù)可只需要 SY STEM表空間。該表空間必須總是在線。表和存儲(chǔ)的 PL/SQL 程序單元(過程、函數(shù)、包和觸發(fā)器)的全部存儲(chǔ)數(shù)據(jù)是存儲(chǔ)在 SY STEM表空間中。如果這些 PL/SQL對(duì)象是為數(shù)
43、據(jù)庫(kù)建的, DBA在SY STEM 表空間中需要規(guī)劃這些對(duì)78 / 136 象所需要的空間。 表空間利用增加數(shù)據(jù)文件擴(kuò)大表空間,表空間的大小為組成該表空間 的數(shù)據(jù)文件大小的和。 DBA可以使ORACLED據(jù)庫(kù)中任何表空間(除 SY STEM表空間外)在線 (ONLINE或離線(OFFLINE。表空間通常是在線,以致它所包含的數(shù)據(jù) 對(duì)數(shù)據(jù)庫(kù)用戶是可用的。 當(dāng)表空間為離線時(shí),79 / 136 其數(shù)據(jù)不可使用。在下列情 況下,DBA可以使其離線。 。 使部分?jǐn)?shù)據(jù)不可用,而剩余的部分允許正常存取 。 執(zhí)行離線的表空間后備 。 為了修改或維護(hù)一應(yīng)用,使它和它的一組表臨時(shí)不可用。 包含有正在活動(dòng)的回滾段的
44、表空間不能被離線,僅當(dāng)回滾段不正在使 用時(shí),該表空間80 / 136 才可離線。 在數(shù)據(jù)字典中記錄表空間的狀態(tài),在線還是離線。如果在數(shù)據(jù)庫(kù)關(guān)閉 時(shí)一表空間為離線,那么在下次數(shù)據(jù)庫(kù)裝配和重新打開后,它仍然保持離 線。 當(dāng)出現(xiàn)某些錯(cuò)誤時(shí),一個(gè)表空間可自動(dòng)地由在線改變?yōu)殡x線。通過使 用多個(gè)表空間,將不同類型的數(shù)據(jù)分開,更方便 DBA來(lái)管理數(shù)據(jù)庫(kù)。 ORACL數(shù)據(jù)庫(kù)81 / 136 中一表空間是由一個(gè)或多個(gè)物理數(shù)據(jù)文件組成,一個(gè)數(shù) 據(jù)文件只可與一個(gè)表空間想聯(lián)系。 當(dāng)為一表空間建立一數(shù)據(jù)文件時(shí), ORACLE 建立該文件,分配指定的磁盤空間容量。在數(shù)據(jù)文件初時(shí)建立后,所分配 的磁盤不包含任何數(shù)據(jù)。 表空
45、間可以在線或離線。 在ORACLE還允許單獨(dú) 數(shù)據(jù)文件在線或離線。 2) 段、范圍和82 / 136 數(shù)據(jù)塊 ORACLE過段、范圍和數(shù)據(jù)塊邏輯數(shù)據(jù)結(jié)構(gòu)可更細(xì)地控制磁盤空間的 使用 段 段(SEGMENT包含表空間中一種指定類型的邏輯存儲(chǔ)結(jié)構(gòu), 是由一組 范圍組成。在ORACLED據(jù)庫(kù)中有幾種類型的段: 數(shù)據(jù)段、牽引段、回滾段 和臨時(shí)段。 數(shù)據(jù)段: 對(duì)于每一個(gè)非聚集的表有一數(shù)據(jù)83 / 136 段,表的所有數(shù)據(jù)存放在該 段。每一聚集有一個(gè)數(shù)據(jù)段,聚集中每一個(gè)表的數(shù)據(jù)存儲(chǔ)在該段中。 索引段: 每一個(gè)索引有一索引段,存儲(chǔ)索引數(shù)據(jù)。 回滾段:是由DBA建立, 用于臨時(shí)存儲(chǔ)要撤消的信息,這些信息用于
46、生成讀一致性數(shù)據(jù)庫(kù)信息、在數(shù)據(jù)庫(kù)恢復(fù)時(shí)使用、回滾未提交的事務(wù)。 臨時(shí)段:當(dāng)一個(gè)84 / 136 SQL語(yǔ)句需要臨時(shí)工作區(qū)時(shí), 由ORACLE!立。當(dāng)語(yǔ)句 執(zhí)行完畢,臨時(shí)段的范圍退回給系統(tǒng)。 ORACLE寸所有段的空間分配,以范圍為單位。 范圍 一個(gè)范圍(EXTENT是數(shù)據(jù)庫(kù)存儲(chǔ)空間分配的一個(gè)邏輯單位,它由連 續(xù)數(shù)據(jù)塊所組成。每一個(gè)段是由一個(gè)或多個(gè)范圍組85 / 136 成。當(dāng)一段中間所有空 間已完全使用時(shí),ORACLED該段分配一個(gè)新的范圍。 為了維護(hù)的目的,在數(shù)據(jù)庫(kù)的每一段含有段標(biāo)題塊( segme nt header block )說(shuō)明段的特征以及該段中的范圍目錄。 數(shù)據(jù)塊 數(shù)據(jù)塊(dat
47、a block )是ORACLE!理數(shù)據(jù)文件中存儲(chǔ)空間的單位,為 數(shù)據(jù)庫(kù)使用86 / 136 的I/O的最小單位,其大小可不同于操作系統(tǒng)的標(biāo)準(zhǔn) I/O塊大 小。 數(shù)據(jù)塊的格式: 無(wú)用的變長(zhǎng)標(biāo)題 _ 表目錄 _ 行目錄 未用空間 行數(shù)據(jù) 87 / 136 (3)模式和模式對(duì)象 一個(gè)模式(schema)為模式對(duì)象(scehma object)的一個(gè)集合,每一個(gè)數(shù) 據(jù)庫(kù)用戶對(duì)應(yīng)一個(gè)模式。模式對(duì)象為直接引用數(shù)據(jù)庫(kù)數(shù)據(jù)的邏輯結(jié)構(gòu),模 式對(duì)象包含如表、 視圖、索引、聚集、序列、同義詞、數(shù)據(jù)庫(kù)鏈、過程和 包等結(jié)構(gòu)。模式對(duì)象是邏輯數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),每一種模式對(duì)象在磁盤上沒有 一個(gè)相應(yīng)文件存儲(chǔ)其信息。一個(gè)模式對(duì)象邏
48、輯地存儲(chǔ)在數(shù)據(jù)庫(kù)的一個(gè)88 / 136 表空 間中,每一個(gè)對(duì)象的數(shù)據(jù)物理地包含在表空間的一個(gè)或多個(gè)數(shù)據(jù)文件中。 表 表( table )為數(shù)據(jù)庫(kù)中數(shù)據(jù)存儲(chǔ)的基本單位,其數(shù)據(jù)按行、列存儲(chǔ)。 每個(gè)表具有一表名和列的集合。每一列有一個(gè)列名、 數(shù)據(jù)類型、寬度或精 度、比例。一行是對(duì)應(yīng)單個(gè)記錄的列信息的集合。 89 / 136 視圖 一個(gè)視圖 ( view) 是由一個(gè)或多個(gè)表 (或其他視圖) 中的數(shù)據(jù)的一種定 制的表示,是用一個(gè)查詢定義,所以可認(rèn)為是一個(gè)存儲(chǔ)的查詢( stored query )或是一個(gè)虛表 (virtual table) 。視圖可在使用表的許多地方使用。 由于視圖是由表導(dǎo)出的,視圖和表
49、存在許多類似,視圖象表最多可定 90 / 136 義 254 列。視圖可以被查詢,而在修改、插入或刪除時(shí)具有一定的限制, 在視圖上執(zhí)行的全部操作真正地影響視圖的基本表中的數(shù)據(jù),受到基本表 的完整性約束和觸發(fā)器的限制。 視圖與表不同, 一個(gè)視圖不分配任何存儲(chǔ)空間,視圖不真正地包含數(shù) 據(jù)。由查詢定義的視圖相應(yīng)于視圖引用表中的數(shù)據(jù)。視圖只在數(shù)據(jù)字典中 91 / 136 存儲(chǔ)其定義。 引入視圖有下列好處: 。 通過限制對(duì)表的行預(yù)定義集合的存取, 為表提供附加的安全性 。隱藏?cái)?shù)據(jù)復(fù)雜性。 。 為用戶簡(jiǎn)化命令 。 為基本表的數(shù)據(jù)提供另一種觀點(diǎn)。 。 可將應(yīng)用隔離基本表定義的修改 。 用于不用視圖無(wú)法表示的
50、查詢。 。 可用于保存復(fù)雜92 / 136 查詢。 聚集 聚集( cluster )是存儲(chǔ)表數(shù)據(jù)的可選擇的方法。一個(gè)聚集是一組表, 將具有同一公共列值的行存儲(chǔ)在一起,并且它們經(jīng)常一起使用。這些公共 列構(gòu)成聚集碼。 例如:EMP表各DEPT表共享DEPTN列,所以EMP表和DEPT 表可聚集在一起 , 聚 集 碼 的 列 為DEPTN(列,該聚集將93 / 136 每個(gè)部門的全部職工 行各該部門的行物理地存儲(chǔ)在同一數(shù)據(jù)塊中。 索引 索引 (index) 是與表和聚集相關(guān)的一種選擇結(jié)構(gòu)。 索引是為提高數(shù)據(jù)檢 索的性能而建立,利用它可快速地確定指定的信息。 ORACL索引為表數(shù)據(jù) 提供快速存取路徑。
51、索引適用于一范圍的行查詢或指定行的查詢。 94 / 136 索引可建立在一表的一列或多列上, 一旦建立,由ORACLE動(dòng)維護(hù)和 使用,對(duì)用戶是完全透明的。索引是邏輯地和物理地獨(dú)立于數(shù)據(jù),它們的 建立或刪除對(duì)表沒有影響,應(yīng)用可繼續(xù)處理。索引數(shù)據(jù)的檢索性能幾乎保 持常數(shù),而當(dāng)一表上存在許多索引時(shí),修改、刪除和插入操作的性能會(huì)下 降。 索引有唯一索引各非唯一索引。唯一索95 / 136 引保證表中沒有兩行在定義索 引的列上具有重復(fù)值。ORACL在唯一碼上自動(dòng)地定義唯一索引實(shí)施 UNIQUE 完整性約束。 組合索引是在表的某個(gè)列上所建立的一索引。 組全索引可加快 SELECT 語(yǔ)句的檢索速度,在其 W
52、HER子句中可引用組合索引的全部或主要部分 。 所以在定義中給出列的次序,將經(jīng)常存取的或選擇最多的列放在首96 / 136 位。 在建立索引時(shí), 將在表空間自動(dòng)地建立一索引段,索引段空間分配和 保留空間的使用受下列方式控制: 索引段范圍的分配常駐該索引段的存儲(chǔ)參數(shù)控制。 其數(shù)據(jù)塊中未用空間可受該段的 PCTFRE參數(shù)設(shè)置所控制。 序列生成器 序列生成器 97 / 136 (sequence generator) 產(chǎn)生序列號(hào)。在多用戶環(huán)境下該序 列生成器特別有用,可生成各返回序列號(hào)而不需要磁盤 I/O 或事務(wù)封鎖。 序列號(hào)為ORACL整數(shù),最多可有38個(gè)數(shù)字。一個(gè)序列定義指出一般 信息:序列的名
53、字、上升或下降、序列號(hào)之間間距和其它信息。對(duì)所有序 列的確的定義以行存儲(chǔ)在 SY STEM表空間中的數(shù)據(jù)字典表中,所以所98 / 136 有序列 定義總是可用。由引用序列號(hào)的 SQL語(yǔ)句使用序列號(hào),可生成一個(gè)新的序 列號(hào)或使用當(dāng)前序列號(hào)。一旦在用戶會(huì)話中的 SQL語(yǔ)句生成一序列號(hào),該 序列號(hào)僅為該會(huì)話可用。序列號(hào)生成是獨(dú)立于表,所以同一序列生成器可 用于一個(gè)和多個(gè)表。所生成序列號(hào)可用于生成唯一的主碼。 同義詞 一個(gè)同義詞 (synonym) 為任何表、99 / 136 視圖、快照、序列、過程、函數(shù)或包 的別名,其定義存儲(chǔ)在數(shù)據(jù)字典中。同義詞因安全性和方便原因而經(jīng)常使 用,可用于: 可屏蔽對(duì)象的
54、名字及其100 / 136 持有者。 為分布式數(shù)據(jù)庫(kù)的遠(yuǎn)程對(duì)象提101 / 136 供位置透明性。 為用戶簡(jiǎn)化SQL語(yǔ)句。 有兩種同義詞: 公102 / 136 用和專用。一個(gè)公用同義詞為命名為 PUBLIC特殊用 戶組所持有,可為數(shù)據(jù)庫(kù)中每一個(gè)用戶所存取。一個(gè)專用同義詞是包含在 指定用戶的模式中,僅為該用戶和授權(quán)的用戶所使用 雜湊 雜湊 ( hashing )是存儲(chǔ)表數(shù)據(jù)一種可選擇的方法, 用以改進(jìn)數(shù)據(jù)檢索 的性能。要使用雜湊,就要建立雜湊聚集, 將表裝入到該聚集。103 / 136 在驃湊聚 集中的表行根據(jù)雜湊函數(shù)的結(jié)果進(jìn)行物理學(xué)存儲(chǔ)和檢索。雜湊函數(shù)用于生 成一個(gè)數(shù)值的分布,該數(shù)值稱為雜湊
55、值,它是基于指定的聚集碼值。 程序單元 程序單元(program unit )是指存儲(chǔ)過程、函數(shù)和包(PACKAGE 個(gè)過程和函數(shù),是由SQL語(yǔ)句和PL/SQL語(yǔ)句組合在一起,為執(zhí)行某一104 / 136 個(gè)任 務(wù)的一個(gè)可執(zhí)行單位。一個(gè)過程或函數(shù)可被建立,在數(shù)據(jù)庫(kù)中存儲(chǔ)其編譯 形式,可由用戶或數(shù)據(jù)庫(kù)應(yīng)用所執(zhí)行。過程和函數(shù)差別在函數(shù)總返回單個(gè) 值給調(diào)用者,而過程沒有值返回給調(diào)用者。 包提供相關(guān)的過程、函數(shù)、變量和其它包結(jié)構(gòu)封裝起來(lái)并存貯在一起 的一種方法,允許管理者和應(yīng)用開發(fā)者利用該方法組織如此的程序 105 / 136 (routine ) , 來(lái)提供更多的功能和提高性能。 數(shù)據(jù)庫(kù)鏈 數(shù)據(jù)庫(kù)鏈
56、是一個(gè)命名的對(duì)象,說(shuō)明從一數(shù)據(jù)庫(kù)到另一數(shù)據(jù)庫(kù)的一路徑 (PATH。在分布式數(shù)據(jù)庫(kù)中,對(duì)全局對(duì)象名引用時(shí),數(shù)據(jù)庫(kù)鏈隱式地使用。 三 . 數(shù)據(jù)庫(kù)和實(shí)例的啟動(dòng)和關(guān)閉 一個(gè)ORACL數(shù)106 / 136 據(jù)庫(kù)沒有必要對(duì)所有用戶總是可用,數(shù)據(jù)庫(kù)管理員可啟 動(dòng)數(shù)據(jù)庫(kù),以致它被打開。在數(shù)據(jù)庫(kù)打開情況下,用戶可存取數(shù)據(jù)庫(kù)中的 信息。當(dāng)數(shù)據(jù)庫(kù)不使用時(shí), DBA 可關(guān)閉它,關(guān)閉后的數(shù)據(jù)庫(kù),用戶不能存 取其信息。 數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉是非常重要的管理功能, 通過以INTERNAL連接到 ORACLE勺能力來(lái)保護(hù)。以INTERNAL連接到ORACLED要有107 / 136 下列先決條件: 該用戶的操作系統(tǒng)賬號(hào)具有使用
57、 INTERNAL連接的操作系統(tǒng)特權(quán)。 對(duì)INTERNAI數(shù)據(jù)庫(kù)有一口令,該用戶知道其口令。 另外:當(dāng)用戶以INTERNALS接時(shí), 可連接到專用服務(wù)器,而且是安全 連接。 1 數(shù)據(jù)庫(kù)啟動(dòng) 啟動(dòng)數(shù)據(jù)庫(kù)并使它可用有三步操作: 108 / 136 啟動(dòng)一個(gè)實(shí)例; 裝配數(shù)據(jù)庫(kù) 打開數(shù)據(jù)庫(kù) 1) 啟動(dòng)一個(gè)實(shí)例 啟動(dòng)一實(shí)例的處理包含分配一個(gè) SGA(數(shù)據(jù)庫(kù)信息使用的內(nèi)存共享區(qū)) 和后臺(tái)進(jìn)程的建立。實(shí)例起動(dòng)的執(zhí)行先于該實(shí)例裝配一數(shù)據(jù)庫(kù)。如果僅啟 動(dòng)實(shí)例,則沒有數(shù)據(jù)庫(kù)與內(nèi)存儲(chǔ)結(jié)構(gòu)和進(jìn)程相聯(lián)系。 109 / 136 2) 裝配一數(shù)據(jù)庫(kù) 裝配數(shù)據(jù)庫(kù)是將一數(shù)據(jù)庫(kù)與已啟動(dòng)的實(shí)例相聯(lián)。當(dāng)實(shí)例安裝一數(shù)據(jù)庫(kù) 之后,該數(shù)據(jù)
58、庫(kù)保持關(guān)閉,僅 DBA可存取。 3) 打開一數(shù)據(jù)庫(kù) 打開一數(shù)據(jù)庫(kù)是使數(shù)據(jù)庫(kù)可以進(jìn)行正常數(shù)據(jù)庫(kù)操作的處理。當(dāng)一數(shù)據(jù) 庫(kù)打開所有用戶可連接到該數(shù)據(jù)庫(kù)用110 / 136 存取其信息。在數(shù)據(jù)庫(kù)打開時(shí),在線 數(shù)據(jù)文件和在線日志文件也被打開。如果一表空間在上一次數(shù)據(jù)庫(kù)關(guān)閉時(shí) 為離線,在數(shù)據(jù)庫(kù)再次打開時(shí),該表空間與它所相聯(lián)的數(shù)據(jù)文件還是離線 的。 2 數(shù)據(jù)庫(kù)和實(shí)例的關(guān)閉 關(guān)閉一實(shí)例以及它所連接的數(shù)據(jù)庫(kù)也有三步操作: 1) 關(guān)閉數(shù)據(jù)庫(kù) 111 / 136 數(shù)據(jù)庫(kù)停止的第一步是關(guān)閉數(shù)據(jù)庫(kù)。當(dāng)數(shù)據(jù)庫(kù)關(guān)閉后,所有在 SGA中 的數(shù)據(jù)庫(kù)數(shù)據(jù)和恢復(fù)數(shù)據(jù)相應(yīng)地寫入到數(shù)據(jù)文件和日志文件。在這操作之 后,所有聯(lián)機(jī)數(shù)據(jù)文件和
59、聯(lián)機(jī)的日志文件也被關(guān)閉,任何離線表空間中數(shù) 據(jù)文件夾是已關(guān)閉的。 在數(shù)據(jù)庫(kù)關(guān)閉后但還安裝時(shí), 控制文件仍保持打開。 2) 卸下數(shù)據(jù)112 / 136 庫(kù) 停止數(shù)據(jù)庫(kù)的第二步是從實(shí)例卸下數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)卸下后,在計(jì)算 機(jī)內(nèi)存中僅保留實(shí)例。在數(shù)據(jù)庫(kù)卸下后,數(shù)據(jù)庫(kù)的控制文件也被關(guān)閉。 3) 停止實(shí)例 停止數(shù)據(jù)庫(kù)的最后一步是停止實(shí)例。當(dāng)實(shí)例停止后, SAG是從內(nèi)存中 撤消, 后臺(tái)進(jìn)程被中止。 113 / 136 3 初始化參數(shù)文件 在啟動(dòng)一個(gè)實(shí)例時(shí),ORACLE必須讀入一初始化參數(shù)文件114 / 136 有實(shí)例配置參數(shù)。這些參數(shù)置成特殊值,用于初始ORACL實(shí)例的許多內(nèi)存 和進(jìn)程設(shè)置,該參數(shù)文件包含:
60、 一個(gè)實(shí)例所啟動(dòng)的數(shù)據(jù)庫(kù)名字 在SGA中存儲(chǔ)結(jié)構(gòu)使用多少內(nèi)存; 在填滿在線日志文件后作什initialization parameter file ),該參數(shù)文件是一個(gè)文本文件,包含 115 / 136 么; 數(shù)據(jù)庫(kù)控制文件的名字和位置; 在數(shù)據(jù)庫(kù)中專用回滾段的名字。 四. 數(shù)據(jù)字典的使用 數(shù)據(jù)字典是ORACL數(shù)據(jù)庫(kù)的最重要的部分之一, 是由一組只讀的表及 其視圖所組成。它提供116 / 136 有關(guān)該數(shù)據(jù)庫(kù)的信息,可提供的信息如下: ORACL用戶的名字; 每一個(gè)用戶所授的特權(quán)和角色; 模式對(duì)象的名字(表、視圖、快照、索引、聚集、同義詞、序列、 過程、函數(shù)、包及觸發(fā)器等) ; 關(guān)于完整性約束
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉(cāng)儲(chǔ)合同里免責(zé)合同范本
- 產(chǎn)品保本合同范本
- 小學(xué)道法教學(xué)中翻轉(zhuǎn)課堂的應(yīng)用
- 包包寄售合同范本
- 二手車市場(chǎng)發(fā)票合同范本
- 醫(yī)療器械 廣告合同范本
- 《JJG196-2006-常用玻璃量器檢定規(guī)程》
- 加工合同范本包括些費(fèi)用
- 化糞池清淤合同范本
- 借貸股權(quán)質(zhì)押合同范本
- 【原創(chuàng)】頭腦特工隊(duì)開的那些心理學(xué)腦洞
- 美甲藝術(shù)全套教學(xué)課件
- 高等數(shù)學(xué)上冊(cè)目錄同濟(jì)第七版
- 中國(guó)古代餐具
- 電動(dòng)執(zhí)行機(jī)構(gòu)安裝施工工藝標(biāo)準(zhǔn)
- 施工日志模板
- 粗原料氣的凈化-二氧化碳的脫除(合成氨生產(chǎn))
- Agilent7820A氣相色譜儀操作規(guī)程知識(shí)講解
- 中醫(yī)適宜技術(shù)模擬試題(附答案)
- 加涅的信息加工理論-課件
- 400字作文稿紙(方格)A4打印模板
評(píng)論
0/150
提交評(píng)論