當前位置:首頁 » 操作系統 » oracle內存資料庫

oracle內存資料庫

發布時間: 2023-03-14 00:33:29

『壹』 Oracle資料庫實例及其相關概念

完整的Oracle資料庫通常由兩部分組成 Oracle資料庫實例和資料庫

)資料庫是一系列物理文件的集合(數據文件 控制文件 聯機日誌 參數文件等)

)Oracle資料庫實例則是一組Oracle後台進程/線程以及在伺服器分配的共享內存區

在啟動Oracle資料庫伺服器時 實際上是在伺服器的內存中創建一個Oracle實例(即在伺服器內存中分配共享內存並創建相關的後台內存) 然後由這個Oracle資料庫實例來訪問和控制磁碟中的數據文件 Oracle有一個很大的內存快 成為全局區(SGA)

一 資料庫 表空間 數據文件

資料庫

資料庫是數據集合 Oracle是一種資料庫管理系統 是一種關系型的資料庫管理系統

通常情況了我們稱的 資料庫 並不僅指物理的數據集合 他包含物理數據 資料庫管理系統 也即物理數據 內存 操作系統進程的組合體

資料庫的數據存儲在表中 數據的關系由列來定義 即通常我們講的欄位 每個列都有一個列名 數據以行(我們通常稱為記錄)的方式存儲在表中 表之間可以相互關聯 以上就是關系模型資料庫的一個最簡單的描述

當然 Oracle也是提供對面象對象型的結構資料庫的最強大支持 對象既可以與其它對象建立關系 也可以包含其它對象 關於OO型資料庫 以後利用專門的篇幅來討論 一般情況下我們的討論都基於關系模型

表空間 文件

無論關系結構還是OO結構 Oracle資料庫都將其數據存儲在文件中 資料庫結構提供對數據文件的邏輯映射 允許不同類型的數據分開存儲 這些邏輯劃分稱作表空間

表空間(tablespace)是資料庫的邏輯劃分 每個資料庫至少有一個表空間(稱作SYSTEM表空間) 為了便於管理和提高運行效率 可以使用一些附加表空間來劃分用戶和應用程序 例如 USER表空間供一般用戶使用 RBS表空間供回滾段使用 一個表空間只能屬於一個資料庫

每個表空間由同一磁碟上的一個或多個文件組成 這些文件叫數據文件(datafile) 一個數據文件只能屬於一個表空間 在Oracle 以後 數據文件創建可以改變大小 創建新的表空間需要創建新的數據文件 數據文件一旦加入到表空間中 就不能從這個表空間中移走 也不能與其它表空間發生聯系

如果資料庫存儲在多個表空間中 可以將它們各自的數據文件存放在不同磁碟上來對其進行物理分割 在規劃和協調資料庫I/O請求的方法中 上述的數據分割是一種很重要的方法

Oracle資料庫的存儲結構分為邏輯存儲結構和物理存儲結構

)邏輯存儲結構 用於描述Oracle內部組織和管理數據的方式

)物理存儲結構 用於描述Oracle外部即操作系統中組織和管理數據的方式

二 Oracle資料庫實例

為了訪問資料庫中的數據 Oracle使用一組所有用戶共享的後台進程 此外 還有一些存儲結構(統稱為System Gloabl Area 即SGA) 用來存儲最近從資料庫查詢的數據 數據塊緩存區和sql共享池(Shared SQL Pool)是SGA的最大部分 一般佔SGA內存的 %以上 通過減少對數據文件的I/O次數 這些存儲區域可以改善資料庫的性能

Oracle資料庫實例(instance)也稱作伺服器(server) 是用來訪問資料庫文件集的存儲結構及後台進程的集合 一個資料庫可以被多個實例訪問(這是Oracle並行伺服器選項)

lishixin/Article/program/Oracle/201311/17362

『貳』 ORACLE 資料庫伺服器 512G內存 ,SGA和PGA內存怎麼合理的分配

