Question : SGA Sizing

CONFIGURATION:
Solaris 2.51, PeopleSoft Financial 6.1, Oracle 7.3.2.2.1
RAM: 2.5GB, Processors 4, Max SGA size 256MB, DB_SIZE 30GB

QUESTIONS:
1. What is the proper way to size SGA or is SGA size 750MB be normal?  
2. What is the MOST proper way to Relocating the SGA to avoid the error:      
   ORA-07307: sms1sg: shmat error, unable to attach sga.
   SVR4 Error: 22: Invalid argument
   Additional information: 1

Problem Notes:
Does sizing SGA depends on your v$sgastat free-memory?  Since the free memory always full every late morning, I've tried to set it to be greater than 256MB, but I was not able to increase beyond 256MB. Error when SGA increase beyond 256MB as follows: ORA-07310: smscre: unable to create sga.
Additional information: 8"

I then edit the kernel file "/etc/sytstem" parameter "shminfo_shmmax" from 256MB to 750MB and re-booted the system and set the SGA to 750MB, then I ran into another error as follows:
ORA-07307: sms1sg: shmat error, unable to attach sga.
SVR4 Error: 22: Invalid argument
Additional information: 1

This problem "SGA exceeds maximum size of a share memory segment" leads to the 2nd question.



 


Answer : SGA Sizing

At present we are using PeopleSoft Financials 7.0 (GL/AP/PO/IN) with oracle 7.3.4.1.0 - HP-UX 10.20.

I think that 750 MB of SGA is too much.

For RDBMS version 7.3.2.x, change your attach address by doing the  following steps to relocate the SGA:  
1. Shutdown the database.  
2. Change your location to the "rdbms/lib" directory  
      % cd $ORACLE_HOME/rdbms/lib  
3. Modify the "ksms.s" file      
Change this line:              sgabeg = 0xe0000000    
To the new value:              sgabeg = 0x80000000        
NOTE: This example moves the attached address from
         "0xe0000000" to "0x80000000".  
4. Make a backup copy of the "env_rdbms.mk" file    
      % cp env_rdbms.mk env_rdbms.mk.ksms  
5. Modify the "env_rdbms.mk" file  
   Change:  $(ORACLE_HOME)/bin/genksms > $(KSMSS)  
   To:      $(ORACLE_HOME)/bin/genksms > $(KSMSS).sga  
6. Regenerate the 'ksms.o' object:                        
      % make -f ins_rdbms.mk ksms.o7. Relink  
      % make -f ins_rdbms.mk ioracle  
NOTE:  If the above process does not resolve the problem, you may be using an older version of the Sun Solaris architecture (Sun4c) .  
If this is the case, repeat all the steps shown above and change
the value for Step 3 to be the same as the old value less one  
zero.        
For example:    
           Old Value for Step 3:  0x80000000            
           New Value for Step 3:  0x8000000
Random Solutions  
 
programming4us programming4us