Skip to Content

SAP Performance tuning with Oracle 11G in OS/ AIX



Summary:-

This document contains how to tune the parameters in SAP level as well in database level based on your hardware, SAP application and database configuration.

Author: Brindavan Mookaiah

Designation: SAP BASIS Consultant


Instruction

The information about the parameters which show here are after analysis from our system landscape. It might be different from your landscape. If you are facing any performance issue in your system then you should analysis first for past three months data like response  time, CPU utilization , database load , new z*program ,expensive SQL statement ,snote , might be if user access backend system from portal..etc…  . This document only shows how to analysis and do the tuning based on the hardware, SAP application and database. We have analyzed and found that nothing can be increased any hardware or update patches or any z*program created by ABAP developers (include any new variants on existing z*program) or any expansive SQL statement using like “join queries ,using selection screen more” are causing performance issue.  Here we have the system performed very well before and recently it causing performance issue due to the RAM has taken and shared to some other system, this caused performance issue in our system. But, system is not overloaded with any new SAP application changes, so we have to analysis and tune the parameters based on current RAM.

Information on eye

CPU utilization : If your CPU utilization is too high and not with SAP application and database then check with OS team to find the which process causing slow the system or might be increase the CPU resource

Database: If the system loaded with only database and not with CPU or RAM or SAP application then analyze the database and tune the parameters in database level .

SAP Application : If system slow due to the SAP application then tune the parameters like “abap/heap_area_total  , abap/heap_area_nondia , abap/heap_area_dia , EM/TOTAL_SIZE_MB” based on your hardware RAM or check the active BG job or Z* program ,expensive SQL statement  can be tune by ABAP pers .


Here we have the system performed very well before and recently it causing performance issue due to the RAM has taken and shared to some other system, this caused performance issue in our system.


SAP Appliaction : PPM system

OS                    : AIX

Database           : Oracle 11G


We have checked first about the CPU utlizaton at OS level using nmon on AIX operating system.


Login in to OS level with “SIDADM” and type command ” nmon”


PT.JPG


and the type “C”


PT1.JPG



To check the RAM type “M”


PT3.JPG

To check the top process the type “topas”


Capture1.JPG

Here we have found that the system is runnin very less free space of RAM.So we have increase the RAM or you have to find anyother way to tune the parameters to fix the perfomance issue.


Now check the SAP appliaction  and Database as well.


We have analyzed the below parameters which are assigned value in SAP and DB level.

Based on our analysis we found that the system heap memory is not used at all.  So, we are planning to take 2GB of memory (heap memory) and assign to DB.

We have some database buffer cache issue which physical read is too high not sufficient.

Also we are planning to tune the extend memory as well.



In SAP level you check the various parameters from t-code  ST02  and T-code DB02 for database analysis


Capture2.JPG


Please find the detail information to tune the parameters in SAP and DB level.



System

Server/LPAR

Instance

Month

Total Memory Available (GB)

Total Memory Used Max(GB)

Extended Memory Configured (GB)

Extended Memory Max. Used (GB)

