Solved

SGA Sizing

Posted on 1998-12-16
2
1,565 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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

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

Cursors in Oracle: A cursor is used to process individual rows returned by database system for a query. In oracle every SQL statement executed by the oracle server has a private area. This area contains information about the SQL statement and the…
Shell script to create broker configuration file using current broker Configuration, solely for purpose of backup on Linux. Script may need to be modified depending on OS-installation. Please deploy and verify the script in a test environment.
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This video explains what a user managed backup is and shows how to take one, providing a couple of simple example scripts.
Suggested Courses

617 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