SGA可以配置為內存的50%,PGA配置為內存的17%

『叄』 oracle資料庫的性能優化有哪些方法

你最好買一本專門講ORACLE性能優化的書,好好看看x0dx0a1、調整資料庫伺服器的性能x0dx0aOracle資料庫伺服器是整個系統的核心,它的性能高低直接影響整個系統的性能,為了調整Oracle資料庫伺服器的性能,主要從以下幾個方面考慮: x0dx0a1.1、調整操作系統以適合Oracle資料庫伺服器運行x0dx0aOracle資料庫伺服器很大程度上依賴於運行伺服器的操作系統,如果操作系統不能提供最好性能,那麼無論如何調整,Oracle資料庫伺服器也無法發揮其應有的性能。 x0dx0a1.1.1、為Oracle資料庫伺服器規劃系統資源 x0dx0a據已有計算機可用資源, 規劃分配給Oracle伺服器資源原則是:盡可能使Oracle伺服器使用資源最大化,特別在Client/Server中盡量讓伺服器上所有資源都來運行Oracle服務。 x0dx0a1.1.2、調整計算機系統中的內存配置 x0dx0a多數操作系統都用虛存來模擬計算機上更大的內存,它實際上是硬碟上的一定的磁碟空間。當實際的內存空間不能滿足應用軟體的要求時,操作系統就將用這部分的磁碟空間對內存中的信息進行頁面替換,這將引起大量的磁碟I/O操作,使整個伺服器的性能下降。為了避免過多地使用虛存,應加大計算機的內存。 x0dx0a1.1.3、為Oracle資料庫伺服器設置操作系統進程優先順序 x0dx0a不要在操作系統中調整Oracle進程的優先順序,因為在Oracle資料庫系統中,所有的後台和前台資料庫伺服器進程執行的是同等重要的工作,需要同等的優先順序。所以在安裝時,讓所有的資料庫伺服器進程都使用預設的優先順序運行。 x0dx0a1.2、調整內存分配x0dx0aOracle資料庫伺服器保留3個基本的內存高速緩存,分別對應3種不同類型的數據:庫高速緩存,字典高速緩存和緩沖區高速緩存。庫高速緩存和字典高速緩存一起構成共享池,共享池再加上緩沖區高速緩存便構成了系統全程區(SGA)。SGA是對資料庫數據進行快速訪問的一個系統全程區,若SGA本身需要頻繁地進行釋放、分配,則不能達到快速訪問數據的目的,因此應把SGA放在主存中,不要放在虛擬內存中。內存的調整主要是指調整組成SGA的內存結構的大小來提高系統性能,由於Oracle資料庫伺服器的內存結構需求與應用密切相關,所以內存結構的調整應在磁碟I/O調整之前進行。 x0dx0a1.2.1、庫緩沖區的調整 x0dx0a庫緩沖區中包含私用和共享SQL和PL/SQL區,通過比較庫緩沖區的命中率決定它的大小。要調整庫緩沖區,必須首先了解該庫緩沖區的活動情況,庫緩沖區的活動統計信息保留在動態性能表v$librarycache數據字典中,可通過查詢該表來了解其活動情況,以決定如何調整。 x0dx0a x0dx0aSelect sum(pins),sum(reloads) from v$librarycache; x0dx0a x0dx0aPins列給出SQL語句,PL/SQL塊及被訪問對象定義的總次數;Reloads列給出SQL 和PL/SQL塊的隱式分析或對象定義重裝載時在庫程序緩沖區中發生的錯誤。如果sum(pins)/sum(reloads) ≈0,則庫緩沖區的命中率合適;若sum(pins)/sum(reloads)>1, 則需調整初始化參數 shared_pool_size來重新調整分配給共享池的內存量。 x0dx0a1.2.2、數據字典緩沖區的調整 x0dx0a數據字典緩沖區包含了有關資料庫的結構、用戶、實體信息。數據字典的命中率,對系統性能影響極大。數據字典緩沖區的使用情況記錄在動態性能表v$librarycache中,可通過查詢該表來了解其活動情況,以決定如何調整。 x0dx0a x0dx0aSelect sum(gets),sum(getmisses) from v$rowcache; x0dx0a x0dx0aGets列是對相應項請求次數的統計;Getmisses 列是引起緩沖區出錯的數據的請求次數。對於頻繁訪問的數據字典緩沖區,sum(getmisses)/sum(gets)<10%~15%。若大於此百分數,則應考慮增加數據字典緩沖區的容量,即需調整初始化參數shared_pool_size來重新調整分配給共享池的內存量。 x0dx0a1.2.3、緩沖區高速緩存的調整 x0dx0a用戶進程所存取的所有數據都是經過緩沖區高速緩存來存取,所以該部分的命中率,對性能至關重要。緩沖區高速緩存的使用情況記錄在動態性能表v$sysstat中,可通過查詢該表來了解其活動情況,以決定如何調整。 x0dx0a x0dx0aSelect name,value from v$sysstat where name in ('dbblock gets','consistent gets','physical reads'); x0dx0a x0dx0adbblock gets和consistent gets的值是請求數據緩沖區中讀的總次數。physical reads的值是請求數據時引起從盤中讀文件的次數。從緩沖區高速緩存中讀的可能性的高低稱為緩沖區的命中率,計算公式: x0dx0a x0dx0aHit Ratio=1-(physical reds/(dbblock gets+consistent gets)) x0dx0a x0dx0a如果Hit Ratio<60%~70%,則應增大db_block_buffers的參數值。db_block_buffers可以調整分配給緩沖區高速緩存的內存量,即db_block_buffers可設置分配緩沖區高速緩存的數據塊的個數。緩沖區高速緩存的總位元組數=db_block_buffers的值*db_block_size的值。db_block_size 的值表示數據塊大小的位元組數,可查詢 v$parameter 表: x0dx0a x0dx0aselect name,value from v$parameter where name='db_block_size' x0dx0a x0dx0a在修改了上述資料庫的初始化參數以後,必須先關閉資料庫,在重新啟動資料庫後才能使新的設置起作用。

