How to enlarge sga more than 1.7G in 32 bits LINUX

On REDHAT ES4.4 32 bits OS, how to enlarge SGA more than the limit - 1.7G:
Guides to re-allcoate SGA:
1. shutdown immediate all oracle instances.

2. backup files:
cd $ORACLE_HOME/lib
cp -a libserver9.a libserver9.a.org(backup liberver9.a)
cd $ORACLE_HOME/bin
cp -a oracle oracle.org(backup oracle)

3. Generete new SGA mapped base:
cd $ORACLE_HOME/rdbms/lib
cp ksms.s ksms.s.org ;
cp ksms.o ksms.o.org;
genksms -s 0x12000000 > ksms.s
 --- Size of 
0x12000000 is 300 M. (Refering to PS)

4. generate new ksms file
make -f ins_rdbms.mk ksms.o

5. re-compile
make -f ins_rdbms.mk ioracle

Now the Oracle database server is modified to support SGA more than 1.7 G size, then you can update db_cache_size or db_block_buffers to increase data buffers.

ps:
select to_number('12000000','xxxxxxxxxxxxxxx') from dual;
TO_NUMBER('12000000','XXXXXXXX
------------------------------
301989888

请使用浏览器的分享功能分享到微信等