Erp100论坛's Archiver

xiangzhao 发表于 2008-8-11 10:28

How to Relocate the SGA 大于2G

PURPOSE:   
  This note describes how to relocate the SGA on the Solaris operating   
system (SPARC) in a 32-bit environment.  This note only applies to 32bit   
architecture.  SGA can be >; 4GB in 64bit.   
SCOPE & APPLICATION:  
  This applies to 32-bit database versions 7.x through 9.x on the  
  Solaris operating system (SPARC).   
  The Solutions described below are:  
      A. For RDBMS version 9.x - How to Change your Attach Address  
      B. For RDBMS version 8.1.x - How to Change your Attach Address  
      C. For RDBMS version 8.0.x - How to Change Your Attach Address  
      D. For RDBMS version 7.3.2.x - How to Change Your Attach Address  
      E. For RDBMS versions 7.3.3 or 7.3.4 - How to Change Your Attach Address  
      F. For RDBMS version 7.2.3 or older - How to Change Your Attach Address   
  If you experience difficulties during the attempt to change the attach  
  address, simply restore the file backed up as part of the procedure, and  
  use it to relink.  You will then revert to your original attach address.   
SUN SOLARIS: How to Relocate the SGA:  
=====================================   
You need to configure the SGA to a value greater than 256 Mbytes on your   
Sun system. You are referring to the following sgabeg parameter chart:   
   sgabeg = 0xe0000000  |  256Mb   SGA  
   sgabeg = 0xd0000000  |  512Mb   SGA   
   sgabeg = 0xc0000000  |  768Mb   SGA   
   sgabeg = 0xb0000000  |    1Gb   SGA   
   sgabeg = 0xa0000000  | 1.25Gb   SGA   
   sgabeg = 0x90000000  |  1.5Gb   SGA   
   sgabeg = 0x80000000  | 1.75Gb   SGA   
   sgabeg = 0x77000000  |  just less than 2Gb SGA   
   sgabeg = 0x70000000  |    2Gb   SGA   
   sgabeg = 0x60000000  | 2.25Gb   SGA   
   sgabeg = 0x50000000  |  2.5Gb   SGA   
   sgabeg = 0x40000000  | 2.75Gb   SGA   
   sgabeg = 0x30000000  |    3Gb   SGA   
   sgabeg = 0x20000000  | 3.25Gb   SGA   
   sgabeg = 0x10000000  |  3.5Gb   SGA   
   sgabeg = 0x01000000  |  16Mb less than 3.75Gb SGA     
A. For RDBMS version 9.x - How to Change your Attach Address:  
===============================================================   
For RDBMS version 9.x, change your attach address by doing the following   
steps to relocate the SGA:   
1. Shutdown any databases using the current "ORACLE_HOME".   
2. Change your location to the "/lib" directory   
     % cd $ORACLE_HOME/lib   
3. Make a backup copy of 'libserver9.a'.   
     % cp libserver9.a libserver9.a.orig   
4. Change your location to the "rdbms/lib" directory      
     % cd $ORACLE_HOME/rdbms/lib   
5. Generate the "ksms.s" file      
     % $ORACLE_HOME/bin/genksms -b <new_location>; >; ksms.s      
   For example, changing the attached address starting at   
   0x80000000 to 0x60000000 would be:      
     % $ORACLE_HOME/bin/genksms -b 0x60000000 >;ksms.s     
6. Regenerate the 'ksms.o' object:   
     % make -f ins_rdbms.mk ksms.o   
7. Archive 'ksms.o' into 'libserver9.a'   
     %ar r $ORACLE_HOME/lib/libserver9.a ksms.o   
8. Relink      
     % make -f ins_rdbms.mk ioracle   
B. For RDBMS version 8.1.x - How to Change Your Attach Address:  
===============================================================   
For RDBMS version 8.1.X , change your attach address by doing the following   
steps to relocate the SGA:   
1. Shutdown any databases using the current "ORACLE_HOME".   
2. Change your location to the "/lib" directory   
     % cd $ORACLE_HOME/lib   
3. Make a backup copy of 'libserver8.a'.   
     % cp libserver8.a libserver8.a.orig   
4. Change your location to the "rdbms/lib" directory      
     % cd $ORACLE_HOME/rdbms/lib   
