




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、傳統(tǒng)上Oracle體系結構由內存結構、進程結構、存儲結構組成。其中,內存結構由SGA、PGA組成;進程結構由用戶進程和Oracle進程組成;存儲結構由邏輯存儲、物理存儲組成。 通過數據庫的啟動過程和一條sql的執(zhí)行過程可以將oracle的內存結構、進程結構、存儲結構串起來。一、內存結構(1)SGA(System Global Area):一個包含實例數據和控制信息的共享內存區(qū)域(2)PGA(Program Global Area):一個包含服務器進程和后臺進程的數據和控制信息的共享內存區(qū)域1.1系統(tǒng)全局區(qū)SGA系統(tǒng)全局區(qū),是 DB Server 中實例的必要組成部分,由很多小內存區(qū)共同構成,各
2、個小內存區(qū)存放不同的信息,系統(tǒng)全局區(qū)用于暫存可以被所有進程( 包括 server process 以 及background process)共享的信息,對系統(tǒng)的運行性能有好處,SGA 在實例啟動的時候自動分配 ,實例關閉時自動釋放。SGA 暫存系統(tǒng)的大量共享數據,對系統(tǒng)有相當的性能影響,所以需要為SGA 選擇適當的管理方式,根據所使用的數據庫版本不同,SGA 的管理有三種方式:1)8i:SGA 的大小由所有內存組件大小之和決定,不能直接定義 SGA 大小,對內存組件的大小可后臺進行修改,但只能通過直接修改參數文件的內存參數大小,而且修改完數據庫必須重起后才能生效,所以這種內存管理方法叫做 S
3、GA 的靜態(tài)管理。2)9i:SGA 的大小由初始化參數 SGA_MAX_SIZ E 確定,各個內存組件大小之和不能超過這個參數 ??梢灾苯油ㄟ^命令進行修改內存組件大小而不用重啟,這種叫做 SGA 的動態(tài)管理3)10g:SGA 大小既可以像 9i 一人樣動態(tài)管理,也可以實施 SGA 的自動管理,默認是 SGA 的自動管理,啟用 SGA 自動管理只需要設置初始化參數 SGATARGET 即可,各個組件大小之和不超過 SGA TARGET 。在自動管理下,SGA 各個內存組件由數據庫自動設置大小,設置各個內存區(qū)大小的依據來源于系統(tǒng)自動收集的統(tǒng)計信息。在設置內存組件大小的時候,分配的基本單位是粒度(g
4、ranule )granule 是一段連續(xù)的虛擬內存,大小取決于 SGA_MAX_SIZE 的大小,如果 SGA_MAX_SIZ E小于 128M ,Granule 為 4M,否則 Granule 為 16M。大多數內存組件的大小必須是 Granule 的整數倍,Redo Log Buffer 的大小不受這個限制,可以自行設置,它與其他小內存區(qū)共同構成 Granule 的整數倍。整個 SGA 最小不小于 3 個 Granule 大小,其中共享池一個,數據緩存區(qū)一個,其他分一個, SGA的總大小也一定是 Granule 的整數倍大小。SGA 大多數組件的大小可以動態(tài)調整,只要確保所有的內存組件大
5、小之和不超過 SGA MAXSIZE 或 SGATARGET 的大小,在 10G 中 SGA 內存組件可以自動管理 ,各個內存大小由數據庫自己決定,設置 SGATARGET 參數(非 0)即可以開啟內存自動管理,這個參數也可動態(tài)修改,如果設置為 0,則意味著,禁用內存自動管理,伋需要 DBA 手動調整各個內存組件大小。以下內存組件大小可以由數據庫自動設置1)Buffer cache(db_cache_size)2)Shared pool(shared_pool_size)3)Large pool(large_pool_size)4)Java pool(java_pool_size)5)Stre
6、am pool(stream_poolsize)手動設置:1)LOG_BUFFER2)STREAMS_POOL3)DB_NK_CACHE_SIZE4)DB_KEEP_CACHE_SIZE5)DB_RECYCLE_CACHE_SIZESGA 的必要內存區(qū)包括 Shared Pool( 共享池)、 DB Buffer Cache(數據庫高速緩存) Redo Log和Buffers (重做日志緩存區(qū))。共享池中又包含了庫高速緩存(Library Cache)和數據字典高速緩存(Data Dict Cache) 其中庫高速緩存中暫存了最近常用的 SQL 和 PL/SQL 語句文件,分析代碼,執(zhí)行計劃,
7、用于減少代碼的硬解析頻度;數據字典高速緩存中暫存了最近常用的數據字典信息,用于為 SQL 語句解析提供可以快速讀取的數據字典信息。數據庫高速緩存(DB Buffer Cache)暫存最近常用的數據塊信息,減少磁盤 IO 操作,用于提高數據訪問的速度。重做日志緩存區(qū)暫存最近生成的重做日志,將來批量寫到重做日志文件中,這樣可以確保日志能夠更快的生成,提高 DML 操作的執(zhí)行速度,也能夠減少日志帶來的寫頻度。除了必要內存區(qū)外,SGA 也有一些可選的內存區(qū),主要有大池 Large Pool) Java 池 Java Pool)(,(以及流池( Stream Pool)。大池主要用于共享模式存放用戶全局
8、區(qū) (UGA) 的信息,也提供 了 對Rman 備份恢復以及并行進程的支持。 Java 池的功能類似于共享池,暫存 Java 程序的信息。Stream 池是 10G 的新內存區(qū),支持新的流復制技術。1.1.1 共享池(Shared pool)共享池用于緩存sql,plsql、數據字典、資源鎖及其它用于控制結構相關的數據,共享池是SGA中最關鍵的內存片段,特別是在性能和可伸縮性上。太大太小都會扼殺性能,使系統(tǒng)停止,將會消耗大量的CPU來管理這個共享池。共享池大小由參數 shared_pool_size 決定大小,可以動態(tài)調整,它的各個內部件大小由共享池大小決定,不能單獨設置alter syste
9、m shared_pool_size=100m; 設置共享池大小;如果開啟了內存自動管理特性,則不需要 DBA 手動調整。共享池主要包括兩個與 sql 語句解析性能相關的內存組件。清空緩存池:alter system flush shared_pool;dbms_shared_pool.purge 某個sql共享池可分為:Library Cache和Data Dictionaey Cache 庫高速緩沖區(qū)(Library Cache)庫高速緩存用于暫存最近常使用的 SQL 和 PL/SQL 語句的文本 ,分析代碼,執(zhí)行計劃。SQL 文本也就是 SQL 語句。執(zhí)行計劃是最終 SQL
10、 語句的執(zhí)行算法,分析代碼則是生成執(zhí)行計劃的分析過程。庫高速緩存暫時存放常用語句信息的目的是為了能夠共享 SQL 代碼,從而能夠重用已經解析好的執(zhí)行計劃,減少硬解析帶來的資源消耗與其它內存區(qū)一樣,庫高速緩存也遵循 LRU 算法管理內存,由于內存空間大小有限,所以總會有一些 SQL 語句的信息被擠出庫高速緩存區(qū),這意味著必然會帶來一些語句代碼的硬解析 ,所以需要對庫高速緩存進行一些調整,以減少對解析性能的影響庫高速緩存的內部又分為兩個內存區(qū),分別緩存 SQL 語句和 PLSQL 語句的信息:共享 sql 區(qū)共享 pl/sql 區(qū)庫高速緩存的大小不能直接設置,受共享池的大小影響,由數據庫自行決定對
11、于保存在共享池中的SQL語句,可以從V$Sqltext、v$Sqlarea中查詢到,對于編程者來說,要盡量提高語句的重用率,減少語句的分析時間。一個設計的差的應用程序可以毀掉整個數據庫的Share pool,提高SQL語句的重用率必須先養(yǎng)成良好的變成習慣,盡量使用Bind變量。 數據字典高速緩存區(qū)(data dict cache)數據字典高速緩存用于暫存最近常使用的數據字典信息,它同樣遵循 LRU 算法管理內存,在字典緩存區(qū)中主要暫存解析所需的表空間,存儲,表,索引,字段,用戶,權限以及其他數據庫對象的相關字典信息。由于 SQL 語句解析時,服務進程需要查找相關的數據字典信息以支
12、持解析,而字典信息默認存儲在數據文件的數據字典信息中,所以每次解析去 IO 讀取數據文件并不是好的選擇。將常用的字典信息緩存在數據字典高速緩存區(qū)中,能夠快速訪問所需的字典信息,有效減少解析的時間,所以 SQL 語句解析的性能得到提高。數據字典的大小也不能直接修改,受共享池的大小的影響,數據庫自行決定1.1.2 數據高速緩存區(qū)(db buffer cache)用于暫存從數據文件中獲得的數據塊的數據映像,同樣遵循 LRU 算法管理內存,不論是表中的數據塊,不是索引的數據塊,或回滾段的數據塊,都被讀取到數據高速緩存中進行處理,如果內存中的數據塊發(fā)生變化,在特定的時機會被DBWR進程將修改后的數據寫回
13、到數據文件中。由于大量數據塊經常被反復訪問,所以如果數據已經讀入內存,當再次需要操作這些數據塊時就可以在內存中直接獲取和更新,減少了磁盤 I/O 的操作,SQL 語句的執(zhí)行執(zhí)行效率有大幅的提高初始化參數 DB_BLOCK_SIZE 決定了數據塊的大小,這也是數據庫 I/O 的最小單位,所以這個參數將影響到數據訪問的性能,而且需要注意的是,這個參數在創(chuàng)建數據庫之后將不能夠被改變,數據高速緩區(qū)由多個獨立的子緩存池構成,它的大小是這些緩存池的大小之和,這些子緩存區(qū)可以獨立設置大小,通過下面的參數進行設置1)Default db_cache_size2)Keep db_keep_cache_size3
14、)Recycle db_recycle_cache_sizekeep緩存池適合存放常用的數據字典表,可以把這樣的表直接keep在keep緩存池中; recycle緩存池,用完就釋放,適合存放不常用的大表這些子緩存池的大小都可以動態(tài)調整,但是只有 db_cache_size 可以由數據庫自動管理大小,默認只有 db_cache_size 被設置了有效值,其他兩個緩存池大小被設置為零1.1.3 重做日志緩沖區(qū)(Redo log buffer)重做日志緩沖區(qū)用于暫存數據庫中所有數據塊的改變信息,這些信息將按照改變的發(fā)生時間順序記錄在緩存區(qū)中,然后在特定的時機下被寫入重做日志文件,日志緩存區(qū)的內存管理
15、方法是FIFO,也就是是先進先出。重做日志主要被用于提供數據的恢復功能,應用日志前滾( roll forward)就是數據庫的基本恢復原理使用重做日志緩沖區(qū)的目的是為了提高 DML 或者 DDL 語句的執(zhí)行速度,減少日志產生帶來的性能影響,減少系統(tǒng)日志 I/O 的頻度。重做日志緩沖區(qū)的大小出 log_buffer 參數決定,但這個內存區(qū)不能動態(tài)調整大小,也不能被自動管理。重做日志緩沖區(qū)的存在是因為內存到內存的操作比較內存到硬盤的速度快很多,所以重作日志緩沖區(qū)可以加快數據庫的操作速度,但是考慮的數據庫的一致性與可恢復性,數據在重做日志緩沖區(qū)中的滯留時間不會很長。所以重作日志緩沖區(qū)一般都很小,大于
16、3M之后的重作日志緩沖區(qū)已經沒有太大的實際意義。1.1.4 大池大池是系統(tǒng)全局區(qū)中的一個可選內存區(qū),但通常在系統(tǒng)中會進行配置,大池的得名不是因為大,而是因為它用來分配大塊的內存,處理比共享池更大的內存,在8.0開始引入。大池主要以下幾種情況使用:1)共享服務器存儲用戶全局區(qū)(UGA )信息2)啟用并行進程3)使用 RMAN 作備份恢復大池由參數 large_pool_size 設置,也可以由數據庫自動管理1.1.5 JAVA池Java 池也是系統(tǒng)全局區(qū)中的一個可選內存區(qū),主要用于數據庫中存儲的 Java 程序的解析和執(zhí)行,通常如果不需要在數據庫中運行 java 程序,可以不啟用就個內存區(qū),但是
17、如果在數據庫創(chuàng)建時選擇了安裝 JVM 組件,那么這個池必須配置。Java 池由 java_pool_size 設置,也可以動態(tài)調整.。如果 granule 是 4M,Java 池的默認大小是 24M ,如果 granule 是 16M,Java 池的默認大小是 32M ,如果使用了 JVM 組件,java 池不得小于默認的大小。1.2程序全局區(qū)PGA程序全局區(qū)是為每個連接數據庫會話開辟的私有內存區(qū),每個會話都有自己獨立的PGA 區(qū),當用戶進程對應的服務進程被創(chuàng)建時分配,也就是會話創(chuàng)建時 PGA 空間分配,會話斷開時 PGA空間釋放,每個 PGA 區(qū)只能被一個服務進程使用。在 8i 的時候每個會
18、話的 pga 大小是固定的,由一些*.area_size 參數準定大小,這樣造成了各 個PGA 大小不能結合實際會話的需求而定。從 9i 開始 PGA 使用了自動管理特性,通過參數 pga_aggregate_target 設置 pga 的總大小,而各個會話需要分配 pga 內存時,從總的 pga中直接分配,分配的 pga 空間大小取決于會話的實際需求,這樣的分配方式使會話的 pga 大小更加符合實際的會話需求。由于排序內存空間屬于 pga 的一個部分,所以各個會話的 pga 大小,將會影響會話的排序性能,需要根據會話的排序情況,設置合適的 PGA 大小PGAAGGREGATETARGET 參
19、數的大小設置可以借鑒一些經驗值for oltp 系統(tǒng):pga_aggregate_target=(總的物理內存大小80%)*20%for dss 系統(tǒng):pga_aggregate_target=(總的物理內存大小80%)*50%查看PGA信息:select * from v$sysstatselect * from v$sesstat select * from v$pgastat select * from v$sql_workarea select * from v$sql_workarea_active 2.進程結構(1)用戶進程:客戶端用于連接數據庫的程序,主要負責發(fā)布需要執(zhí)行的 SQ
20、L 語句,這些進程創(chuàng)建和維護運行的應用程序或Oracle工具軟件代碼。 大多數環(huán)境中,有單獨的計算機客戶端進程(2)后臺進程:這些進程隨數據庫而啟動,用于完成各種維護任務,如將塊寫至磁盤、維護聯機重做日志、清理異常中止的進程等(3)服務進程:服務端響應用戶操作請求的程序,通常與用戶進程一一對應,執(zhí)行用戶進程發(fā)出的SQL 語句,并將執(zhí)行結果返回用戶進程。服務進程作用:A解析并執(zhí)行用戶所提交sql語句B在SGA數據庫緩存中搜索用戶進程所訪問的數據,如果搜不到則從硬盤提取數據到數據庫緩存中C將數據返回用戶進程。后臺進程:DBWR 數據庫寫進程LGWR 日志寫進程CKPT 檢查點寫進程SMON 系統(tǒng)監(jiān)
21、控進程PMON 進程監(jiān)控進程ARCH 歸檔進程RECO 恢復進程LCKn 封鎖進程前五個為oracle的五大進程。DBWR數據庫寫進程將數據庫緩存中被修改過的臟數據寫入到數據文件中。由于臟數據可能過多,單個DBWR進程有可能忙不過來,所以DBWR可以定義多個,oracle最多允許啟動10個DBWR進程,進程名稱分別為DBWR0-DBWR9,統(tǒng)稱為DBWn。寫入時機:1)產生檢查點2)臟數據緩沖區(qū)達到閥值 默認10%3)掃描整個data buffer沒有空閑 data buffer中包含臟的和未臟的 優(yōu)先寫臟數據列表 再寫未改的4)timeout超時 如果DBWR沒事做 會被每三秒喚醒一次去巡檢
22、 寫不寫不一定5)集群環(huán)境的ping請求觸發(fā)多實例的數據寫請求6)表級別的truncate或drop也會觸發(fā)數據寫7)表空間read only 只讀8)表空間offline離線9)熱備份 begin backup命令與用戶的commit無關。LGWR重做日志寫進程將重做日志緩存中的重做記錄寫入聯機重做日志文件。寫入時機:用戶commit;寫滿重做日志緩存1/3;日志緩沖區(qū)達到1/3滿;DBWR將數據庫緩存中的臟緩存塊成批寫入到數據文件之前;發(fā)生超時時,每隔3秒。CKPT檢查點進程發(fā)生時說明所有已提交的事務對數據的更改已寫入硬盤,數據庫處于完整狀態(tài)。更新控制文件和數據文件。用于強制DB serv
23、er的同步操作,同步每隔一些時間會執(zhí)行一次,確保同步之前所有被修改過的臟數據都被寫入到了數據文件中,這些被寫入的數據文件中的數據在系統(tǒng)崩潰時不需要恢復,只有內存中的數據丟失,需要被恢復,在系統(tǒng)崩潰時的這種恢復操作叫做實例恢復,實例恢復由于存儲介質并沒有損壞,所以僅需要應用日志記錄,即可恢復檢查點進程執(zhí)行下面的動作來完成同步操作1)通知DBWR進程將當前的SCN之前的所有臟數據寫入數據文件;2)在臟數據寫入數據文件后將所有數據文件頭和控制文件中記錄同一個SCN號表示同步操作的完成。在數據庫正常關閉時,系統(tǒng)一定會由檢查點進程執(zhí)行同步操作,以確保數據庫啟動時可以直接打開。在日志文件寫滿后發(fā)生日志切換
24、時,同樣發(fā)生同步,以確保實例恢復只需要使用重做日志文件內容。SMON系統(tǒng)監(jiān)控程序在數據庫啟動時檢查數據庫是否需要恢復,如需要則執(zhí)行恢復;恢復的方法:先前滾=>后回滾=>釋放資源前滾 將數據庫中的SQL(包括提交的和未提交的)全部重新做一遍回滾 將沒提交的SQL句從數據庫中將老的鏡像取出覆蓋釋放資源 將前滾和回滾中使用到的資源釋放在排序結束后釋放臨時段(對臨時表空間有效);合并表空間中的空閑空間碎片(在字典管理表空間時使用)。PMON進程監(jiān)視程序1)清理與實例非法斷開的server_process殘留的資源 非正常終止的用戶進程產生的垃圾資源如果PMON檢測到連接異常終止,將執(zhí)行下面
25、的任務:回滾該會話沒完成的事務釋放該事務占用的鎖釋放該會話占用的其他資源2)負責重啟以外死掉的調度器(網絡監(jiān)聽中使用的)3)將實例的信息注冊到監(jiān)聽程序3.存儲結構包括:物理結構和邏輯結構,這兩種存儲結構既相互獨立又相互聯系。3.1物理結構:物理存儲主要是由一些物理文件組成,包括:數據文件、日志文件、控制文件、初始化參數文件:pfilespfile、passwordfile、還有一些輔助文件:archived log files、alert.log警告文件、各dump文件夾下的跟蹤文件、外部表文件這些文件主要是OS層面的。即一系列物理文件的集合:數據文件:存儲數據,以.dbf做后綴。一句話:一個
26、表空間對多個數據文件,一個數據文件只對一個表空間。dba_data_files/v$datafile??刂莆募嚎刂莆募涗浿鴶祿斓奈锢砦募畔⒑蛿祿斓臓顟B(tài)信息 非常重要 一個控制文件是定義當前物理數據庫當前狀態(tài)的一個小的二進制文件Oracle 服務器在數據庫使用的過程中會不斷更新控制文件何時涉及改控制文件每次在線日志文件、數據文件的新增、修改、刪除,歸檔等都會更新控制文件 熱備份的時候觸發(fā)系統(tǒng)事件時CKPT進程將每三秒會觸發(fā)檢查點進程去寫控制文件alter system set control_files=路徑。V$CONTROLFILE。日志文件:即Redo Log File
27、s和Archivelog Files。記錄數據庫修改信息。聯機日志 存在的目的是為了數據完整性 通過時間向量和日志條目來維持完整性 Oracle服務器維護聯機重做日志文件以使數據庫中的數據丟失減到最小。重做日志文件記錄了對數據庫緩沖區(qū)高速緩存內數據所做的所有更改,存放著SQL條目(記錄)就是改變向量重做日志按group來存放的.叫日志組一個數據庫至少有2個日志組每個日志組至少有一個成員,組內成員與成員之間是鏡像關系順序切 循環(huán)寫業(yè)務交易會不斷生成REDO,使得REDO LOG文件越來越大,顯然不利于ORACLE管理,所以設計切換模式當前組日志寫滿,就會觸發(fā)日志切換.手動也可以觸發(fā)al
28、ter system switch logfile; 手動觸發(fā)日志切換重做日志文件是寫多讀少,要存放在寫性能最好的磁盤上.而且要多元化管理(物理隔離)。重做日志文件的讀寫特征寫 重做日志主要是寫操作,由LGWR完成。讀 重做在實例恢復或者介質恢復的時候才會去讀,日志挖掘也能用到。參數文件:約束實例的行為實例的參數 實例受初始化參數影響里面都是非默認參數 自定義參數有文本和二進制兩種文本pfile=parameter fileinitsid.ora缺陷:只能是文本文件 存放于文件系統(tǒng)(不能放在裸設備里)不能自動備份(不能用rman備份)動態(tài)修
29、改的參數,要下次啟動不能自動校驗不能共享依存于OS編輯器修改參數寫太長時 校驗讀取失敗優(yōu)點:可以使用ifile 共享命名規(guī)則: init.ora 或 init<sid>.ora二進制spfile=server parameter filespfilesid.ora解決了文本的缺陷同時為RAC實現了每個實例使用不同參數 加實例名前綴或星號例如:name=value*.name===value缺陷:不可以使用編輯器修改當參數值設置錯誤時,啟動實例加載參數不正確,實例就無法啟動,而二進制文件又不能修改解
30、決方法:將二進制文件轉換為文本參數文件,修改文本參數文件命名規(guī)則: spfile.ora 或 spfile<sid>.ora警告文件:show parameter background_dump_dest-使用共享服務器連接跟蹤文件:show parameter user_dump_dest-使用專用服務器連接3.2邏輯結構:(1)塊(Data Block):數據庫數據存放在數據塊中,一個數據塊對應特定磁盤上字節(jié)數。塊是數據庫最小的邏輯存儲單元。(2)區(qū)(Extend):由一系列連續(xù)的塊組成的,其分配是單一分配的。區(qū)也是系統(tǒng)分配空間和回收空間的基本單位。(3)段
31、(Segment):表空間中特定類型的邏輯單位,由一個或多個區(qū)構成。包括數據段(Data Segment)、回滾段(Rollback Segment)、臨時段(Temporary Segment)和索引段(Index Segment)。(4)表空間(Tablespace):邏輯磁盤空間,由數據文件組成,是最大的邏輯存儲單元。 兩種結構關系圖:3.2.1 表空間(tablespace)表空間是數據庫中的基本邏輯結構,一系列數據文件的集合。一個表空間可以包含多個數據文件,但是一個數據文件只能屬于一個表空間。查詢表空間:SQL>select * form dba_data_files
32、;查詢表空間的空閑信息:SQL>select * from dba_free_space;SQL>alter tablespace * offline;限制表空間大?。篠QL>alter user * quota *m on * 臨時表空間用于為用戶排序的ORDER BY語句使用。創(chuàng)建數據庫時可以指定數據庫的默認臨時表空間。在創(chuàng)建用戶的時候可以指定用戶的默認臨時表空間。例如下句就指定temp為用戶的臨時表空間。SQL>CREATE USER * IDENTIFIED BY * TEMPORARY TABLESPACE temp;3.2.2 段(Seg
33、ment)段是對象在數據庫中占用的空間,雖然段和數據庫對象是一一對應的,但段是從數據庫存儲的角度來看的。一個段只能屬于一個表空間,當然一個表空間可以有多個段。表空間和數據文件是物理存儲上的一對多的關系,表空間和段是邏輯存儲上的一對多的關系,段不直接和數據文件發(fā)生關系。一個段可以屬于多個數據文件,關于段可以指定擴展到哪個數據文件上面。段基本可以分為以下四種數據段(Data Segment)索引段(Index Segment)回滾段(Rollback Segment)臨時段(Temporary Segment)3.2.3 區(qū)間(Extent)關于Extent的翻譯有多種解釋,有的譯作擴展
34、,有的譯作盤區(qū),我這里通常譯為區(qū)間。在一個段中可以存在多個區(qū)間,區(qū)間是為數據一次性預留的一個較大的存儲空間,直到那個區(qū)間被用滿,數據庫會繼續(xù)申請一個新的預留存儲空間,即新的區(qū)間,一直到段的最大區(qū)間數(Max Extent)或沒有可用的磁盤空間可以申請。 在ORACLE8i以上版本,理論上一個段可以無窮個區(qū)間,但是多個區(qū)間對ORACLE卻是有性能影響的,ORACLE建議把數據分布在盡量少的區(qū)間上,以減少ORACLE的管理與磁頭的移動。3.2.4 Oracle數據塊(Block)ORACLE最基本的存儲單位,他是OS數據塊的整數倍。ORACLE的操作都是以塊為基本單位,一個區(qū)間可以包含多個塊(如果區(qū)間大小不是塊大小的整數倍,ORACLE
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書批發(fā)商庫存控制考核試卷
- 私募股權投資高端制造行業(yè)投資分析考核試卷
- 智能健身設備創(chuàng)新與市場分析考核試卷
- 2025科技部技術服務合同書范本
- 2025合同債務潛藏風險
- 2025年如何評估合同違約的財務影響
- 《2025聘請技術人才合同協(xié)議書》
- 2025電子產品購銷合同范本模板
- 學校食堂食品安全0428
- 蘇教版九年級語文(上)教案
- 共享菜園協(xié)議書5篇
- 人教版小學數學知識點總結大全
- 畢業(yè)設計(論文)-基于SolidWorks的廚余垃圾處理器設計
- 北師大版小學數學家長會發(fā)言稿范文
- GMP取樣管理課件
- 安徽省普通高中2024學年學業(yè)水平合格性測試英語試題(原卷版)
- 《中國古代物理學》課件
- 《阿西莫夫短文兩篇》-課件
- 培訓機構教務管理崗位職責
- 各行業(yè)消防安全培訓課件
- 書店承包經營合同2024版
評論
0/150
提交評論