Heap Memory Configured (GB) (DIA + non DIA

Heap Memory Max Used (GB)

ABAP Program Buffer Configured  (MB)

Minimum ABAP Program Buffer Free (MB)

Export/Import buffer (MB)

Exp/Imp SHM (MB)

CUA buffer (MB)

Screen buffer (MB)

VMC Shared Pool Memory Configured (MB)

VMC Shared Pool Memory Used (MB)

Other

system name

LPAR:

CI system name

10

9,8

18

2,6

7,4

0,00

976,5

225,3

4

4

2,9

4,1

Inactive

Inactive

DATABASE

System

Server/LPAR

Instance

Month

Total Memory Available (GB)

Total Memory Used Max(GB)

DB Cache Memory Configured (GB)

DB Buffer Quality (%)

Shared Pool Memory Configured(GB)

Shared Pool buffer  Quality

SGA (GB)

PGA(MB)

Other parameter

system name

LPAR:
Server:

sap database host

10

9,8

2,4

99,9

2,4

2,4

4,9

330


In SAP side we have

EM/TOTAL_SIZE_MB = 18432 MB

abap/heap_area_dia = 4000683008Bytes

abap/heap_area_nondia = 4000683008Bytes

abap/heap_area_total = 8000000000Bytes

We will  change the parameter like below

EM/TOTAL_SIZE_MB = 10240MB

abap/heap_area_dia = 3000683008Bytes

abap/heap_area_nondia = 3000683008Bytes

abap/heap_area_total = 6000000000Bytes

By this way we will release 2GB of memory (1GB from abap/heap_area_dia and 1GB from abap/heap_area_nondia), this 2GB will be shared to DB parameter as shown below.

In DB side we have,

Buffer Cache Size (DB_CACHE_SIZE): 2617245696Bytes

Shared Pool Size (shared_pool_size): 2617245696Bytes

Maximum SGA Size (sga_max_size): 5284823040Bytes

We will  add this additional 2GB  to the below parameters,

Buffer Cache Size (DB_CACHE_SIZE): 3171557120Bytes

Shared Pool Size (shared_pool_size): 2931818496Bytes

Maximum SGA Size (sga_max_size): 6284823040Bytes

The below information is explained  about the current database buffer and shared pool size in database level.

Current running Database buffer case size :-


Login into OS level with “oraSID” and excute the below SQL command

COLUMN size_for_estimate FORMAT 999,999,999,999 heading ‘Cache Size (MB)’

COLUMN buffers_for_estimate FORMAT 999,999,999 heading ‘Buffers’

COLUMN estd_physical_read_factor FORMAT 999.90 heading ‘Estd Phys|Read Factor’

COLUMN estd_physical_reads FORMAT 999,999,999 heading ‘Estd Phys| Reads’

column size_for_estimate       format 999,999,999,999

column buffers_for_estimate    format 999,999,999

column estd_physical_read_factor format 999.90

column estd_physical_reads       format 999,999,999

SELECT size_for_estimate, buffers_for_estimate

     , estd_physical_read_factor, estd_physical_reads

  FROM V$DB_CACHE_ADVICE

WHERE name          = ‘DEFAULT’

   AND block_size    = (SELECT value FROM V$PARAMETER

                         WHERE name = ‘db_block_size’)

   AND advice_status = ‘ON’;


The following output shows that if the cache was 2,160 MB, rather than the current size of 2,400 MB, the estimated number of physical reads would increase by a factor of 1.05.This means it would not be advisable to decrease the cache size

However, increasing the cache size 3024  would potentially decrease reads by a factor of  5%

———————————————————————————————————————————————————————————————————————

                                Estd Phys    Estd Phys

Cache Size (MB)      Buffers Read Factor        Reads

—————- ———— ———– ————

             240       29,565        4.97  132,153,593      –>   10 % of current szie

             480       59,130        3.15   83,773,834

             720       88,695        2.24   59,611,205

             960      118,260        1.74   46,099,883

           1,200      147,825        1.45   38,412,908

           1,440      177,390        1.28   33,925,209

           1,680      206,955        1.17   31,088,982

           1,920      236,520        1.10   29,228,940

           2,160      266,085        1.05   27,878,798    

           2,400      295,650        1.01   26,880,033     –>  Current size

                               Estd Phys    Estd Phys

Cache Size (MB)      Buffers Read Factor        Reads

—————- ———— ———– ————

           2,496      307,476        1.00   26,568,531

           2,640      325,215         .98   26,150,487

           2,880      354,780         .96   25,506,595

           3,120      384,345         .94   25,026,134

           3,360      413,910         .93   24,608,745

           3,600      443,475         .91   24,254,741

           3,840      473,040         .90   23,938,076

           4,080      502,605         .89   23,696,871

           4,320      532,170         .88   23,504,570

           4,560      561,735         .88   23,336,835       –>  200% Current size

                                Estd Phys    Estd Phys

Cache Size (MB)      Buffers Read Factor        Reads

—————- ———— ———– ————

           4,800      591,300         .87   23,175,753

———————————————————————————————————————————————————————————————————————–

Checked the share pool size with following SQL Command

SELECT POOL,NAME, ROUND(BYTES/(1024*1024),2) FREE_MB FROM V$SGASTAT WHERE POOL=’shared pool’AND NAME=’free memory’ORDER BY BYTES DESC;

Shared pool size :-

Current size       : 2496 MB

Free space size : 363 MB

Capture3.JPG

You find the total SGA memory alloacted as well with following Command

select component,current_size from v$SGA_DYNAMIC_COMPONENTS;

Capture4.JPG

We have only 363 MB free space left . So , we are planning to increase 2796 MB.  We have done  SGA monitoring & PGA also , In SGA montoring we have found there is no memory available.

we have checked in SAP level using T-code DB02.

Capture5.JPG

And check the startup overhead in Shared Pool of  Database is 19321563Bytes as well.

Capture6.JPG

By increasing the above DB parameters we can reduce the overhead.

By this way the  system will be bit faster than perivous.

Note: Before changing any parmeters do the complete anaysis from hardware side,database side and SAP side .There are so many parameters in SAP side to tune, before doing any parameters changes in SAP side raise OSS message to SAP and get their suggestion & recommendation from them.









To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. Andy Silvey

    Hi Brindavan,

    nice document, this OSS Note would be a useful addition:

         1431798 – Oracle 11.2.0 Database Parameter Settings

    Kind regards,

    Andy.

    (0) 
  2. Symon Braunbaer

    Hello,

    and what about some real oracle tuning doc ? Like explanations on table partitioning, indexes, etc. For instance, we are currently having problems with the COEP table…

    (0) 

Leave a Reply