『肆』 內存資料庫主流的有哪些,並給出各自特點!

內存資料庫從范型上可以分為關系型內存資料庫和鍵值型內存資料庫。
在實際應用中內存資料庫主要是配合oracle或mysql等大型關系資料庫使用,關注性能。
作用類似於緩存,並不注重數據完整性和數據一致性。
基於鍵值型的內存資料庫比關系型更加易於使用,性能和可擴展性更好,因此在應用上比關系型的內存資料庫使用更多。
比較FastDB、Memcached和Redis主流內存資料庫的功能特性。
FastDB的特點包括如下方面:
1、FastDB不支持client-server架構因而所有使用FastDB的應用程序必須運行在同一主機上;
2、fastdb假定整個資料庫存在於RAM中,並且依據這個假定優化了查詢演算法和介面。
3、fastdb沒有資料庫緩沖管理開銷,不需要在資料庫文件和緩沖池之間傳輸數據。
4、整個fastdb的搜索演算法和結構是建立在假定所有的數據都存在於內存中的,因此數據換出的效率不會很高。
5、Fastdb支持事務、在線備份以及系統崩潰後的自動恢復。
6、fastdb是一個面向應用的資料庫,資料庫表通過應用程序的類信息來構造。
FastDB不能支持Java API介面,這使得在本應用下不適合使用FastDB。
Memcached
Memcached是一種基於Key-Value開源緩存伺服器系統,主要用做資料庫的數據高速緩沖,並不能完全稱為資料庫。
memcached的API使用三十二位元的循環冗餘校驗(CRC-32)計算鍵值後,將資料分散在不同的機器上。當表格滿了以後,接下來新增的資料會以LRU機制替換掉。由於 memcached通常只是當作緩存系統使用,所以使用memcached的應用程式在寫回較慢的系統時(像是後端的資料庫)需要額外的程序更新memcached內的資料。
memcached具有多種語言的客戶端開發包,包括:Perl、PHP、JAVA、C、Python、Ruby、C#。
Redis
Redis是一個高性能的key-value資料庫。redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關系資料庫起到很好的補充作用。它提供了C++、Java、Python,Ruby,Erlang,PHP客戶端。

