成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle 10G數(shù)據(jù)庫自動內(nèi)存管理分析

瀏覽:107日期:2023-11-13 13:39:31
是不是很難準(zhǔn)確地分配不同的池所需的內(nèi)存數(shù)?自動共享內(nèi)存治理特性使得自動將內(nèi)存分配到最需要的地方去成為可能。 無論您是一個剛?cè)腴T的 DBA 還是一個經(jīng)驗豐富的 DBA,您肯定至少看到過一次類似以下的錯誤: ORA-04031:unable to allocate 2216 bytes of shared memory ('shared pool'... ... 或者這種錯誤: ORA-04031:unable to allocate XXXX bytes of shared memory('large pool','unknown object','session heap','frame') 或者可能這種錯誤: ORA-04031:unable to allocate bytes of shared memory ('shared pool','unknown object','joxlod:init h', 'JOX:ioc_allocate_pal') 第一種錯誤的原因很明顯:分配給共享池的內(nèi)存不足以滿足用戶請求。(在某些情況下,原因可能不是池本身的大小,而是未使用綁定變量導(dǎo)致的過多分析造成的碎片,這是我很喜歡的一個主題;但目前讓我們把重點放在手頭的問題上。)其它的錯誤分別來自大型池和 Java 池的空間不足。 您需要解決這些錯誤情況,而不作任何與應(yīng)用程序相關(guān)的修改。那么有哪些方案可選呢?問題是如何在 Oracle 例程所需的所有池之間劃分可用的內(nèi)存。餡餅怎么分? 正如您所了解的,一個 Oracle 例程的系統(tǒng)全局區(qū)域 (SGA) 包含幾個內(nèi)存區(qū)域(包括緩沖高速緩存、共享池、Java 池、大型池和重做日志緩沖)。這些池在操作系統(tǒng)的內(nèi)存空間中占據(jù)了固定的內(nèi)存數(shù);它們的大小由 DBA 在初始化參數(shù)文件中指定。 這四個池(數(shù)據(jù)庫塊緩沖高速緩存、共享池、Java 池和大型池)幾乎占據(jù)了 SGA 中所有的空間。(與其它區(qū)域相比,重做日志緩沖沒有占據(jù)多少空間,對我們這里的討論無關(guān)緊要。)作為 DBA,您必須確保它們各自的內(nèi)存分配是充足的。 假定您決定了這些池的值分別是 2GB、1GB、1GB 和 1GB。您將設(shè)置以下初始化參數(shù)來為數(shù)據(jù)庫例程規(guī)定池的大小。 db_cache_size = 2gshared_pool_size = 1glarge_pool_size = 1gjava_pool_size = 1g 現(xiàn)在,仔細(xì)看一下這些參數(shù)。坦白講,這些值是否準(zhǔn)確?我相信您一定會有疑慮。在實際中,沒有人能夠為這些池指定確切的內(nèi)存數(shù) — 它們太依靠于數(shù)據(jù)庫內(nèi)部的處理,而處理的特性隨時在變化。 下面是一個示例場景。假定您有一個典型的、大部分屬于 OLTP 的數(shù)據(jù)庫,并且為緩沖高速緩存分配的專用內(nèi)存比為純 OLTP 數(shù)據(jù)庫(現(xiàn)在已經(jīng)很少見了)分配的要少。有一天,您的用戶放開了一些非常大的全表掃描,以創(chuàng)建當(dāng)天的結(jié)束報表。Oracle9i 數(shù)據(jù)庫為您提供了在線修改內(nèi)存分配的功能,但由于提供的總物理內(nèi)存有限,您決定從大型池和 Java 池中取出一些內(nèi)存: alter system set db_cache_size = 3g scope=memory;alter system set large_pool_size = 512m scope=memory;alter system set java_pool_size = 512m scope=memory; 這個解決方案能夠很好地工作一段時間,但是接著夜間的 RMAN 作業(yè)(它們使用大型池)開始了,大型池將立即出現(xiàn)內(nèi)存不足。同樣,您從數(shù)據(jù)庫高速緩存中取出一些內(nèi)存來補充大型池,以拯救這種局面。 RMAN 作業(yè)完成,然后啟動一個廣泛使用 Java 的批處理程序,接著您開始看到與 Java 池相關(guān)的錯誤。因此,您(再次)重新分配池,以滿足 Java 池和數(shù)據(jù)庫高速緩存上的內(nèi)存需求: alter system set db_cache_size = 2G scope=memory;alter system set large_pool_size = 512M scope=memory;alter system set java_pool_size = 1.5G scope=memory;第二天早上,OLTP 作業(yè)恢復(fù)在線,這個循環(huán)又完全重復(fù)!解決這種惡性循環(huán)的一種替代方法是永久設(shè)置每個池的最大需求。不過,這么做的話,您分配的總的 SGA 可能超出可用的內(nèi)存 — 從而在為每個池分配的內(nèi)存數(shù)不足時,將增加交換和分頁的風(fēng)險。人工重新分配的方法(雖然不實際)目前看起來很不錯。另一種替代方法是將值設(shè)為可接受的最小值。不過,當(dāng)需求增長且內(nèi)存不能完全滿足時,性能將受到影響。 注重在所有這些示例中,分配給 SGA 的總內(nèi)存保持不變,而池之間的內(nèi)存分配根據(jù)即時的需求進(jìn)行修改。假如 RDBMS 將自動探測來自用戶的需求并相應(yīng)地重新分布內(nèi)存分配,那不是很好嗎? Oracle 數(shù)據(jù)庫 10g 中的自動共享內(nèi)存治理特性正好能夠?qū)崿F(xiàn)這一目的。您可以決定 SGA 的總大小,然后設(shè)置一個名稱為 SGA_TARGET 的參數(shù),這個參數(shù)決定 SGA 的總大小。SGA 內(nèi)部的各個池將根據(jù)工作負(fù)載動態(tài)地進(jìn)行配置。實現(xiàn)自動內(nèi)存分配僅僅需要 SGA_TARGET 參數(shù)的一個非零值。 設(shè)置自動共享內(nèi)存治理 讓我們看看該特性是如何工作的。首先,確定 SGA 的總大小。您可以通過確定現(xiàn)在分配了多少內(nèi)存來估計這個值。 SQL> select sum(value)/1024/1024 from v$sga;SUM(VALUE)/1024/1024--------------------500 此時 SGA 的當(dāng)前總大小近似為 500MB,并且這個值將變?yōu)?SGA_TARGET 的值。接下來,執(zhí)行語句: alter system set sga_target = 500M scope=both; 這種方法不需要為各個池設(shè)置不同值;因而,您將需要在參數(shù)文件中使它們的值為零或全部刪除它們。 shared_pool_size = 0large_pool_size = 0java_pool_size = 0db_cache_size = 0再循環(huán)數(shù)據(jù)庫,使這些值生效。這個人工過程還可以通過 Enterprise Manager 10g 實施。從數(shù)據(jù)庫主頁中,選擇 'Administration' 選項卡,然后選擇 'Memory Parameters'。對于人工配置的內(nèi)存參數(shù),將顯示標(biāo)記為 'Enable' 的按鈕,以及所有人工配置的池的值。單擊 'Enable' 按鈕,啟用自動共享內(nèi)存治理特性。企業(yè)治理器將完成剩下的工作。 在配置了自動內(nèi)存分配之后,您可以利用以下命令檢查它們的大小: SQL> select current_size from v$buffer_pool;CURRENT_SIZE------------340SQL> select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;POOL MBYTES------------ ----------java pool 4large pool4shared pool 148正如您所看到的,所有的池都從 500MB 的總目標(biāo)大小中自動進(jìn)行分配。(參見圖 1。)緩沖高速緩存大小是 340MB,Java 池是 4MB,大型池是 4MB,共享池是 148MB。它們合起來總的大小為 (340+4+4+148=) 496MB,近似與 500MB 的目標(biāo) SGA 的大小相同。 Oracle 10G數(shù)據(jù)庫自動內(nèi)存管理分析圖 1:池的初始分配現(xiàn)在假定提供給 Oracle 的主機內(nèi)存從 500MB 減少為 300MB,這意味著我們必須減少總 SGA 的大小。我們可以通過減小目標(biāo) SGA 大小來反映這種變化。  alter system set sga_target = 300M scope=both;現(xiàn)在查看各個池,我們可以看到: SQL> select current_size from v$buffer_pool;CURRENT_SIZE------------244SQL> select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;POOL MBYTES------------ ----------java pool 4large pool4shared pool 44占用的總大小是 240+4+4+44 = 296MB,接近于目標(biāo)的 300MB。注重如圖 2 所示,當(dāng) SGA_TARGET 改變時,如何自動重新分配池。   圖 2:在將 SGA 大小減少到 300MB 之后重新分配池這些池的大小是動態(tài)的。池將根據(jù)工作負(fù)載擴展,以容納需求的增長,或縮小以容納另一個池的擴展。這種擴展或縮小自動發(fā)生,無需 DBA 的干預(yù),這與本文開頭的示例不同。讓我們暫時返回到那個場景,假定在初始分配后,RMAN 作業(yè)啟動,指示需要一個更大的大型池,大型池將從 4MB 擴展到 40MB,以容納需求。這個額外的 36MB 將從數(shù)據(jù)庫緩沖中劃出,數(shù)據(jù)庫塊緩沖將縮小,如圖 3 所示。   圖 3:在對大型池的需求增長之后經(jīng)過重新分配的池池的大小變化基于系統(tǒng)上的工作負(fù)載,因此不需要為最壞的情況調(diào)整池的大小 — 它們將根據(jù)需求的增長自動調(diào)整。此外,SGA 的總大小始終在由 SGA_TARGET 指定的最大值之內(nèi),因此不存在使內(nèi)存需求的增長比例失調(diào)(這將導(dǎo)致分頁和交換)的風(fēng)險。您可以動態(tài)地將 SGA_TARGET 增加至絕對最大值,這個絕對最大值是通過調(diào)整參數(shù) SGA_MAX_SIZE 指定的。
標(biāo)簽: Oracle 數(shù)據(jù)庫
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
9191国产精品| 94色蜜桃网一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 亚洲欧美春色| 中文一区一区三区高中清不卡| 成人91在线观看| 欧美大肚乱孕交hd孕妇| 国产精品一区免费在线观看| 欧美体内she精视频| 五月婷婷综合网| 国产精品久久久久久模特 | 国产日韩综合av| av影院午夜一区| 欧美一区二区二区| 成人在线综合网| 精品国产乱码久久久久久闺蜜| 国产91丝袜在线18| 日韩欧美一级在线播放| 国产麻豆一精品一av一免费 | 在线不卡中文字幕| 国产一区二区三区美女| 777欧美精品| 国产91丝袜在线18| 日韩精品一区二区三区三区免费| 成人av免费在线| 国产视频一区在线播放| 黑人中文字幕一区二区三区| 国产精品久久久久久户外露出| 一区在线观看| 一区二区三区精品在线| 亚洲综合好骚| 五月婷婷久久综合| 在线亚洲一区观看| 制服.丝袜.亚洲.另类.中文| 国产在线一区二区| 日韩欧美国产系列| 99精品久久免费看蜜臀剧情介绍 | 亚洲三级视频在线观看| 国产精品视频| 日本欧美在线看| 91麻豆精品国产91久久久使用方法 | 玖玖精品视频| 久久精品999| 日韩一区二区在线看| 91在线云播放| 亚洲欧美日韩国产综合| 色偷偷成人一区二区三区91| 激情深爱一区二区| 日韩精品一区二区三区在线观看 | 欧美日韩成人一区二区| 国产.欧美.日韩| 国产农村妇女毛片精品久久麻豆 | 5月丁香婷婷综合| 盗摄精品av一区二区三区| 国产女同性恋一区二区| 国产日韩一区二区三区在线播放| 日本强好片久久久久久aaa| 欧美一区二区三区影视| 欧美在线观看天堂一区二区三区| 亚洲精品成人悠悠色影视| 在线观看免费视频综合| 99这里只有久久精品视频| 亚洲欧美日韩一区二区三区在线观看| 麻豆精品91| 国产91精品久久久久久久网曝门| 中文无字幕一区二区三区| 美脚丝袜一区二区三区在线观看| 国产美女娇喘av呻吟久久| 久久久久国产精品麻豆ai换脸| 中文亚洲字幕| 国产乱对白刺激视频不卡| 欧美高清在线视频| 久久久久久精| 北条麻妃一区二区三区| 亚洲人成伊人成综合网小说| 欧美日韩精品一二三区| 欧美午夜电影在线观看| 日产精品久久久久久久性色| 日韩一区二区麻豆国产| 精品91免费| 精品系列免费在线观看| 久久精品人人做| 米奇777在线欧美播放| 国产iv一区二区三区| 亚洲欧美日韩系列| 欧美一区二区三区免费在线看 | 国产精品夜夜嗨| 最新欧美精品一区二区三区| 99久久精品免费| 亚洲综合精品自拍| 日韩美女在线视频| 国产精品一区二区三区观看| 国产精品一区二区三区网站| 亚洲天堂中文字幕| 欧美日本免费一区二区三区| 狠狠色综合网| 国产一区999| 亚洲精品免费在线| 精品精品国产高清一毛片一天堂| 麻豆成人小视频| 97久久精品人人做人人爽| 日韩av一区二区三区| 欧美国产一区在线| 欧美视频第二页| 日韩亚洲不卡在线| 盗摄精品av一区二区三区| 亚洲小说欧美激情另类| 久久久久久久一区| 欧美日韩一区在线观看| 99精品视频免费观看视频| 成人中文字幕在线| 天天操天天综合网| 亚洲欧洲三级电影| 精品精品国产高清一毛片一天堂| 91黄视频在线| 一区二区三区免费看| 99精品热视频| 极品少妇xxxx精品少妇| 亚洲一区自拍偷拍| 国产精品丝袜91| 日韩手机在线导航| 在线视频亚洲一区| 国产欧美一区二区三区另类精品| 成人的网站免费观看| 青青草伊人久久| 亚洲免费观看高清完整版在线 | 国内精品视频在线播放| 国产一区二区三区四区五区入口 | 欧美tk丨vk视频| 在线观看一区二区视频| 国产日韩一区| 韩国精品一区二区三区| 成人av在线电影| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美成人一区二区三区| 国产三级久久久| 精品欧美一区二区在线观看| 欧美影院午夜播放| 久久久久高清| 99亚洲视频| 狠狠爱www人成狠狠爱综合网| 高清在线观看日韩| 精品一区二区精品| 奇米影视在线99精品| 亚洲国产精品一区二区久久| 亚洲三级在线播放| 国产精品毛片久久久久久久| 久久久无码精品亚洲日韩按摩| 日韩视频在线你懂得| 欧美日韩三级视频| 欧美影片第一页| 色香蕉久久蜜桃| 久久国产毛片| 久久av一区二区三区亚洲| 国产欧美一区二区三区另类精品 | 亚洲青青青在线视频| 国产欧美精品在线观看| 久久综合久久综合九色| 欧美α欧美αv大片| 日韩网站在线看片你懂的| 在线不卡的av| 欧美乱妇15p| 日本精品裸体写真集在线观看| 亚洲欧美日韩国产| 国产一区导航| 国产日韩一区欧美| av成人黄色| 国产精品综合色区在线观看| 国产精品日韩一区二区| 国产一区二区三区黄| 国产亚洲第一区| 国产伦精品一区二区| 国产精品日韩久久久| 国产精品欧美久久| 亚洲欧美日韩国产一区二区| 亚洲欧美日韩另类精品一区二区三区| 国产欧美日韩伦理| 一本一本久久a久久精品综合妖精| 伊人精品视频| 国产欧美日韩视频一区二区三区| 一区二区黄色| 亚洲一区综合| 巨乳诱惑日韩免费av| 91福利国产精品| 欧美日韩和欧美的一区二区| 欧美三级日韩三级| 欧美日韩一区小说| 91麻豆精品国产91久久久久| 日韩欧美资源站| 久久伊99综合婷婷久久伊| 国产欧美一区二区三区鸳鸯浴 | 日韩高清中文字幕一区| 久久国产精品色| 国模套图日韩精品一区二区| 国产不卡高清在线观看视频| 成人免费视频app| 91在线观看免费视频| 97久久超碰国产精品| 91色porny蝌蚪| 影音先锋久久资源网|