Home » Infrastructure » Linux » How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit (Oracle 11g Release 1, Linux RHEL 5.4 32 Bit)
How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593634] Mon, 19 August 2013 08:11 Go to next message
praveenpraj
Messages: 21
Registered: October 2011
Location: India
Junior Member
How to increase Oracle SGA more than 4GB on RHEL 5.4 SMP Kernel 32 bit ?

Situation :-
Oracle 11.1 release
RHEL 5.4 32 bit
Linux - 2.6.18-164.6.1.el5PAE #1 SMP Tue Nov 3 16:55:59 EST 2009 i686 i686 i386 GNU/Linux
RAM - 16 GB
Current ORACLE SGA - 4GB

After lot of research in google, I learned that above mentioned Kernel doesn't have Hugemem.
And it says still it can support up to 16GB in good performance using its PAE.
Most of the blogs and even oracle sites describing for VLM using Hugemem only.

Please let me know the steps to increase SGA using this Kernel.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593635 is a reply to message #593634] Mon, 19 August 2013 08:15 Go to previous messageGo to next message
Michel Cadot
Messages: 68625
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator
As far as I know, you can't.

Regards
Michel
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593636 is a reply to message #593634] Mon, 19 August 2013 08:40 Go to previous messageGo to next message
John Watson
Messages: 8922
Registered: January 2010
Location: Global Village
Senior Member
Are sure you need to do anything special at all? I thought that the PAE kernel would show all the memory automatically, and make it available to Oracle. It is a long time since I had to do it, so I may be wrong.

Can your Linux see all the RAM? What do you get from
free -m
I remember it was horribly complicated with the older kernels.

--
John Watson
Oracle Certified Master DBA
http://skillbuilders.com

Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593637 is a reply to message #593636] Mon, 19 August 2013 08:53 Go to previous messageGo to next message
ThomasG
Messages: 3211
Registered: April 2005
Location: Heilbronn, Germany
Senior Member
The thing with PAE is that it does a "translation" of a 4GB Block that an application sees into the bigger memory space that the OS sees. But each running application on the other hand can still only address 4GB.

So one running Oracle server can only address 4GB in a 32 bit OS. You *could* of course run multiple Oracle server processes that each see 4GB, but of course they can't serve the same database. (What I rally can't understand is why someone installs a 32bit OS on a machine with 16GB of RAM.)

[Updated on: Mon, 19 August 2013 08:53]

Report message to a moderator

Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593639 is a reply to message #593637] Mon, 19 August 2013 09:04 Go to previous messageGo to next message
John Watson
Messages: 8922
Registered: January 2010
Location: Global Village
Senior Member
Are you sure, Thomas? Note 748637.1 says it can be done with indirect data buffers. Which I think is how I used to do it, on Windows though, not Linux.
It is all bit ancient history.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #593833 is a reply to message #593639] Wed, 21 August 2013 05:32 Go to previous messageGo to next message
ThomasG
Messages: 3211
Registered: April 2005
Location: Heilbronn, Germany
Senior Member
Well, I have to book that under "Something new I learned from Orafaq".

When I read that correctly, the access is then done via some sort of RAM mounted to a block device.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594473 is a reply to message #593833] Wed, 28 August 2013 23:43 Go to previous messageGo to next message
praveenpraj
Messages: 21
Registered: October 2011
Location: India
Junior Member
free -m
             total       used       free     shared    buffers     cached
Mem:         16243      15517        725          0         88      14659
-/+ buffers/cache:        769      15473
Swap:         1983        155       1828


I tried to increase shmmax. Its not increasing.
# cat /proc/sys/kernel/shmmax
4294967295
# echo 8589934591 > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
4294967295

