在Oracle 11g中用看Oracle的共享内存段---------IPCS
很早之前,在一次講課了,用了命令ipcs,發(fā)現(xiàn)oracle的共享內(nèi)段好小,如下:
oracle@mydb?~]$?ipcs?-a------?Shared?Memory?Segments?-------- key????????shmid??????owner??????perms??????bytes??????nattch?????status?????? 0x00000000?32768??????root??????644????????72?????????2??????????????????????? 0x00000000?65537??????root??????644????????16384??????2??????????????????????? 0x00000000?98306??????root??????644????????280????????2??????????????????????? 0x00000000?1409028????oracle????640????????4096???????0??????????????????????? 0x00000000?1441797????oracle????640????????4096???????0??????????????????????? 0x079918e8?1474566????oracle????640????????4096???????0???????????????????????------?Semaphore?Arrays?-------- key????????semid??????owner??????perms??????nsems????? 0x87a36da4?1343489????oracle????640????????154???????------?Message?Queues?-------- key????????msqid??????owner??????perms??????used-bytes???messages?今天突然想起,剛好有空,來總結(jié)一下:
上面顯示Oracle共享內(nèi)存段只有4096個(gè)字節(jié),這太小了吧,哦,對(duì)了,我這是Oracle11g:
sys@OCM>?select?*?from?v$version;BANNER -------------------------------------------------------------------------------- Oracle?Database?11g?Enterprise?Edition?Release?11.2.0.3.0?-?64bit?Production PL/SQL?Release?11.2.0.3.0?-?Production CORE????11.2.0.3.0??????Production TNS?for?Linux:?Version?11.2.0.3.0?-?Production NLSRTL?Version?11.2.0.3.0?-?ProductionOraccle11g的對(duì)內(nèi)存的管理用了兩個(gè)新的參數(shù):
sys@OCM>?show?parameter?memoryNAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ hi_shared_memory_address?????????????integer?????0 memory_max_target????????????????????big?integer?1G memory_target????????????????????????big?integer?0 shared_memory_address????????????????integer?????0會(huì)不會(huì)是參數(shù)memory_max_target在作怪呢,把它關(guān)了試試,我這里把它設(shè)為0,然后重啟數(shù)據(jù)庫。
sys@OCM>?alter?system?set?memory_max_target=0?scope=spfile;System?altered.sys@OCM>?startup?force; ORACLE?instance?started.Total?System?Global?Area??943669248?bytes Fixed?Size??????????????????2234000?bytes Variable?Size?????????????541067632?bytes Database?Buffers??????????394264576?bytes Redo?Buffers????????????????6103040?bytes Database?mounted. Database?opened.再看共享內(nèi)存:
[oracle@mydb?~]$?ipcs?-a------?Shared?Memory?Segments?-------- key????????shmid??????owner??????perms??????bytes??????nattch?????status?????? 0x00000000?32768??????root??????644????????72?????????2??????????????????????? 0x00000000?65537??????root??????644????????16384??????2??????????????????????? 0x00000000?98306??????root??????644????????280????????2??????????????????????? 0x00000000?1802244????oracle????640????????4096???????0??????????????????????? 0x00000000?1835013????oracle????640????????4096???????0??????????????????????? 0x079918e8?1867782????oracle????640????????4096???????0???????????????????????------?Semaphore?Arrays?-------- key????????semid??????owner??????perms??????nsems????? 0x87a36da4?1736705????oracle????640????????154???????------?Message?Queues?-------- key????????msqid??????owner??????perms??????used-bytes???messages怎么回事,沒變啊?
是不是參數(shù)沒改對(duì),繼續(xù)校驗(yàn)參數(shù):
sys@OCM>?show?parameter?memNAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ hi_shared_memory_address?????????????integer?????0 memory_max_target????????????????????big?integer?904M memory_target????????????????????????big?integer?0 shared_memory_address????????????????integer?????0果然沒改過來,是不是命令alter system set memory_max_target=0 scope=spfile;沒用啊,不能怎么設(shè),但這命令本身設(shè)置重啟也沒報(bào)錯(cuò)。
來個(gè)狠一點(diǎn)的命令重置默認(rèn)值:
sys@OCM>?alter?system?reset?memory_max_target;System?altered.sys@OCM>?startup?force; ORACLE?instance?started.Total?System?Global?Area??680665088?bytes Fixed?Size??????????????????2231352?bytes Variable?Size?????????????276825032?bytes Database?Buffers??????????394264576?bytes Redo?Buffers????????????????7344128?bytes Database?mounted. Database?opened. sys@OCM>?show?parameter?memNAME?????????????????????????????????TYPE????????VALUE ------------------------------------?-----------?------------------------------ hi_shared_memory_address?????????????integer?????0 memory_max_target????????????????????big?integer?0 memory_target????????????????????????big?integer?0 shared_memory_address????????????????integer?????0這下可以了,參數(shù)memory_max_target終于等于0了。
我們?cè)賮砜碠RACLE共享內(nèi)存:
[oracle@mydb?~]$?ipcs?-a------?Shared?Memory?Segments?-------- key????????shmid??????owner??????perms??????bytes??????nattch?????status?????? 0x00000000?32768??????root??????644????????72?????????2??????????????????????? 0x00000000?65537??????root??????644????????16384??????2??????????????????????? 0x00000000?98306??????root??????644????????280????????2??????????????????????? 0x00000000?1933316????oracle????640????????12582912???30?????????????????????? 0x00000000?1966085????oracle????640????????671088640??30?????????????????????? 0x079918e8?1998854????oracle????640????????2097152????30??????????????????????------?Semaphore?Arrays?-------- key????????semid??????owner??????perms??????nsems????? 0x87a36da4?1867777????oracle????640????????154???????------?Message?Queues?-------- key????????msqid??????owner??????perms??????used-bytes???messages可以了!已從4096字節(jié)變成671088640多字節(jié)了。,總結(jié)只要把參數(shù)memory_max_target設(shè)為0就能看到。這里不建議大家去這樣改,只是為了解釋一下這個(gè)現(xiàn)象。
上面那幅圖留給童鞋們思考,不再解釋了。。。
轉(zhuǎn)載于:https://blog.51cto.com/guoyjoe/1431363
總結(jié)
以上是生活随笔為你收集整理的在Oracle 11g中用看Oracle的共享内存段---------IPCS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios下获取所有实体/虚拟网卡的信息,并
- 下一篇: 医院院长修电脑