『伍』 如何給Oracle資料庫分配內存

內存是影響資料庫性能的重要因素,Oracle8i使用靜態內存管理,Oracle 10g使用動態內存管理。所謂靜態內存管理,就是在資料庫系統中,無論是否有用戶連接,也無論並發用量大小,只要資料庫服務在運行,就會分配固定大小的內存;動態內存管理允許在資料庫服務運行時對內存的大小進行修改,讀取大數據塊時使用大內存,小數據塊時使用小內存,讀取標准內存塊時使用標准內存設置。

『陸』 簡要說明oracle資料庫體系的內存結構

內存結構 oracle內存結構大致具有四個區:軟體代碼區、系統全局區、程序全局區和排序區。 1、系統全局區。(SGA) 系統全局區為一組由oracle分配的共享數據結構,它是實例的主要部分,它含有數據維護、SQL語句分析與重做緩存所必須的所有內存結構,系統全局區的數據是共享的,也就是說,多個進程可以在同一時間對SGA中的數據進行訪問和修改。它包含以下內容: <1>、數據塊緩沖區 該區存放最近使用過的數據塊,使用LRU(最近最少使用演算法)進行管理。 <2>、字典緩沖區 該區用於保存數據字典中的行,數據字典中存放oracle系統管理自身所需的所有信息。該區也使用LRU演算法管理。 <3>、重做日誌緩沖區 任何事務在記錄到重做日誌之前都先放到該區,資料庫系統定期將該區內容寫入到聯機重做日誌中。 <4>、SQL共享池 存放所有通過SQL語法分析、准備執行的SQL語句。 <5>、JAVA池 為JAVA命令提供語法分析。 <6>、多緩沖池 可以在SGA中創建多個緩沖池,能夠用多個緩沖池把的數據集與其他的應用程序分開,以減少它們爭奪數據塊緩沖區相同資源的可 能性。 2、程序全局區(PGA) 包含單個伺服器進程或單個後台進程的數據和控制信息,與幾個進程共享的SGA 正相反PGA 是只被一個進程使用的區域,PGA 在創建進程時分配在終止進程時回收。 3、排序區 排序需要內存,這部分空間成為排序區,排序區存在於請求排序的用戶進程的內存中,該空間的大小為適應排序數據量的大小,可增長,但受初始化參數SORT_AREA_SIZER所限制。 4、軟體代碼區 用於存儲正在執行或可以執行的程序代碼。 </FONT></SPAN>

熱點內容
2440編譯器版本 發布:2025-08-23 11:50:10 瀏覽:667
android更改版本 發布:2025-08-23 11:50:10 瀏覽:292
linux土豆 發布:2025-08-23 11:43:25 瀏覽:599
wamp上傳 發布:2025-08-23 11:41:48 瀏覽:264
蘋果瀏覽器緩存 發布:2025-08-23 11:37:20 瀏覽:996
下面哪個是全局配置文件 發布:2025-08-23 11:25:44 瀏覽:440
二叉樹的存儲和遍歷 發布:2025-08-23 11:24:12 瀏覽:620
交換機清除arp緩存 發布:2025-08-23 11:21:21 瀏覽:874
redhatftp開啟 發布:2025-08-23 11:06:19 瀏覽:796
僧解壓碼 發布:2025-08-23 10:52:59 瀏覽:245