Seems 4GB is the limit for 32 bit Linux.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594481 is a reply to message #594473] Thu, 29 August 2013 01:57 Go to previous messageGo to next message
John Watson
Messages: 8922
Registered: January 2010
Location: Global Village
Senior Member
shmmax is limited to 4G - 1 on 32bit system, nd is the maximum size of a shared memory segment. An SGA can consist of many shared memory segments.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594647 is a reply to message #594481] Sat, 31 August 2013 23:40 Go to previous messageGo to next message
praveenpraj
Messages: 21
Registered: October 2011
Location: India
Junior Member
Since I have 16GB RAM, thought of giving 8GB to database data cache.
Modified the initSID.ora as follows
proddb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
*.audit_file_dest='/u01/app/oracle/admin/proddb/adump'
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/proddb/control01.ctl','/u01/app/oracle/oradata/proddb/control02.ctl','/u01/app/oracle/oradata/proddb/control03.ctl'
*.memory_max_target=0
*.memory_target=0
*.sga_max_size=0
*.sga_target=0
*.db_block_size=8192
*.db_block_buffers=1048576
*.shared_pool_size=1800M
*.large_pool_size=64M
*.db_domain='erp.lan'
*.db_name='proddb'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=proddbXDB)'
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNTOTBS1'
*.use_indirect_data_buffers=TRUE


While Starting up the database with this pfile, getting below error
SQL > startup pfile=/u01/app/oracle/product/11.1.0/db_1/dbs/initproddb.ora
ORA-00824: cannot set SGA_TARGET or MEMORY_TARGET due to existing internal settings, see alert log for more information
ORA-01078: failure in processing system parameters


Any help on this. ?

Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594650 is a reply to message #594647] Sun, 01 September 2013 00:10 Go to previous messageGo to next message
BlackSwan
Messages: 26766
Registered: January 2009
Location: SoCal
Senior Member
00824, 00000, "cannot set SGA_TARGET or MEMORY_TARGET due to existing internal settings"
// *Cause: Could not set SGA_TARGET or MEMORY_TARGET due to current parameter settings.
// *Action: Check the other error messages for additional information.

Ready, FIRE, Aim.
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594701 is a reply to message #594650] Mon, 02 September 2013 00:41 Go to previous messageGo to next message
praveenpraj
Messages: 21
Registered: October 2011
Location: India
Junior Member
Friends, decided to go for VLM using following link
http://akatoracle.blogspot.ae/2008/05/increase-sga-2gb-in-linux-32-bit-os.html

[root@sunmarine ~]# mount |grep shm
ramfs on /dev/shm type ramfs (rw)
[root@sunmarine ~]# ls -ld /dev/shm
drwxr-xr-x 2 oracle oinstall 0 Sep  2 01:50 /dev/shm
[root@sunmarine ~]# cat /proc/meminfo | grep Huge
HugePages_Total:  6144
HugePages_Free:   6144
HugePages_Rsvd:      0
Hugepagesize:     2048 kB
[root@sunmarine ~]#


Modified pfile as below
*.audit_file_dest='/u01/app/oracle/admin/proddb/adump'
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_files='/u01/app/oracle/oradata/proddb/control01.ctl','/u01/app/oracle/oradata/proddb/control02.ctl','/u01/app/oracle/oradata/proddb/control03.ctl'
*.db_block_size=8192
*.db_block_buffers=1048576
*.shared_pool_size=1800M
*.large_pool_size=64M
*.pga_aggregate_target=2000M
*.db_domain='erp.lan'
*.db_name='proddb'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=proddbXDB)'
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNTOTBS1'
*.use_indirect_data_buffers=TRUE


Again on another error
SQL> startup pfile=/u01/app/oracle/product/11.1.0/db_1/dbs/initproddb.ora
ORA-27102: out of memory
Linux Error: 22: Invalid argument


Fed-up. hope I need to switch to 64 bit LINUX
Re: How to increase Oracle SGA more than 4GB on RHEL 5.4 32 bit [message #594782 is a reply to message #594701] Mon, 02 September 2013 23:51 Go to previous message
praveenpraj
Messages: 21
Registered: October 2011
Location: India
Junior Member
Is it possible to configure Hugepages without ramfs ?
Some sites are suggesting that.
Previous Topic: Maximum concurrent session per day
Next Topic: installing a new vmware workstation besides existing workstation 7
Goto Forum:
  


Current Time: Thu Mar 28 12:05:49 CDT 2024