Win2003 :
成都創(chuàng)新互聯(lián)擁有10余年成都網(wǎng)站建設(shè)工作經(jīng)驗,為各大企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計服務(wù),對于網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、成都app開發(fā)、wap網(wǎng)站建設(shè)(手機版網(wǎng)站建設(shè))、程序開發(fā)、網(wǎng)站優(yōu)化(SEO優(yōu)化)、微網(wǎng)站、域名與空間等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了很多網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等網(wǎng)站化運作于一體,具備承接各種規(guī)模類型的網(wǎng)站建設(shè)項目的能力。
由于32位的CPU的在windows系統(tǒng)中2G給系統(tǒng)用2G給應(yīng)用程序使用,如系統(tǒng)及oracle參數(shù)不作修改時,oracle的SGA內(nèi)存使用不能超過1.7G,所以要對一些進行windos
ows和oracle參數(shù)據(jù)進行修改,大致有以下幾步:一 windows 上的參數(shù)據(jù)修改:
1. 修改boot.ini文件,加/3GB /PAE:
在這行,multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows" /3GB /PAE 2.修改windows 注冊表:
regedit到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 這個目錄中找到AWE_WINDOW_MEMORY這個參數(shù),將其修改為oracle需要內(nèi)存的大小:例如:6G時為:6*1024*1024*1024
這個參數(shù)如不存大時,可以新建一個字符串名為AWE_WINDOW_MEMORY,值為上面講過的大小,這個值需要足夠大,不夠時將報:
ORA-27102 out of memory
OSD-00034 Message 34 not found; Product=RDBMS;facility =SOSD
O/S Error: (OS 8) Not enough storage is available to process this command
3.修改windows控制面板中的管理工具-- 域安全策略-- 本地安全策略 --鎖定內(nèi)存頁 中加入啟oracle數(shù)據(jù)庫的OS用戶名.
二 ORACLE數(shù)據(jù)庫中要改的參數(shù):
1.在改參數(shù)之前最好能先備份一個spfile到pfile 文件以防數(shù)據(jù)庫修改失敗時可以從這個參數(shù)文件在啟動數(shù)據(jù)庫: create pfile='d:\inittest.ora' from spfile; 2.主要修改的參數(shù)為:
_db_block_lru_latches --這個參數(shù)據(jù)大小為=CPU數(shù)*2*8
取消參數(shù)據(jù):db_cache_size,sga_max_size
db_block_buffers
USE_INDIRECT_DATA_BUFFERS=TRUE
SQL shutdown immediate;
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL startup
ORACLE 例程已經(jīng)啟動。Total System Global Area 1008280152 bytes
Fixed Size 455256 bytes
Variable Size 478150656 bytes
Database Buffers 528482304 bytes
Redo Buffers 1191936 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
SQL alter system set "_db_block_lru_latches"=128 scope=spfile;系統(tǒng)已更改。SQL alter system reset db_cache_size scope=spfile sid='*';系統(tǒng)已更改。SQL alter system set lock_sga=false scope=spfile;系統(tǒng)已更改。SQL alter system set db_block_buffers=1179648 scope=spfile;系統(tǒng)已更改。SQL alter system set use_indirect_data_buffers=true scope=spfile;系統(tǒng)已更改。SQL create pfile='d:\init2.ora' from spfile;文件已創(chuàng)建。SQL shutdown immediate;
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。可以通過OEM來修改PGA,shared pool這些內(nèi)存大小
SQL startup
ORACLE 例程已經(jīng)啟動。Total System Global Area 7516192768 bytes
Fixed Size 455256 bytes
Variable Size 478150656 bytes
Database Buffers 3528482304 bytes
Redo Buffers 1191936 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
Linux
有不少用戶認為在32位Linux,只能設(shè)置約1.7GB的Oracle SGA。也有不少用戶在不同的Linux發(fā)行版中使用相同的配置過程,獲得了不同的SGA最大值,便認為某些Linux發(fā)行版存在問題。這些想法都比較片面。實際上 32位Linux上Oracle SGA 的容量取決于三個指標,即:Linux kernel 版本、Oracle Database 版本、Linux 內(nèi)核參數(shù)shmmax。這里跟據(jù)一些網(wǎng)上文章做了些查正,做一些分析吧。一、內(nèi)核版本的影響在32位Linux平臺,至少都有兩套內(nèi)核供用戶使用。一個是smp核心,一個是hugemem核心。兩個核心的區(qū)別在于直接映射的內(nèi)核數(shù)據(jù)代碼地址空間的區(qū)別:SMP 核心:在x86架構(gòu)下,虛擬地址空間的大小為4G。在這4G空間中,用戶空間占3G (0×00000000到0xbfffffff),核心空間占1G(0xc0000000到0xffffffff)。這樣的分配策略稱為3G/1G分配。具體的分配方式如下:1. 0GB-1GB User space - Used for text/code and brk/sbrk allocations (malloc uses brk for small chunks)2. 1GB-3GB User space - Used for shared libraries, shared memory, and stack; shared memory and malloc use mmap (malloc uses mmap for large chunks)3. 3GB-4GB Kernel Space - Used for the kernel itself這種分配方式對于擁有1G物理內(nèi)存以下的系統(tǒng)是沒有任何問題的,即使超過1G物理內(nèi)存,3G/1G分配策略也沒有什么問題,因為內(nèi)核可以在高端內(nèi)存區(qū)域 (物理地址1G以上的內(nèi)存)中存放一些內(nèi)核數(shù)據(jù)結(jié)構(gòu)(比如頁緩沖等)。然而,隨著物理內(nèi)存的增多,3G/1G分配策略的問題也逐漸會暴露出來。這是因為一些關(guān)鍵的內(nèi)核數(shù)據(jù)結(jié)構(gòu) (比如用于管理物理內(nèi)存的mem_map[]) 是存放在1G核心空間之內(nèi)的。對于32G內(nèi)存的系統(tǒng),mem_map[]會占用近 0.5G的低端內(nèi)存(物理地址896M以下的內(nèi)存),這樣留給核心其他部分的內(nèi)存就不到所有內(nèi)存的1.5%;而對于64G內(nèi)存的系統(tǒng),mem_map[] 本身就會耗盡所有的低端內(nèi)存,造成系統(tǒng)無法啟動。但是把mem_map[]放到高端內(nèi)存的做法也不太實際,因為mem_map[]和內(nèi)存管理,體系結(jié)構(gòu)相關(guān)底層實現(xiàn),文件系統(tǒng)以及驅(qū)動等幾乎所有的核心的關(guān)鍵部分均有聯(lián)系,這時候就需要使用hugemem核心了。hugemem 核心:與SMP的3G/1G策略不同,hugemem 使用4G/4G分配方式。可以使核心空間由1G增加到4G,而用戶空間也由3G增加到4G。相比3G/1G分配策略,對于4G物理內(nèi)存系統(tǒng),使用4G/4G分配可以增加低端內(nèi)存達3倍以上,而對于32G物理內(nèi)存系統(tǒng),則會有更多的提升,達到原來的6倍。 理論上,4G/4G策略可以支持物理內(nèi)存達200G的x86系統(tǒng)(如果硬件沒有限制的話),即使對于這樣的系統(tǒng),4G/4G策略也能保證留有1G可用的低端內(nèi)存。不論能否理解上面的解釋,只須要記住 smp 和 hugemem 兩個核心,一個是 3G/1G策略,一個是4G/4G策略即可。二、Oracle Database 版本:Oracle SGA 是掛載在內(nèi)存用戶空間中,不同版本的 Oracle Database ,掛載SGA起始地址是不同的:Oracle 10g Release 1:掛載SGA的起始地址為0×50000000(1.25GB)Oracle 10g Release 2:掛載SGA的起始地址為0×20000000(0.5GB)(其它版本未查正,有興趣可以自已看看Oracle手冊)從這個結(jié)果可以看出,理論上若使用3G/1G的smp核心,Oracle 10g Release 1 的SGA可設(shè)置到 3GB - 1.25 = 1.75GB 。正是因此,也有人認為Oracle SGA 只能設(shè)置到 1.75GB。而升級至 R2 版本,則可以設(shè)置到 3GB - 0.5GB = 2.5GB 。相同的,使用 4G/4G 的hugemem 核心能夠獲得多大的SGA 就很清楚了。
三、kernel shmmax 參數(shù):shmmax定義單個共享內(nèi)存段的最大值,它的取值范圍區(qū)間是[0,4294967295], 單位為byte,4294967295 bytes即4294967296 bytes(4GB)減去1。一般來說,它應(yīng)該足夠大以容下整個SGA,避免SGA使用多個共享內(nèi)存段造成Oracle性能下降。那么,將shmmax設(shè)置為最大值4294967295,使用 hugmemem 核心,Oracle 10g R2 版本,則理論上的SGA最大值為 3.5GB。盡管用戶進程可用的虛擬地址空間為4GB以及shmmax的最大值為4294967295,仍然可以通過使用內(nèi)存文件系統(tǒng)(in-memory filesystem,比如tmpfs、ramfs以及hugetlbfs)打開Oracle的Very Large Memory (VLM)特性來擴展SGA超過4GB,比如6GB。但是這種方法有個不方便的地方是,用戶不能夠再使用Oracle 10g中的Automatic Shared Memory Management了。總結(jié)一下:SMP核心和hugemem核心的影響:SMP核心:1GB+3GB,SGA最大值為1.75GB(3GB-1.25GB)Hugemem核心:4GB+4GB , SGA最大值為2.75GB(4GB-1.25GB)Oracle 不同版本的影響:Oracle 10g Release 1:掛載SGA的起始地址為0×50000000(1.25GB)Oracle 10g Release 2:掛載SGA的起始地址為0×20000000(0.5GB)那么:Hugemem 核心 + Oracle 10g Release 2 ,SGA最大值為3.5GB(4GB-0.5GB)BTW:由于64位系統(tǒng)對應(yīng)16EB尋址范圍,而不是32位系統(tǒng)的4GB,所以想要獲得更大SGA,性能更好的效果,應(yīng)該優(yōu)先使用 64 位系統(tǒng),而不是通過32系統(tǒng)配合內(nèi)存文件系統(tǒng)來配置了。
您好,很高興為您解答,方法如下: /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep sem /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep ip_local_port_range 如果我的回答沒能幫助您,請繼續(xù)追問。
oracle 的內(nèi)存可以按照共享和私有的角度分為系統(tǒng)全局區(qū)和進程全局區(qū),也就是 SGA和 PGA(process global area or private global area)。對于 SGA 區(qū)域內(nèi)的內(nèi)存來說,是共享的全局的,在 UNIX 上,必須為 oracle 設(shè)置共享內(nèi)存段(可以是一個或者多個),因為 oracle 在UNIX 上是多進程;而在 WINDOWS 上 oracle 是單進程(多個線程),所以不用設(shè)置共享內(nèi)存段。PGA 是屬于進程(線程)私有的區(qū)域。在 oracle 使用共享服務(wù)器模式下(MTS),PGA中的一部分,也就是 UGA 會被放入共享內(nèi)存 large_pool_size 中。
對于虛擬機的物理內(nèi)存的添加,首先必須關(guān)掉虛擬機,
然后選擇虛擬機的設(shè)置-在里面有一個Physical
Memory(或者中文:內(nèi)存),在這里就可以調(diào)整虛擬機的物理內(nèi)存。但注意別調(diào)到超過你電腦的內(nèi)存數(shù)量
有問題追問或者百度Hi我都行
網(wǎng)站欄目:oracle怎么擴展內(nèi)存,oracle數(shù)據(jù)庫內(nèi)存調(diào)整之增加內(nèi)存
文章出自:http://m.kartarina.com/article12/hscddc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、Google、商城網(wǎng)站、做網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)