日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題

發(fā)布時(shí)間:2023/11/27 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Oracle對(duì)內(nèi)存的管理的 優(yōu)化從未間斷,從8i到11g不斷地提出新的管理概念。每個(gè)本版都對(duì)內(nèi)存管理進(jìn)行了簡(jiǎn)化:1、8i->9i:PGA的自動(dòng)管理;2、9i->10g:SGA的自動(dòng)管理;3、10g->11g:MEMORY(SGA+PGA)的自動(dòng)管理。

在11g中oracle引入了自動(dòng)化內(nèi)存管理(Automatic Memory Management)概念,僅用兩個(gè)參數(shù)就能完成oracle的內(nèi)存管理工作。DBA的工作看來又要輕松不少了,看看兩個(gè)參數(shù):

MEMORY_TARGET:oracle所能使用的最大內(nèi)存,該參數(shù)可以動(dòng)態(tài)調(diào)整。

MEMORY_MAX_TARGET:MEMORY_TARGET參數(shù)所能動(dòng)態(tài)設(shè)定的最大值,不能動(dòng)態(tài)調(diào)整,需要重啟數(shù)據(jù)庫(kù)

注:oracle的內(nèi)存管理方式可以根據(jù)本版向下兼容的,11g可以實(shí)現(xiàn)10g,9i,8i時(shí)的管理方式。

SQL> show parameter sgaNAME? ? ? ? ?TYPEVALUE---------------- ----------- --------------lock_sga? ? ? boolean ? ??FALSEpre_page_sga? ?boolean ? ??FALSEsga_max_size? ?big integer ? 12864Msga_target? ? big integer ? ?0

SQL> show parameter pgaNAME? ? ? ? ? ? ?TYPE ??VALUE-------------------- ?----------- ----------pga_aggregate_target?big integer ?0

SQL> show parameter memNAME? ? ? ? ? ? ? ? TYPEVALUE------------------------- ----------- -----------hi_shared_memory_address? integer??0memory_max_target? ? ?big integer 12864Mmemory_target? ? ? ? big integer 12864Mshared_memory_address? ? integer??0

可以總結(jié)一下MEMORY之間互相制約的順序;

memory_max_target==>memory_target===>sga_max_size==>sga_target

此外, Memory_target還有下面的這個(gè):

Memory_Target = SGA_Target + pga_aggregate_target

案例一:

問題1、修改了sga_target/pga_aggregate_target的值,導(dǎo)致他們之和大於memory_target;

問題2、修改memory_target值,導(dǎo)致其小於sga_target/pga_aggregate_target之和,也會(huì)報(bào)錯(cuò);

SQL>startup 啟動(dòng)數(shù)據(jù)庫(kù) 報(bào)錯(cuò):

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 4016M

問題概括:Memory_Target 小於 SGA_Target與 pga_aggregate_target之和

解決方法:

上述參數(shù)的配置信息都存放在$ORACLE_HOME/dbs/spfile.ora文件中,但是該文件為二進(jìn)制文件,不可以直接修改;只能通過SQL語(yǔ)句創(chuàng)建出它的副本pfile文件進(jìn)行修改vi/vim,然后替換即可。(此時(shí)DB已經(jīng)被shutdown了,無法startup,但是仍可由spfile來創(chuàng)建pfile)

第一種解決方法: 還原先前狀態(tài),不做修改。

1)SQL>create pfile from spfile;

2)[oracle@ORACLE247 dbs]$ vim $ORACLE_HOME/dbs/initorcl.ora

3)刪除行 *.sga_target=*****

4)SYS> create spfile from pfile;

5)SYS> startup 即可

第二種方法,將sga_target修改為一個(gè)正確的值:

1)創(chuàng)建pfile初始化文檔;

2)修改 *.sga_target=X (X等於MEMORY_TARGET的值減去PGA的值(大於10M,PGA最小值));

3)由修改后的PFILE創(chuàng)建SPFILE;

4)啟動(dòng)DB即可;

第三種方法,修改增大 *.memory_target的值,

1)與第二種方法類似,創(chuàng)建pfile初始化文檔;

2)修改增大 *.memory_target=Y(Y值是不能大於/dev/shm tmpfs共享文件系統(tǒng)的大小,否則會(huì)報(bào)案例二的錯(cuò));

[root@ORACLE247 ~]# df -h |grep /dev/shmtmpfs ? ? ? ? ? ? ? ? ?16G ?8.2G ?7.5G ?53% /dev/shm

案例二:問題:設(shè)置的Memory_Target值過大

SQL>startup 啟動(dòng)數(shù)據(jù)庫(kù) 報(bào)錯(cuò):

ORA-00845: MEMORY_TARGET not supported on this system

問題原因:物理內(nèi)存大小>=Memory_Target大小設(shè)置>=/dev/shm tmpfs共享文件系統(tǒng)的大小

解決方法:

方法一:參照案例一中的方法三,修改Memory_Target大小;

方法二:修改/dev/shm 的大小,修改方法又有兩種:

1)[root@ORACLE247 ~]# cat /etc/fstab | grep tmpfs

這個(gè)是靜態(tài)修改,需要重啟系統(tǒng)才能生效。

2)[root@ORACLE247 ~]# mount -o remount,size=4G /dev/shm

這是通過重新掛載來修改其大小,不需要重啟。

總結(jié)

以上是生活随笔為你收集整理的oracle11g ora00838,管理oracle11g內存設置 解決ora-02097 ora-00838 ora-00845報錯問題的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。