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

正文內(nèi)容

第3章oracledatabase的體系結(jié)構(gòu)-在線瀏覽

2025-02-17 20:15本頁面
  

【正文】 前,日志寫入器 ( LGWR) 進程在重做日志文件中存儲舊數(shù)據(jù)(撤銷信息)和新數(shù)據(jù)(重做信息)的一個副本。 ? 重做日志文件的大小由數(shù)據(jù)庫管理員決定。在每個 Oracle數(shù)據(jù)庫中,至少有兩個重做日志文件組,每組有一個或多個重做日志成員,一個重做日志成員物理地對應一個重做日志文件。在同一個日志文件組中,其日志成員的鏡像個數(shù)最多可達到 5個。 8 4. 其他文件 Oracle系統(tǒng)運行時,除了必需的數(shù)據(jù)文件、控制文件和重做日志文件以外,還有一些其他文件,例如配置文件、臨時文件、跟蹤和警告文件、備份文件以及歸檔日志文件等。有兩種版本,一種為文本文件,稱為 pfile;另一種為二進制文件 spfile,稱為服務器參數(shù)文件。 ( 2)臨時文件 每個 Oracle服務器進程都使用內(nèi)存中一個名為程序全局區(qū)( Program Global Area) 的專門的工作區(qū)來保存中間結(jié)果(如需排序的數(shù)據(jù))。 9 ( 3)跟蹤文件和警告文件 每一個服務器和后臺進程都可以寫入一個相關(guān)的跟蹤日志文件??梢詮臄?shù)據(jù)庫的跟蹤文件來發(fā)現(xiàn)和調(diào)試數(shù)據(jù)庫的錯誤。 ( 4)備份文件 還原一個文件的過程就是用一個備份文件( BACKUP FILE)來替換它。 用戶管理的備份和恢復實際上就是要求用戶在試圖恢復備份的時候先還原備份文件,服務器管理的備份和恢復功能管理備份過程??梢酝ㄟ^設(shè)置數(shù)據(jù)庫在歸檔后自動地保存日志文件。歸檔日志文件在數(shù)據(jù)庫恢復時起決定性作用。因此,邏輯存儲結(jié)構(gòu)是和操作系統(tǒng)平臺無關(guān)的,是由Oracle數(shù)據(jù)庫創(chuàng)建和管理的。 從邏輯結(jié)構(gòu)上來講,一個數(shù)據(jù)庫包含若干個表空間,不同類型的數(shù)據(jù)存儲在不同的表空間中,如系統(tǒng)數(shù)據(jù)、用戶數(shù)據(jù)、臨時數(shù)據(jù)和回滾數(shù)據(jù)等分別存儲在不同的表空間中。一個段中又可以包含若干個區(qū),區(qū)是Oracle分配存儲空間和回收存儲空間的基本單位。表空間、段、區(qū)和數(shù)據(jù)塊組成了數(shù)據(jù)庫的邏輯結(jié)構(gòu)。表空間相當于一個容器,用于將不同類型的數(shù)據(jù)組織在一起。如果表空間只包含一個數(shù)據(jù)文件,那么所有數(shù)據(jù)都將存儲在這個數(shù)據(jù)文件中。表空間與數(shù)據(jù)文件的關(guān)系如圖 33所示。 ? 在數(shù)據(jù)庫中引入表空間的優(yōu)點有以下幾點: ? 將系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)分開,有利于保護重要數(shù)據(jù); ? 可以限制用戶對磁盤存儲空間的使用; ? 將臨時數(shù)據(jù)與用戶數(shù)據(jù)分開,從而減少用戶數(shù)據(jù)存儲區(qū)的碎片,提高數(shù)據(jù)庫的性能; ? 能夠?qū)⒉煌愋偷臄?shù)據(jù)分別存放在不同的磁盤上,以減少磁盤的讀寫沖突。 ? 各個表空間可以被單獨設(shè)置為聯(lián)機或脫機狀態(tài),這樣可以在數(shù)據(jù)庫正常運行的情況下,將單個表空間置于脫機狀態(tài),并對其進行備份或恢復。用于存放表空間名稱、表空間所包含的數(shù)據(jù)文件等管理數(shù)據(jù)庫自身所需要的信息,如數(shù)據(jù)字典,數(shù)據(jù)庫對象的定義、 PL/SQL存儲程序的代碼、 SYSTEM回滾段等。另外,許多以前需要單獨表空間的數(shù)據(jù)現(xiàn)在都可以存儲在 SYSAUX表空間中,從而減少了需要維護的表空間的數(shù)目。每個數(shù)據(jù)庫可以包含多個 UNDO表空間,在自動撤銷管理模式中,每個 Oracle實例都指定了一個(且只有一個) UNDO表空間。 在 Oracle中,可以將對數(shù)據(jù)庫的添加、修改和刪除等操作定義在事務中。事務中對數(shù)據(jù)庫的改變被保存在 UNDO表空間中,當執(zhí)行回滾操作時,可以根據(jù)此內(nèi)容恢復數(shù)據(jù)。如果刪除所有的臨時表空間,則SYSTEM表空間將被用作臨時表空間。每個數(shù)據(jù)庫都應該有一個(或創(chuàng)建一個)用戶表空間,以便在創(chuàng)建用戶時將其分配給用戶,否則將會使用 SYSTEM表空間。 2. 段 表空間將數(shù)據(jù)按照類型從邏輯上分離開來,如將用戶數(shù)據(jù)與系統(tǒng)數(shù)據(jù)分別組織在一個表空間中。 Oracle將不同數(shù)據(jù)庫對象中的數(shù)據(jù)以段的形式組織在一起。 15 段用于存儲表空間中某一種特定的具有獨立存儲結(jié)構(gòu)的對象的所有數(shù)據(jù),它由一個或多個區(qū)組成。 段 數(shù)據(jù) 段 索引 段 臨時 段 回 滾 段 圖 34 段的分類 ( 1)數(shù)據(jù)段 數(shù)據(jù)段存儲表中的所有數(shù)據(jù)。如果創(chuàng)建的是分區(qū)表,則為每個分區(qū)分配一個數(shù)據(jù)段。 數(shù)據(jù)段隨著數(shù)據(jù)的增加而逐漸地變大。每次增加一個區(qū),每個區(qū)的大小是塊的整數(shù)倍。索引段與索引的名字相同,并且它們之間是一一對應的。如果創(chuàng)建的是分區(qū)索引,則為每個分區(qū)索分配一個索引段。當用戶執(zhí)行排序和匯總等操作時,將會產(chǎn)生大量的臨時數(shù)據(jù),在該用戶的臨時表空間中會自動創(chuàng)建一個臨時段,排序結(jié)束,臨時段自動消除,這些臨時數(shù)據(jù)存儲在臨時段中。當然可以在創(chuàng)建用戶之后,指定臨時表空間。當用戶執(zhí)行 DML語句時,數(shù)據(jù)庫服務器將修改后的數(shù)據(jù)存儲在數(shù)據(jù)段中,而將修改前的數(shù)據(jù)作為回滾數(shù)據(jù)存儲在回滾段中。當用戶提交事務時,回滾段中的數(shù)據(jù)將變?yōu)闊o效,這時用戶將無法回滾該事務。當用戶執(zhí)行 DML操作時,數(shù)據(jù)庫服務器將自動為當前事務指定一個回滾段,用戶也可以通過命令指定過一個回滾段。數(shù)據(jù)庫管理員可以通過命令創(chuàng)建其它的回滾段。區(qū)的大小是數(shù)據(jù)塊大小的整數(shù)倍。當段中已分配的區(qū)都寫滿后, Oracle就為該段分配一個新區(qū),以容納更多的數(shù)據(jù)。同時數(shù)據(jù)塊還是執(zhí)行輸入輸出操作的最小單位。數(shù)據(jù)庫的數(shù)據(jù)最終是存儲在硬盤上的,所以數(shù)據(jù)塊與操作系統(tǒng)中的塊有著一定的聯(lián)系。 在數(shù)據(jù)塊中可以存儲各種類型的數(shù)據(jù),如表數(shù)據(jù)、索引數(shù)據(jù)等。 行數(shù)據(jù) 空閑空間 行目錄 表目錄 塊頭部 圖 35 數(shù)據(jù)塊的格式 18 ? 塊頭部 ( header/Common and Variable): 包含數(shù)據(jù)塊的基本信息,如塊的物理地址、塊所在段的類型等。如果一些表的數(shù)據(jù)被存放在該塊中,那么這些表的相關(guān)信息將被存放在表目錄中。 ? 空閑空間 ( Free Space): 一個塊中未使用的區(qū)域,可用于新行的插入和已經(jīng)存在的行的更新。該空間是已被數(shù)據(jù)行占用的空間。它不存放數(shù)據(jù),存放整個塊的信息,起到引導系統(tǒng)讀取數(shù)據(jù)的作用。 數(shù)據(jù)塊的標準大小由初始化參數(shù) DB_BLOCK_SIZE指定。 19 數(shù)據(jù)庫實例 對數(shù)據(jù)庫的訪問是一個動態(tài)的過程,必須通過數(shù)據(jù)庫服務器來進行。這些內(nèi)存結(jié)構(gòu)和后臺進程稱之為實例。 Oracle數(shù)據(jù)庫系統(tǒng)指具有管理 Oracle數(shù)據(jù)庫功能的計算機系統(tǒng)。當數(shù)據(jù)庫服務器上的一個數(shù)據(jù)庫啟動時,Oracle將分配一塊內(nèi)存區(qū)間,叫做系統(tǒng)全局區(qū)( SGA),并啟動一個或多個 Oracle進程。 20 用戶訪問數(shù)據(jù)庫的操作是通過實例來完成的。數(shù)據(jù)位于內(nèi)存中,用戶讀寫內(nèi)存的速度要比直接讀寫磁盤快得多,而且內(nèi)存中的數(shù)據(jù)可以在多個用戶之間共享,故引入實例在某個方面可以提高數(shù)據(jù)訪問的并發(fā)性。當用戶訪問數(shù)據(jù)庫時,數(shù)據(jù)庫服務器便為用戶進程啟動一個服務器進程,負責處理用戶進程的所有請求,例如將用戶訪問的數(shù)據(jù)從數(shù)據(jù)文件讀到內(nèi)存中。數(shù)據(jù)庫被打開后,數(shù)據(jù)庫管理員可以將數(shù)據(jù)庫關(guān)閉,此時用戶就無法訪問數(shù)據(jù)庫中的數(shù)據(jù)。每個服務器進程的命名也與 SID相匹配。在 Oracle數(shù)據(jù)庫中,服務器內(nèi)存的大小將直接影響數(shù)據(jù)庫的運行速度,特別是多個用戶連接數(shù)據(jù)庫時,服務器必須有足夠的內(nèi)存支持,否則有的用戶可能連接不到服務器,或查詢速度明顯下降。內(nèi)存空間分成不同的部分,分別用來存儲不同的信息,具體如下: ? 程序代碼。 ? 進程通信和共享的相關(guān)信息。 ? 緩沖區(qū)中的數(shù)據(jù),如用戶要訪問的數(shù)據(jù)、重做日志等。 當用戶發(fā)出一條 SQL語句時,首先由服務器進程對用戶的 SQL語句進行語法分析并執(zhí)行,然后將數(shù)據(jù)從數(shù)據(jù)文件讀入到系統(tǒng)的數(shù)據(jù)緩存區(qū),修改后的數(shù)據(jù)由服務器進程寫回到數(shù)據(jù)文件中。 22 Oracle具有下列基本的內(nèi)存結(jié)構(gòu): ? 軟件代碼區(qū) ? 系統(tǒng)全局區(qū),包括數(shù)據(jù)庫緩沖存儲區(qū)、日志緩沖區(qū)和共享池 ? 程序全局區(qū),包括棧區(qū)和數(shù)據(jù)區(qū) ? 排序區(qū) 其中軟件代碼區(qū)用于存儲正在執(zhí)行的或可以執(zhí)行的程序代碼。 Oracle系統(tǒng)程序是可共享的,以致多個 ORACLE用戶可存取它,而不需要在內(nèi)存有多個副本。
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1