Oracle在 32位系統上運行突破sga1.7g的方法

來源:互聯網
上載者:User

在32bit或者64bit的平台上跑32bit的Oracle的時候,SGA總是受到限制,導致大記憶體的機器不能完全發揮作用,最近就專門找了一些關於調整最大SGA區的文檔,看了看,感覺收穫蠻大的,總結了一下幾個平台的,但是不全,歡迎大家探討補全。

我先把我總結的幾個平台貼出來大家討論討論。

在RedHat ADVANCED SERVER2.1上擴充SGA(1.7G以上)

一.        目標:
1.        在一個4G以上的記憶體的機器上將SGA從1.7G增至2.7G
2.        相容8.1.7,9.0.1,9.2.0版本的資料庫
3.        整個SGA都能夠被提高
二.        限制:
1.        只允許在本地啟動和關閉資料庫
2.        如果為PGA儲存的虛擬記憶體太少就會導致ORA-4030的錯誤
三.        基本步驟:
1.        查看啟動oracle使用者的shel的進程號PID
ps -ef或者echo $$
2.        以root使用者單獨開一個進程,執行:
echo 268435456 > /proc/$PID/mapped_base
       這個要對server上所有產生oracle進程的shell
3.        修改shmmax的值。用root使用者執行
echo 3000000000 > /proc/sys/shmmax
4.        重新分配SGA
shutdown immediate所有的oracle執行個體
cd $ORACLE_HOME/lib
cp –a libserver9.a libserver9.a.org(備份liberver9.a檔案)
cd $ORACLE_HOME/bin
cp –a oracle oracle.org(備份oracle檔案)
cd $ORACLE_HOME/rdbms/lib
genksms –s 0x15000000 > ksms.s
make –f ins_rdbms.mk ksms.o(編譯新的sga地址)
make –f ins_rdbms.mk ioracle(重新連結)
  這樣改過以後就可以支援到2.65G的sga,從而可以提高db_cache_size或者db_block_buffers去提高資料庫的緩衝區了。

更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.