5. Generate the "ksms.s" file      
     % $ORACLE_HOME/bin/genksms -b <new_location>; >; ksms.s      
   For example, changing the attached address starting at   
   0x80000000 to 0x60000000 would be:      
     % $ORACLE_HOME/bin/genksms -b 0x60000000 >;ksms.s      
6. Regenerate the 'ksms.o' object:   
     % make -f ins_rdbms.mk ksms.o   
7. Archive 'ksms.o' into 'libserver8.a'   
     %ar r $ORACLE_HOME/lib/libserver8.a ksms.o   
8. Relink      
     % make -f ins_rdbms.mk ioracle   
Explanation:   
============     
Changing the 'sgabeg' in 'ksms.o' will allow you to increase SGA size and   
allocate the memory in a contiguous segment.     
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 5 to be the same as the old value less one     
       zero.      
       For example:         
           Old Value for Step 5:  0x80000000                  
           New Value for Step 5:  0x8000000  
C. For RDBMS version 8.0.x - How to Change Your Attach Address:  
===============================================================  
For RDBMS version 8.0.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      
     % $ORACLE_HOME/bin/genksms -b <new_location>; >;ksms.s   
   For example, changing the attached address starting at     
   0x80000000 to 0x60000000 would be:   
     % $ORACLE_HOME/bin/genksms -b 0x60000000 >;ksms.s   
4. Make a backup copy of the "ins_rdbms.mk" file     
     % cp ins_rdbms.mk ins_rdbms.mk.ksms     
5. Modify the "ins_rdbms.mk" file     
     Change:  ksms.s $(RDBMSLIB)ksms.s:  
              $(GENKSMS) >; ksms.s  
     
     To:      ksms.s $(RDBMSLIB)ksms.s:  
              $(GENKSMS) >; ksms.s.default_sgabeg  
6. Regenerate the 'ksms.o' object:      
     % make -f ins_rdbms.mk ksms.o   
7. 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   
NOTE: If the above process does not resolve the problem, you may have to apply  
      the fix for [BUG], fixed in 8.0.4.4.  
D. For RDBMS version 7.3.2.x - How to Change Your Attach Address:  
=================================================================  
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.o  
7. 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  
E. For RDBMS versions 7.3.3 or 7.3.4 - How to Change Your Attach Address:  
=========================================================================  
For RDBMS version 7.3.3 or newer, 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     
     % $ORACLE_HOME/bin/genksms -b <new_location>; >;ksms.s   
     For example, changing the attached address starting at   
     0x80000000 to 0x60000000 would be:  
     % $ORACLE_HOME/bin/genksms -b 0x60000000 >;ksms.s  
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. Make a backup copy of the "ins_rdbms.mk" file  
     % cp ins_rdbms.mk ins_rdbms.mk.ksms  
7. Regenerate the 'ksms.o' object:   
     % make -f ins_rdbms.mk ksms.o  
8. Modify the "ins_rdbms.mk" file  
     Change:  -rm -f ksms.s ksms.o  
     To:      -rm -f ksms.o  
9. 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  
F. For RDBMS version 7.2.3 or older - How to Change Your Attach Address:  
========================================================================  
For RDBMS version 7.2.3 or older, change the attach address by doing   
the following steps to relocate the SGA:  
1. Shutdown the database.   
2. Change 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. Edit the "oracle.mk" file by commenting out the following line:  
     FROM:  ksms.s: $(ORACLE_HOME)/bin/genksms   
                    $(ORACLE_HOME)/bin/genksms >; ksms.s  
     TO:    #ksms.s: $(ORACLE_HOME)/bin/genksms   
            #        $(ORACLE_HOME)/bin/genksms >; ksms.s  
5. Relink   
      % make -f oracle.mk ioracle  
6. Regenerate the 'ksms.o' object:   
      % make -f oracle.mk ksms.o  
NOTE:  If the above process does not resolve the problem, you may be   
       using an older version of the 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:  0x80000  
Search Words:  
ORA-27123 ORA-07307  ORA-7307  ORA-07308  ORA-7308  ORA-07310  ORA-7310 increase shared memory SPARC ksms attach address

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2007 Comsenz Inc.