Solved

SGA Sizing

Posted on 1998-12-16
2
1,552 Views
Last Modified: 2012-08-14
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.



 


0
Comment
Question by:luev
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 3

Accepted Solution

by:
poncejua earned 100 total points
ID: 1083141
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
0
 
LVL 3

Expert Comment

by:poncejua
ID: 1083142
I forgot to mention that you have a problem seting your shmmax parameter but if you follow the steps below indicated you'll solve your ORA-07307 and ORA-07310 errors.

My scenario is the following:

PeopleSoft 7.0 - Oracle 7.3.4.1.0 - HP-UX V.10.20 - 2 Gb. RAM
SGA 400Mb - 4 Processors - 20 Gb. Database

If you have any other questions please feel free to contact me directly to my e-mail address: jmponcemartinez@hotmail.com.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question