freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle體系結(jié)構(gòu)-免費(fèi)閱讀

2025-07-23 08:42 上一頁面

下一頁面
  

【正文】 l 校驗(yàn)點(diǎn)進(jìn)程的工作原理。l 怎樣設(shè)置內(nèi)存緩沖區(qū)的大小。l Oracle實(shí)例的系統(tǒng)全局區(qū)。l Oracle體系結(jié)構(gòu)的輪廓。雖然這些題變化多端,但是只要能真正地理解SGA和后臺(tái)進(jìn)程以及它們之間的關(guān)系是不難回答的。數(shù)據(jù)庫(kù)處在正常運(yùn)行(開啟)狀態(tài)時(shí)數(shù)據(jù)庫(kù)中所存的數(shù)據(jù)是一致的這一點(diǎn)很容易理解,怎么可能有不一致的數(shù)據(jù)呢?設(shè)想一下有某個(gè)用戶發(fā)了如下的DML語句:UPDATE emp SET sal = sal * 。Oracle系統(tǒng)確保在一組重做日志的歸檔操作完成之前不會(huì)重新使用該組重做日志。在可選后臺(tái)進(jìn)程中,歸檔日志(ARCH/ARCn)進(jìn)程可能是最重要的一個(gè)可選后臺(tái)進(jìn)程,因?yàn)槿绻鸒racle數(shù)據(jù)庫(kù)的數(shù)據(jù)文件丟失或損壞,一般數(shù)據(jù)庫(kù)要進(jìn)行完全恢復(fù),Oracle數(shù)據(jù)庫(kù)應(yīng)運(yùn)行在歸檔方式。引入校驗(yàn)點(diǎn)可能是為了提高系統(tǒng)的效率。l 釋放臨時(shí)段(在執(zhí)行SQL語句時(shí)用作排序的磁盤區(qū)),將它們還給數(shù)據(jù)文件以作為空閑區(qū)使用。在這種情況下,當(dāng)數(shù)據(jù)庫(kù)重新開啟時(shí),系統(tǒng)監(jiān)督進(jìn)程(SMON)將自動(dòng)地執(zhí)行Oracle實(shí)例的恢復(fù)工作。l 當(dāng)所設(shè)定的時(shí)間間隔已到。因此為了提高Oracle系統(tǒng)的效率,一要減少I/O量,這可能是Oracle引入LGWR的原因之一;二要減少I/O次數(shù),這可能是Oracle引入數(shù)據(jù)庫(kù)寫進(jìn)程(DBWR/DBWn)的主要原因。l 每3秒鐘。數(shù)據(jù)庫(kù)高速緩沖區(qū)中的數(shù)據(jù)是由DBWR寫到數(shù)據(jù)文件中的。在同一個(gè)數(shù)據(jù)庫(kù)中SCN是單調(diào)遞增的并且是惟一的。50331648 bytesRedo Buffers 動(dòng)態(tài)分配和回收內(nèi)存的最大好處是在調(diào)整內(nèi)存緩沖區(qū)大小時(shí)不需要重新啟動(dòng)數(shù)據(jù)庫(kù)。區(qū)組的大小取決于所估計(jì)的SGA的大小。 內(nèi)存緩沖區(qū)大小的設(shè)定在Oracle 9i之前的版本中,只能通過設(shè)置初始化參數(shù)文件中的一些參數(shù)來間接地設(shè)置SGA的大小,如DB_BLOCK_BUFFERS、LOG_BUFFER、SHARED_POOL_SIZE等??梢酝ㄟ^設(shè)置參數(shù)LARGE_POOL_SIZE的值來配置large pool的大小。之后在數(shù)據(jù)庫(kù)高速緩沖區(qū)中所有的這些數(shù)據(jù)塊都將被標(biāo)為臟緩沖區(qū),因?yàn)榇藭r(shí)內(nèi)外存的數(shù)據(jù)是不同的(不一致的)。 重做日志緩沖區(qū)(redo log buffer)從理論上來講,如果數(shù)據(jù)庫(kù)不會(huì)崩潰,根本沒有必要引入重做日志緩沖區(qū)(redo log buffer)。 此時(shí),例13的顯示結(jié)果表明了內(nèi)存緩沖區(qū)顧問是在開啟狀態(tài)。內(nèi)存緩沖區(qū)顧問一共有3種狀態(tài):(1)ON:該工具打開,為該工具分配內(nèi)存并進(jìn)行統(tǒng)計(jì)信息的收集。數(shù)據(jù)庫(kù)高速緩沖區(qū)大小為這兩個(gè)參數(shù)的乘積。提示:即使把共享池設(shè)置得足夠大并且所使用的SQL或PL/SQL語句也是能共享的代碼,Oracle也并不能一定使用內(nèi)存(共享池)中的代碼。這個(gè)參數(shù)將在以后的章節(jié)中詳細(xì)地介紹。因?yàn)橐陨纤f的這些信息都是存在Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)字典中,這也可能就是該部分內(nèi)存叫做數(shù)據(jù)字典高速緩存的原因。那么Oracle又是怎樣有效地管理庫(kù)高速緩存(library cache)的呢?Oracle是使用一個(gè)稱為L(zhǎng)RU(least recently used)的隊(duì)列(list)或算法(algorithm)來實(shí)現(xiàn)對(duì)庫(kù)高速緩存的管理的。這里通過以下的實(shí)例來進(jìn)一步解釋這一點(diǎn)。l 提取數(shù)據(jù)(fetch):Oracle服務(wù)器進(jìn)程選擇所需的數(shù)據(jù)行,并在需要時(shí)將其排序,最后將結(jié)果返回給用戶(進(jìn)程)。 檢查所引用對(duì)象的用戶權(quán)限。 首先在共享池中搜索是否有相同的SQL語句(正文),如果沒有就進(jìn)行后續(xù)的處理。如果是共享服務(wù)器進(jìn)程或多線程的配置,以上這些結(jié)構(gòu)除了堆棧區(qū)外大部分將存在SGA中。有關(guān)這種連接在Oracle的網(wǎng)絡(luò)和調(diào)優(yōu)的書籍中介紹。與Oracle服務(wù)器(server)的3種安裝方式相對(duì)應(yīng),一個(gè)數(shù)據(jù)庫(kù)用戶可能用以下3種方式之一與Oracle服務(wù)器連接。用戶進(jìn)程與服務(wù)器進(jìn)程是一對(duì)一的關(guān)系。在系統(tǒng)崩潰后進(jìn)行恢復(fù)時(shí)可能需要這些文件。(1)控制文件(control files):包含了維護(hù)和校驗(yàn)數(shù)據(jù)庫(kù)一致性所需的信息。這5個(gè)后臺(tái)進(jìn)程分別是SMON、PMON、DBWR、LGWR和CKPT。 Oracle服務(wù)器(server)Oracle服務(wù)器(server)可以有以下3種安裝方式。l 主機(jī)(host):計(jì)算機(jī)系統(tǒng)的另一個(gè)稱呼。為了高效地使用內(nèi)存這種稀有資源,同時(shí)保證不會(huì)丟失任何數(shù)據(jù)庫(kù)中的數(shù)據(jù),Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)引入了一個(gè)非常復(fù)雜的體系結(jié)構(gòu)。因?yàn)樵谟?jì)算機(jī)中所有數(shù)據(jù)的修改操作必須在內(nèi)存中進(jìn)行,所以內(nèi)存也是數(shù)據(jù)庫(kù)的一類資源。如果有讀者在開始時(shí)有些內(nèi)容沒有完全理解也不用太著急,可以繼續(xù)學(xué)習(xí)后面的內(nèi)容,等使用了一段時(shí)間Oracle系統(tǒng)之后,一些概念就變得容易理解了。那么在Oracle數(shù)據(jù)庫(kù)中什么是稀有資源?它們又是如何來管理的呢?如果讀者接觸過數(shù)據(jù)庫(kù)或讀過相關(guān)的書,應(yīng)該還有印象,數(shù)據(jù)庫(kù)的數(shù)據(jù)量和輸入/輸出量都是相當(dāng)大的,而這些數(shù)據(jù)一般都存在硬盤(外存)上,因此硬盤為數(shù)據(jù)庫(kù)的一類資源。但是由于內(nèi)存中的數(shù)據(jù)在斷電或出現(xiàn)系統(tǒng)故障時(shí)會(huì)消失,所以數(shù)據(jù)庫(kù)管理系統(tǒng)還必須保證,所有的數(shù)據(jù)改動(dòng)都必須及時(shí)寫到硬盤上,以保障不會(huì)丟失數(shù)據(jù);即使數(shù)據(jù)庫(kù)崩潰之后,所有提交過的數(shù)據(jù)都能得到完全恢復(fù)。l 后臺(tái)進(jìn)程(background process):進(jìn)程的一種,在內(nèi)存中運(yùn)行時(shí),不占顯示,而且它的優(yōu)先級(jí)比前臺(tái)進(jìn)程低。Oracle服務(wù)器(server)由Oracle實(shí)例(instance)和Oracle數(shù)據(jù)庫(kù)(database)兩大部分組成。它的內(nèi)存結(jié)構(gòu)也稱為系統(tǒng)全局區(qū)(system global area,SGA)。系統(tǒng)全局區(qū)(SGA)中包含了以下幾個(gè)內(nèi)存結(jié)構(gòu):共享池(shared pool)、數(shù)據(jù)庫(kù)高速緩沖區(qū)(database buffer cache)、重做日志緩沖區(qū)(redo log buffer)和其他的一些結(jié)構(gòu)(如鎖和統(tǒng)計(jì)數(shù)據(jù))等。l 密碼文件(password files):包含了數(shù)據(jù)庫(kù)管理員或操作員用戶在啟動(dòng)和關(guān)閉實(shí)例時(shí)所需的密碼。用戶進(jìn)程是不能直接訪問數(shù)據(jù)庫(kù)的。一個(gè)會(huì)話始于用戶成功地登錄Oracle服務(wù)器,終止于用戶退出或非正常終止連接。以上所介紹的連接是用戶進(jìn)程與服務(wù)器進(jìn)程的一對(duì)一的連接,也稱為專用服務(wù)器連接(dedicated server connection)。(2)游標(biāo)狀態(tài)區(qū)(cursor state):用于指示會(huì)話當(dāng)前所使用的SQL語句的處理狀態(tài)。而其他的SQL語句只是返回執(zhí)行成功或失敗的信息。216。以上的每一步操作都是在處理正確時(shí)才進(jìn)行后續(xù)的處理。提示:庫(kù)高速緩存包含了共享SQL區(qū)和共享PL/SQL區(qū)兩部分,它們分別存放SQL和PL/SQL語句以及相關(guān)的信息。v_sal。介紹完了庫(kù)高速緩存,接下來將介紹數(shù)據(jù)字典高速緩存(data dictionary cache)。在Oracle 9i或以后的版本中,也可以使用類似于例11的命令來改變共享池的大?。豪?1SQL ALTER SYSTEM SET SHARED_POOL_SIZE = 32M。如在例11中的“系統(tǒng)已更改??梢允褂脜?shù)文件中的DB_BLOCK_SIZE和DB_BLOCK_BUFFERS兩個(gè)參數(shù)來設(shè)置數(shù)據(jù)庫(kù)高速緩沖區(qū)的大小。可以使用類似于 例12的命令來改變數(shù)據(jù)庫(kù)高速緩沖區(qū)的大?。豪?2SQL ALTER SYSTEM SET DB_CACHE_SIZE = 48M。這一參數(shù)是一個(gè)動(dòng)態(tài)參數(shù),因此可以使用ALTER SYSTEM命令來修改。這時(shí)可以再使用類似于例15的SQL語句來查看它的狀態(tài):例15SQL select id, name, block_size, advice_status 2 from v$db_cache_advice。(2)Oracle服務(wù)器進(jìn)程在要修改的數(shù)據(jù)行上加鎖(行一級(jí)的鎖)。large pool是一個(gè)相對(duì)比較簡(jiǎn)單的內(nèi)存結(jié)構(gòu),與shared pool不同的是它沒有LRU隊(duì)列??梢酝ㄟ^設(shè)置參數(shù)JAVA_POOL_SIZE的值來配置Java pool的大小。Oracle是利用所謂的區(qū)組(granule)來管理SGA的內(nèi)存的。Oracle數(shù)據(jù)庫(kù)管理員可通過ALTER SYSTEM SET命令來分配和回收區(qū)組。Oracle服務(wù)器是使用了一種稱為快速提交(fast mit)的技術(shù),該技術(shù)既能保證Oracle系統(tǒng)的效率又能保證在系統(tǒng)崩潰的情況下所有提交的數(shù)據(jù)可以得到恢復(fù)。(3)Oracle通知用戶(進(jìn)程)提交已經(jīng)完成。l 當(dāng)重做日志緩沖區(qū)中變化的記錄超過一兆字節(jié)(1MB)時(shí)。在Oracle 8i中,該工具只有命令行操作方式。數(shù)據(jù)庫(kù)寫進(jìn)程負(fù)責(zé)將數(shù)據(jù)庫(kù)高速緩沖區(qū)中的臟緩沖區(qū)中的
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1