




已阅读5页,还剩67页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Oracle系統架構基本概念,2,Outline,Oracle系統架構概觀OverviewOracleInstanceOracleDatabaseOtherProcesses漫談OracleInstance記憶體結構BackgroundProcesses漫談OracleDatabaseStructuresPhysicalDatabaseStructuresLogicalDatabaseStructures,3,Oracle系統架構概觀關於Oracle系統架構,是非常重要的基礎觀念,正所謂君子務本,本立而道生,有了踏實的基礎觀念之後,才能在往後學習Oracle的路上,無往不利,4,電腦系統,Overview,OracleServer主要是由OracleInstance與Database所組成,透過ServerProcess與UserProcess之間的交互運作,藉以達成使用者交付執行的工作。,OracleServer,OracleInstance,Database,UserProcesses,ServerProcesses,PGA,Query,5,例如,使用者可能想要在OracleServer上查詢一筆人事資料,使用者將相關的SQL敘述輸入系統中,此時系統會產生相對應的UserProcess與ServerProcess,由ServerProcess負責向OracleServer溝通,並將符合使用者所需的資料,從OracleServer送至UserProcess,以完成該使用者下達的request。,6,OracleInstance(Oracle資料庫引擎),Oracle資料庫中的任何動作都和它有關,是OracleDB的心臟地帶。OracleInstance主要包含:backgroundprocess(背景處理程序)是一群常駐的服務常式(serviceroutine),執行I/OProcess與非OracleProcess的監控管理,針對目前的使用者所提出的request執行一些一般性的工作。每一個Process專責於一至兩項的工作SystemGlobalArea(SGA;系統全域區)用來存放資料庫系統相關資訊的一塊共享記憶體資料區域,讓backgroundprocess得以利用這些系統資訊,以提供適當的服務,處理外部的userrequest。,7,由於OracleInstance掌控著處理OracleDatabase所有運作的相關資訊。因此,當要存取或操作OracleDatabase裏的資料時,必須先啟動OracleInstance,才能對OracleDatabase的內容加以處理。當OracleInstance啟動時,電腦系統會先配置一塊記憶體空間給SGA(SystemGlobalArea),並且載入相關的backgroundprocess。,8,OracleDatabase,OracleDatabase可分為兩個部份來說明:實體結構邏輯結構,9,實體結構,OracleDatabase的實體結構部份是由一個個的檔案所組合,主要的檔案包括Datafiles(資料檔)RedoLogfiles(重置日誌檔)-onlineControlfiles(控制檔)另外尚有:Passwordfile(密碼檔)Parameterfile(起始參數檔)ArchivedRedoLogfiles(重置日誌封存檔)-offline,10,Controlfiles,Datafiles,Archivedlogfiles,Parameterfile,Passwordfile,Redologfiles,Database,11,邏輯結構,OracleDatabase的邏輯結構部份,主要有Tablespace(表格空間)Segment(區段)Extent(延伸區塊)Block(區塊),12,OtherProcesses,不屬於OracleInstance內的Process皆稱為OtherProcess。是User和應用程式要連接OracleDBServer的重要橋樑。如UserProcess、ServerProcess等主要是反應使用者下達的request(即SQL敘述),將其轉化為OracleServer能看得懂的相關指令,從OracleDatabase裏抓取資料,以反映使用者需求的資料。在ServerProcess中還有一個相當重要的資料結構PGA(ProgramGlobalArea):PGA是一個memorybuffer,存放相關ServerProcess的資料與控制資訊。當ServerProcess被呼叫啟動後,OracleServer會為其建立一個所屬的PGA,使用者下達的SQL敘述,就是存放在這裏的。,13,漫談OracleInstance,14,第一部份我們曾談到所謂的OracleInstance可分為:SGA(SystemGlobalArea)BackgroundProcesses兩部份,並做了概略的說明。現在就分別針對SGA與BackgroundProcesses做更完整深入的說明。,15,記憶體結構,SGA是OracleServer在系統上所建立的一塊記憶體區塊,OracleServer利用這塊記憶體結構,協同Oracle的各種Processes來完成使用者所交付的工作。SGA主要是由幾種不同的資料區塊所組成DatabaseBufferCacheRedoLogBufferSharedPoolLargePoolJavaPool其它(如:Cursors等),SGA,DatabaseBufferCache,RedoLogBuffer,SharedPool,LargePool,JavaPool,Others,16,DatabaseBufferCache(資料庫緩衝快取區),資料庫系統擷取資料時的一個快取空間,其用途在於有效減少存取資料時造成的磁碟讀寫動作。(到硬碟從事I/O是很耗時的工作!)我們可以透過設定DB_BLOCK_BUFFERS這個參數值來設定DatabaseBufferCache的大小。在Oracle的DatabaseBufferCache中,尚有一些sub-caches:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE我們可以透過DB_CACHE_ADVICE這個參數,藉由statistics的方式來對不同的cachesize做預設。指令:Altersystemsetdb_cache_advice=on,17,Oracle用所謂的LRU(LeastRecentlyUsed)演算法來管理這塊記憶體空間。LRU:當這塊記憶體空間滿載時,OracleServer將只保留最近有被使用過的資料,最不常用的資料則寫回磁碟中,並將該資料所佔用的記憶體空間釋放出來。由於DatabaseBufferCache關係著OracleServer的I/O動作頻繁與否,因此如何管理及設定DatabaseBufferCache的大小,對於OracleServer的效能調校,是相當重要的一項課題。,18,RedoLogBuffer(重置日誌緩衝區),當資料庫的內容有所異動時,RedoLogBuffer會記錄其相關異動的情形:做了什麼改變改變後的舊資料與新資料經過一定的時間週期或者是RedoLogBuffer滿載時,OracleServer會將RedoLogBuffer的內容寫到RedoLogFile裏,以追蹤整個資料庫的使用情形。當OracleServer不幸當掉的話,就能利用這些記錄下來的資訊,進行資料庫的復原(Recovery)。有關RedoLogBuffer的大小設定,可以透過設定參數LOG_BUFFER,改變RedoLogBuffer的大小。,19,SharedPool(共享區),當使用者將SQL、PL/SQL等操作指令送至Oracle資料庫後,系統會先解析(Parse)語法是否正確。解析時,下列兩項資料將會放入SharedPool中:解析時所需要用到的相關資訊解析後的結果當有不同的使用者執行相同的SQL指令,就可以共用SharedPool中解析好的結果,以加速SQL指令執行的速度。SharedPool內包含數種不同的區域,主要有下列兩類:DataDictionaryCache存放解析時所需要的相關資訊,以供查詢之用LibraryCache存放各類指令解析後的結果,以供重覆使用SharedPool亦是採LRU的記憶體管理演算法。SharedPool的大小設定,是由SHARED_POOL_SIZE這個參數來控制,20,LargePool(大型區),LargePool是Oracle針對一些需要大量記憶體空間的資料庫處理與運算工作所提供的一個額外選項,它可以讓SGA配置一個較大的記憶體空間,提供給處理Oracle的backup/restore、I/O、執行Oracle復原管理程式RMAN、等。透過指定LARGE_POOL_SIZE這個參數,設定LargePool的大小。,21,JavaPool(Java區),當使用者有使用Java時,OracleServer利用這塊記憶體空間,存放及Parse所使用的JavaCode,藉以提供Oracle與Internet更高的整合性。透過指定JAVA_POOL_SIZE這個參數,來改變JavaPool的大小。,22,BackgroundProcesses,OracleServer所提供的Processes可分為兩類:ServerProcesses用以服務ClientProcesses,根據ClientProcesses的需求,由OracleServer動態配置所產生的,用以服務ClientProcesses的需求不被包含在OracleInstance裏在ServerProcesses裏,尚包含另一個重要的記憶體結構PGA(ProgramGlobalArea),存放著ClientProcesses與ServerProcesses間的重要資訊BackgroundProcesses用來管理OracleServer所需的一些系統常式,諸如資料庫的I/O、OracleProcesses的管理等包含於OracleInstance中,23,主要的BackgroundProcesses共有五個,只要有這五個BackgroundProcesses,OracleServer就可以正常地運作了,分別是:DatabaseWriter(DBWR)LogWriter(LGWR)SystemMonitor(SMON)ProcessMonitor(PMON)CheckpointProcess(CKPT)其它尚有Archiver(ARCH)、Recoverer(RECO)、Dispatcher(Dnnn)、Lock(LCKn)、JobQueue(SNPn)及QueueMonitor(QMNn)等BackgroundProcesses,它們主要是提供OracleServer更進階的管理。如ARCH,它可以提供比LGWR更強的資料庫回復能力。,24,DatabaseWriter(DBWR),DBWR主要是負責管理DatabaseBufferCache,將DatabaseBufferCache中修改過的資料,整批寫入DataFile裏,透過系統整批寫入的方式,可以提高整個系統的執行效率。當使用者執行DML指令修改相關資料欄位,並執行commit指令時,Oracle本身並不是直接將修改過的資料直接寫入DataFile裏,而是當DatabaseBufferCache的內容即將滿載或是經過一定的時間區隔(檢查點Checkpoint;CKPT),才將資料寫入DataFile中。藉由減少相關的I/O動作,以提高系統執行效能。使用write-ahead的技術,25,Database,26,由於在大型線上交易(OLTP)系統,其資料庫異動情況可能十分頻繁。因此:一個OracleServer可以有一個以上的DBWRBackgroundProcesses,可以依實際系統硬體與作業系統的特性,設定DB_WRITER_PROCESSES參數值,以獲得整個資料庫系統的最佳執行效能。當設定DB_WRITER_PROCESSES的內容值後,系統上有關DBWR的名稱將會變為DBWn,n可為09,如DBW0、DBW1、DBW2等。(系統預設只會啟動一個DBWn,即DBW0)。然而,在單一處理器的伺服器系統,配置額外的DBWn並無太多的實質幫助。,27,LogWriter(LGWR),LGWR主要是負責將RedoLogBuffer的內容值,寫入online的RedoLogFile中。它與DBWR的運作方式不同點在於:DBWR在DatabaseBufferCache即將滿載或是經過一定的時間區隔,才會將資料寫入DataFile中,且是在有需要的時候才會對相關檔案做存取的動作LGWR是在資料庫的內容有異動且已被確認(commit)時,如insert、update、delete等,就會被觸發,將異動的情形記錄到onlineRedoLogFile中。因此,當資料庫crash時,就可以根據onlineRedoLogFile內容,對資料庫進行還原的動作。LGWR一樣可以透過設定LGWR_IO_SLAVES這個參數值,提供非同步I/O模式的功能。,28,LGWR之動作時機:當使用者確認(commit)某交易時,LGWR會遵循Write-aheadProtocol(先期寫入協定),將Redologbutter內的資料異動記錄寫入。下列幾種情況:自動週期性地動作,如:間隔時間為3秒(Checkpoint;CKPT)重置日誌緩衝區之剩餘空間不到2/3當DBWn回寫資料檔時,必要的時候LGWR也會動作(Write-aheadProtocol),29,Instance,SGA,DBWn,Redologbuffer,Controlfiles,Datafiles,Redologfiles,LGWR,Database,30,何謂Write-ahead?在DBWn回寫資料至DataFile之前,RedoLogBuffer內相關資料都必須完成寫入動作(即寫入RedoLogFile)。若DBWn發現某些重置紀錄尚未寫入RedoLogFile時,它會通知LGWR前來處理。等到LGWR將RedoLogBuffer的紀錄寫入完畢時,DBWn才會開始寫入資料檔。,31,為何要把RedoLogFile稱為onlineRedoLogFile?因為Oracle把RedoLogFile分為兩部份:onlineRedoLogFilearchiveRedoLogFile這兩個都是負責記錄、追蹤整個資料庫的異動情形。不同的是,archiveRedoLogFile是onlineRedoLogFile的備份資料檔,由另一個BackgroundProcessArchiver(ARCH)負責管理。在預設的情況下,ARCH是不會啟動的,而是由LGWR記錄資料庫的異動情形,將這些記錄資料寫到onlineRedoLogFile裏。如果OracleServer不幸掛了,此時的資料庫僅能復原onlineRedoLogFile裏有記錄的資料。可是,其他的呢?這時候就要靠ARCH將onlineRedoLogFile備份出來。,32,SystemMonitor(SMON),如果是因為停電或是其它因素導致Oracle資料庫不正常被關閉,下一次啟動資料庫時將由SMON進行必要的資料庫修復動作。主要的工作有:執行一些資料庫必要的修復工作(如果有需要的話,SMON會使用onlineRedoLogFile的內容)。定時清除資料庫系統中一些不必要的殘餘物件,例如上次系統交易進行一半的資料或暫時性區間。執行整個系統儲存空間的管理,對於Tablespace上破碎的Extent,它會將這些較小的Extents予以合併,整理出一個較大的空間,以供系統日後的使用。,33,Instance,SGA,SMON,Controlfiles,Datafiles,Redologfiles,Instance,SGA,SMON,Database,34,ProcessMonitor(PMON),當某個UserProcess異常中止時,PMON會執行程序修復(ProcessRecovery)的動作,就是把已經失效的UserProcesses給趕出記憶體,並釋放該記憶體空間,留待系統日後使用釋放該Process之前使用的系統資源,避免Deadlock發生。PMON和SMON一樣,都是由Oracle資料庫系統週期性自動執行,檢查整個資料庫系統的運作情形。,35,PGAarea,36,Checkpoint(CKPT),在一個指定的時間區間裏,DBWR會對所有在DatabaseBufferCache所做的異動,將其結果寫入到相關的DataFiles以及RedoLogFiles、ControlFiles,這樣的動作,就稱為產生(設定)一個checkpoint事件。CKPTBackgroundProcess就是扮演著一個通知者的角色,經過一定的時間後,負責通知DBWR執行Checkpoint的動作。CKPT會在適常時候產生一個Checkpoint事件,其意義為:確保DatabaseBufferCache內經常被異動的資料也能夠定期被寫入硬碟的DataFile。(LRU演算法)萬一Oracle需要進行InstanceRecovery時,就不需要Checkpoint之前的Redorecord,可縮短資料庫動新啟動的時間。,37,Instance,SGA,DBWn,LGWR,CKPT,Controlfiles,Datafiles,Redologfiles,38,執行Checkpoint的時間區間,可以透過設定LOG_CHECKPOINT_INTERVAL這個參數,改變checkpoint的區間。然而,在設定LOG_CHECKPOINT_INTERVAL時,要注意的是:這個值設得太小的話,會造成系統額外I/O的負擔設得太大,超過onlineRedoLogFileswap的時間時,LOG_CHECKPOINT_INTERVAL的值又會變得沒有意義因為Oracle會在swaponlineRedoLogFile時,做一次checkpoint的動作。,39,Summary,縱觀以上的說明,現在我們可以勾勒出整個OracleInstance的整個架構圖:系統記憶體大致上的配置情形有DatabaseBufferCache、RedoLogBuffer、SharedPool、LargePool、JavaPool等。在BackgroundProcesses部份,計有DBWR、LGWR、SMON、PMON、CKPT等。,Backgroundstructures,Memorystructures,SGA,Redologbuffer,Databasebuffercache,Sharedpool,DBWR,SMON,PMON,CKPT,LGWR,Others,DataDictionarycache,Librarycache,Instance,40,Instance,SGA,Redologbuffercache,Sharedpool,DataDict.cache,Librarycache,DBWR,SMON,PMON,CKPT,LGWR,Others,Userprocess,Serverprocess,PGA,Controlfiles,Datafiles,Archivedlogfiles,Parameterfile,Passwordfile,Redologfiles,Database,Databasebuffercache,41,漫談OracleDatabaseStructures,42,第一部份曾談到所謂的OracleDatabase可分為:邏輯結構實體結構兩部份,並做了概略的說明。如果您有心成為一個頂尖的OracleDBA,那麼不僅要對以上兩結構內的各個項目如數家珍般熟悉,還要瞭解其內部運作與相互關係才行。現在就分別針對這兩部份做深入的說明。,43,邏輯結構(LogicalDatabaseStructures),邏輯資料庫結構是Oracle所提供的一種抽象化的資料庫管理概念,透過一個Mapping的機制,管理OraclePhysicalDatabaseStructures。由外至內,我們可以看到:整個Database是由一個以上的Tablespace(表空間)組成;每個Tablespace存在著許多的Segment(區段);每個Segment內含許多的Extent(延伸區塊);最後,則是構成整個OracleDatabase的最小邏輯單位block(區塊)。,44,45,Tablespace(表空間),Oracle資料庫允許DBA自行規劃各種用途的資料表空間(Tablespace),以便存放不同型態的資料與資料庫物件。例如:存放Oracle系統資訊的資料辭典(datadictionary)可放在SYSTEM表空間;使用者所存放的相關資料可存放在USER表空間;所有資料表的索引(Index)則可單獨存放在INDX表空間。SYSTEM為Oracle資料庫預設的表空間;USER與INDX則是由DBA自行規劃建置的。,46,一般來說,Oracle資料庫至少應規劃出五個以上的資料表空間,如下圖所示:,47,OracleServer其他相關的邏輯結構,均是經由Tablespace做統一集中的管理。Tablespace依其可存取的狀態,分為兩種狀態:on-line(在線)off-line(離線)再以其可存取的模式區分,可分為兩種式read-only(唯讀)read-write(讀寫)透過其存取狀態的控制以及存取模式的切換,將可使整個資料庫的管理更為方便。,48,Tablespace的特性OracleDatabase是由數個Tablespace所構成。一個Tablespace在同一時間點上,僅能類歸於一個Database。即,Database與Tablespace之間的關係,是呈現一對多的關係。除了SYSTEMTablespace與存在作用中(active)的RollbackSegment的Tablespace外,其餘的Tablespace均可在Database尚在執行的時候,將其選擇性的off-line或on-line,以利資料庫的管理。Tablespace能夠隨意切換其存取模式read-only及read-write模式。,49,Block(區塊),OracleDatabase邏輯空間概念中最小的邏輯空間單位,有關OracleServer對儲存空間所執行的配置(allocate)、讀取(read)及寫入(write),均是以此為單位,進行資料庫的種種操作。且在新建Oracle資料庫時就必須明確地定義。Oracle的區塊大小通常是數倍於“作業系統的磁碟讀寫區塊”(O.S.blocks)表示,Oracle在存取資料時是以自身的block為最小讀取單位,而不是以O.S.block為單位。它的參數設定透過參數DB_BLOCK_SIZE設定之。必須將DB_BLOCK_SIZE設定為O.S.blocks的整數倍。,50,Extent(延伸區塊),雖然資料區塊是Oracle最小的資料讀寫單位,但值得注意的是:Oracle在“配置”儲存空間時,並不是以資料區塊為單位,而是改採延伸區塊的方式來配置空間。它是由許多連續的blocks所組成。一個Extent的相關資訊,僅能存在於同一個Datafile中。,51,好處:減少資料庫空間配置的動作假定您準備在Oracle資料庫內存放80KB的資料:當執行DDL指令建立資料庫物件時(例如:CREATETABLE),Oracle會先配置出一連串的Blocks(即:Extent),其大小可為單一Block(假設8KB)的5倍。當這些資料區塊全部存滿資料後,視實際需要再配置第二個Extent(大小還是40KB)。只要兩次的空間配置動作就可以存放80KB的資料。反例如果Oracle每次只配置8KB的Block讓您存放資料,總共需要10次空間配置動作才能放滿80KB的資料,比較沒有效率由此可見,Extent的確有其存在的必要性。,52,Segment(區段),Segment是僅次於Tablespace的邏輯空間單位。依照不同的資料處理性質,您可能需要在表空間內劃分出不同Segment,以存放不同資料。依其儲存、管理資料型態的不同,可大致分為:Datasegment(資料區段)Indexsegment(索引區段)Temporarysegment(暫時性區段)Rollbacksegment(退回區段),53,從Oracle資料庫的邏輯層面來看,我們知道:資料是存放在每個Block內,資料讀寫動作也將以Block為單位。空間配置的動作則是引用Extent的概念。一個Extent由一連串的Blocks所構成。依實際資料量多寡,資料(或資料庫物件)由多個Extent所組成。Tablespace內可劃分不同的Segment;而每個Segment內又包含許多Extents。在每個Oracle資料庫內可規劃不同的Tablespace,用以存放不同型態的資料。,54,實體結構(PhysicalDatabaseStructures),OracleServer實體結構概觀圖如下:整個OracleDatabase的實體結構,主要由三大部份所組成:ControlfilesDatafilesRedologfiles其它Passwordfile、Parameterfile則是關於OracleServerSecurity及資料庫啟動設定檔Archivedlogfiles則與DatabaseRecovery息息相關,Controlfiles,Datafiles,Archivedlogfiles,Parameterfile,Passwordfile,Redologfiles,OracleDatabase,55,資料庫的啟動順序如下:,56,Passwordfile(密碼檔),PasswordFile是由DBA建立的,儲存那些可以管理Oracle的登入密碼。可以用一個叫做ORAPWD的工具建立它。ORAPWD需要輸入三個參數:FILE-這是PasswordFile的儲存地方。PASSWORD-密碼,留意這個密碼也會同時成為SYS的密碼,如果之後您用SYS登入,發出ALTERUSER的變更密碼指令,那就會同時變更PasswordFile和SYS的密碼。ENTRIES-設定PasswordFile有多少個用戶,即該資料庫最多可擁有多少個Administrators。如果之後要增加這個數目,就要先把PasswordFile刪除,然後再建立,這個動作是有風險的。,57,Parameterfile(參數檔),啟動OracleServer時,OracleServer會先配置一塊記憶體空間,供OracleInstance及Backgroundprocesses使用。在這之前,OracleServer會先讀取Parameterfile內的相關設定,做為配置記憶體空間與Backgroundprocesses時的設定值。Parameterfile是一個文字檔,一般均是使用文字編輯器編輯該檔,修改OracleInstance的設定值。前兩部份提及的許多參數,如:DB_BLOCK_BUFFERS、LOG_BUFFER、SHARED_POOL_SIZE等,均可以在Parameterfile中設定。參數名稱沒有大小寫之分,只是一般而言,均是以小寫字母為主。在改變Parameterfile的相關設定時,要重新啟動Oracle的相關服務,所做的改變才能反映在系統中。,58,有關Parameterfile的Initializationparameters,依其使用時機、方式,大致可歸納成以下幾類:指定檔案所在位址及名稱,如CONTROL_FILES指定DatabaseControlFile的相關資訊。設定區間限制,如LOG_CHECKPOINT_INTERVAL設定DatabaseCheckpoint的時間間隔。指定有效的容量大小,如DB_BLOCK_BUFFERS設定DatabaseBufferCache記憶空間的大小。這類參數又稱為VariableParameter。,59,起始參數檔包含以下主要內容:SGA相關的組態設定其他各起始參數之名稱與設定值ControlFile的名稱與存放路徑RedoLogFile之相關設定,60,Controlfile(控制檔),一個OracleDatabase至少要有一個Controlfile,記載著用來對整個OracleDatabase實體結構maintain與verify的相關資訊,如:Databasename。Datafiles、Redologfiles的名稱與所在位置。Database建立的Timestamp。每當資料庫被啟動時,Oracle會在Instance啟動後立刻讀取ControlFile內容,待所有資料庫實體組成檔案之所在資訊都收集完畢,資料庫才會被開啟。,61,Controlfile掌控著所有OracleDatabase實體檔案結構的相關資訊,新增、刪除、修改Datafiles或Redologfiles,OracleServer均會自動維護Controlfile的內容資訊。為了避免控制檔毀損導致資料庫系統停擺,建議在實務應用上至少配置兩個ControlFile,存放在不同實體硬碟,並以mirror(映射)的方式,提供資料庫備援的機制。,62,Parameterfile也有類似的系統資訊DB_NAME。Parameterfile主要是給OracleInstance看的,透過CONTROL_FILES的指定,讓Instance(記憶體)與Database(實體的檔案結構)能夠彼此結合,提供資料庫的相關服務。因此,Parameterfile必須要搭配適當的Controlfile,否則將造成系統不可預期的錯誤。,63,Datafile(資料檔),DataFiles包含在資料庫中的實際資料(ActualData)。一個OracleDatabase至少會有一個以上的Datafile來存放資料。資料庫的資料大致上可以分為兩類:資料庫邏輯結構資訊(資料字典)資料字典包含資料庫邏輯結構的配置資訊,諸如Tables、Columns、Indexes、Tablespaces等。使用者資料,64,一般說來,Datafile有以下幾個特點:一個Datafile僅能對應一個Tablespace。Datafile有其屬性設定的集合如Auto-extend的設定:當Datafile的容量不足時,OracleServer會自動配置一額外的空間供其使用。一個Tablespace可包含一或多個Datafile一個Segment只能存在於同一個Tablespace中;而一個Tablespace可能包含一個以上的Datafile,因此,Segment是得以展延(Span)在其Tablespace所屬的Datafile內。,65,66,Datafile雖然是OracleServer用來存放大量資料的實體檔案結構,但它並不是以直接存取Datafile的模式,達成資料存取的目的,它是以類似Buffer的機制,間接存取Datafile,以提高系統的整體運作效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿克苏地区2025-2026学年八年级下学期语文月考测试试卷
- 社区消防知识培训课件讲稿
- 社区消防知识培训课件图文版
- 甘肃省陇南市礼县2024-2025学年下学期七年级期末数学试卷(含答案)
- 社区治安调解课件模板
- 社区服务课件
- 租车转让合同范本
- 临时劳务合同范本保洁
- 求购林地种树合同范本
- 社区建筑基本知识培训课件
- 2025年剑桥商务英语(BEC)初级考试试卷全真模拟试题
- 小学劳动烹饪活动方案
- 呼吸衰竭个案护理
- 教师安全培训会
- 合规财税培训课件
- 机械技术培训课件
- aeo档案管理制度
- 气道异物梗阻现场急救
- 模具部奖惩管理制度
- 安装电杆施工协议书范本
- 惠州市惠阳区水资源综合规划 修编(2020-2035 年)
评论
0/150
提交评论