02 Basic Technical Architecture

95
1 Basic Technical Architecture

Transcript of 02 Basic Technical Architecture

Page 1: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 1/95

1

Basic Technical

Architecture

Page 2: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 2/95

2

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 2

Topics

General remarks

Configuration of SAP instance Memory Configuration of the Web Application Server (ST02)

Important SAP Buffers and Settings

ICM and ICF: Conf iguration of WebServices

Load Balancing

Operation System and Hardware

Database

DB – All platforms

DB Oracle Basics of Memory Management

CBO Statistics

Tablespace Management

 Analysis Roadmaps

Page 3: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 3/95

3

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 3

CPU time

PresentationServer 

Rollin

Loadtime

Processing timeWaittime

Database time

Response time

 Appl ication Server Database Server 

     N    e     t    w    o    r      k

     N    e     t    w    o    r      k

     N    e     t    w    o    r      k

     N    e     t    w    o    r      k

Response Time Components

 Average response time in SAP BW is larger than in SAP R/3!

Response time in milliseconds: Starts when a user request enters thedispatcher queue; ends when the next screen is returned to the user. Theresponse time does not include the time to transfer from the screen to the frontend.

Wait time in milliseconds: This is the time a user request sits in the dispatcherqueue. It starts when user request is entered in the dispatcher queue; andends when the request starts being processed.

Roll-in time in milliseconds: The amount of time needed to roll user context

information into the work process.

Load time in milliseconds: The time needed to load from the database andgenerate objects like ABAP source code, CUA, and screen information.

Processing time: This is equivalent to response time minus the sum of waittime, database request time, load time, roll time, and enqueue time.

Database request time: Starts when a database request is put through to thedatabase interface; ends when the database interface has delivered the result.

CPU time in milliseconds: This is the CPU time used by the R/3 work process

Page 4: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 4/95

4

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 4

 Al lusers

affected?

Programanalysis

No

Yes

(Cont.)

Performanceproblem?

Check:

Workloadon all servers

Problem symptoms:

(Average)

Classic Analysis Roadmap I

Large load time

Processing timemuch larger than

CPU time

Large databaserequest times

Large CPU times

Large roll time

If a problem is detected, the data in the Workload Monitor (TransactionST03N) can be used as follows to identify the area of the system where theproblem is located.

First check for general performance problems affecting all transactions. Goodgeneral performance is normally indicated by:

Wait time <10% response time

Main menu (choose Transaction Profile) <100 ms

In the Workload Monitor, the following values normally indicate goodperformance:

Average roll-in time <20 ms

Average roll out time <20 ms

Average load (and generation) time <10 % of response time (<50 ms)

Average database request time depending on the process

Average CPU time depending on the process

Average CPU time Not much less than processing time

Page 5: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 5/95

5

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 5

SAP buffer too smallLarge load time

CPU bottlenecks, network problems,

communication problems

Processing timemuch larger than

CPU time

CPU/memory bot tleneck on database server, network

problems, expensive SQL statements, database locks,

missing indexes, missing statistics

Large databaserequest times

(Average)Large CPU times Expensive ABAP processing, for example, processing

large tables, frequent accessing of SAP buffers

Problems with SAP memory management,CPU bottleneck

Large roll t ime

Classic Analysis Roadmap II

Page 6: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 6/95

6

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 6

Topics

General remarks

Configuration of SAP instance Memory Configuration of the Web Application Server (ST02)

Important SAP Buffers and Settings

ICM and ICF: Conf iguration of WebServices

Load Balancing

Operation System and Hardware

Database

DB – All platforms

DB Oracle Basics of Memory Management

CBO Statistics

Tablespace Management

 Analysis Roadmaps

Page 7: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 7/95

7

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 7

Server 

Virtual memory

Shared memory Local memory

Workprocess

Workprocess

Workprocess

...

Localmemory

Localmemory

Localmemory

...

Heap memory(temporary)

1 : n1 : 1

Extended

memory (user 

contexts)

SAP buffers

(programs,

tables)

SAP Paging

buffer 

Roll buffer 

SAP roll fileSAP roll fil eSAP paging fileSAP paging f ile

Web Application Server: Memory Configuration

Virtual memory

Virtual memory =sum of shared and local memory which is configured for the instance

 The operating system determines itself, if the allocated memory area resides in the physical memory orin the operating system swap space.

Memory areas

SAP memory areas are located in one or more of the following:

Local memory

Shared memory

File system

Local memory: is associated with individual work processes.Is for: Executables, data stack, buffer for datadabes transfer, local roll area, local paging area

Extendend Memory (EM)

Contains user context – that is, user objects associated with individual users, such as variables, listsand internal tables

Most important area for processing data. Swapping should never happen!!.With swapping the performance goes absolutely down.

Recommendation: Max use of EM <80 % of EM ‚in memory‘

SAP buffer:

Contain global objects for all users and workprocesses such as programs and customizing tables

Usually the program buffer is the largest object (less swapping allowed)

Page 8: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 8/95

8

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 8

Web Application Server: Work processes (1)

Not more than 60-100 workprocesses (64-bit operating system)should be conf igured for one SAP instance(due to administration overload on dispatcher and semaphore locksituations)

Typical configuration of work process types (SM50):

Restrictions

Example:

Old settings in your system New settings in your system(recommended)

rdisp/wp_no_dia =10 => 16

rdisp/wp_no_btc =15 => 8

rdisp/wp_no_vb = 4 => 1

rdisp/wp_no_vb2 = 2 => 0

rdisp/wp_no_enq = 1

rdisp/wp_no_spo = 1 BW doesn‘tneedany wp_no_vb2 at all and it is enoughto have onlyone wp_no_vb.

Provideenoughwork processes (wp_no_dia) if youwantto load Data in paralell fromODSLayer in theCubes.

Sometimes it is useful to configure operationmode ‚load‘ with more than8-10 BTC processesand operationmode ‚reporting‘ with just a fewBTC processes (e.g. 4).

 Theoretically: there is no restriction to 100 for the numberof workprocesses per instance, butdue to adminstrative overhead, it makes no sense to configure more than100 WP/Instance(see note: 9942).In BW additionallysemaphore lock waitsituations canoccur, if more than 60 workprocessesare configured.

If a workprocess is blockinga ressource, he sets a semaphore. Anotherworkprocess whichwants to access this ressource too has to wait.

Page 9: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 9/95

9

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 9

Web Application Server: Work processes (2)

For data staging and reporting mainly DIA workprocesses are used!

UPD and UP2 are not (!) used for updating and inserting data targets

BTC-Workprocesses are mainly used for deletion of data,aggregation and compression of requests

It is not possible (yet) to use spool work-processesfor print ing query results

Distribution of workprocess types:

Page 10: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 10/95

10

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 10

ST02: Buffer overview

‚Max. Use‘ of extended memoryshould be alwayssmaller than ‚In

memory‘!!!

 The status of the buffers can be checked using transaction ST02.

 Table buffers are used to implement a caching mechanism for data read from the database. The caching mechanismhas to be enabled for individual tables.

In general, there should be no swaps on any of the buffers, except for the program buffer, for which even very largebuffers swaps will occur. Swaps for nametab buffers, CUA, screen, and calendar buffers should always be avoidedby increasing the size of the buffer, or the number of directory entries (whichever caused the swaps).

If the generic key or single record buffers are swapping due to a lag of directory entries the number of entries shouldbe increased or you can check whether some generically-buffered tables have generic regions that are too small.

If the generic key or single record buffers are swapping due to a bottleneck in available memory, check whetherenough shared memory is available to increase the buffer size or whether buffering should be disallowed for sometables that are consuming too much space inside the buffer.

For the export/import buffer, a few swaps can be tolerated if otherwise the buffer would increase to more than 100MB.

In contrast to the export/import buffer, the export/import SHM buffer has no inherent replacement.

Whenever a select is done for a table with caching enabled, the data is first looked for in the buffer and only when itis not there, it is read from the database.

 The first access to a table puts the information of this table into the buffer.

 The number of invalidations and the size of the buffer representcosts associated with buffering. The number of database accesses gives a feeling for the savings.

 The buffer settings and the access pattern for the larger tables in the buffer have to be checked carefully, especiallyin the case of memory problems in the generic key buffer.

Are there any invalidations for the large tables? (Invalidations are more expensive if a larger buffer area isinvalidated. As invalidations are very expensive in general, it is also a good idea to sort the display by number of invalidations and see what is causing them).

 To check the number of directory entries used per table, double-click a table and look at Generic Regions.

If problems are identified here that cannot be fixed by changing the parameters of the buffer, check the technicalsettings for the tables and/or the statements accessing the table.

In addition to the information that can be obtained from transaction ST02, you can use the RSDBBUFF report tocheck the buffers.

Page 11: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 11/95

11

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 11

ST02: detailed analysis: storage

Size results from configuredSAP buffers

Size results f rom# of workp rocesses x process

local storage

Total size for SAP instancewhich will be allocated after 

startup of SAP instance

 The size of virtual memory allocated is the amount of memory, the SAPinstance allocates during the startup.

Page 12: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 12/95

12

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 12

Single record buffer 

Master data tables

/BI0/P <InfoObjectname>/BIC/P <InfoObjectname>

SID Tables/BI0/S <InfoObjectname>/BIC/S <InfoObjectname>

Text Tables/BI0/T<InfoObjectname>/BIC/T <InfoObjectname>

Metadata Tables

Buffered Objects

Size of buffer 

rtbb/buffer_length: 200000 kB

(Up to SAP Basis Release 4.6Dthe maximum size limit is 200 MBsee note 480710 for details)

Max. number of buffered tables

rtbb/max_tables: 500

Parameter 

 To access a table insingle record buffer, the statement must contain the ‚select single‘

commandin ABAP.

 The handling of the single record buffer incombination with BW SID tables is more expensivecompared to BW 2.x

For changing the buffering settings globally for BW tables see SAPNote550784.

Is espacially recommended for large tables in which onlya few records are accessed.

Since 6.10 the maximum size for table bufer and single record buffer is 4 GB.

Individual records of tables with single-record buffering are managed in the single-record tablebuffer TABLP.

 Technical Implementation and Buffer Access

 The single-record table buffer contains a central administrative structure,a table directory andthe data area. The data area is organized in frames of a fixed size (default value 4 KB).

 The table names are sorted alphabetically in the directory. The table entries are also storedsorted in the corresponding frames of the data area.

In a buffer access, a binary search is first used to find the entry in the table directory, followedby the corresponding frame and then the record searched for within the frame.

Frames can overflow in the data area if new data is inserted while adhering to the sortsequence. Such overflow frames have to be divided up and their administrative structure mustbe updated. This explains why the single-record table buffer is somewhat less efficient than thegeneric/full table buffer. In the single-record table buffer, the data records must be added oneafter the other while reorganizing the frame structure. In the generic/full buffer, however, all thedata of a table is transferred in one step, already sorted by the database.

Page 13: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 13/95

13

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 13

Generic key buffer 

Buffered Objects Parameter  

Tables can be buffered ful lor generic (only parts)

Metadata Tables

Customizing Tables

Size of buffer zcsa/table_buffer_area:200.000.000 Byte

Max. number of buffered objects

zcsa/db_max_buftab: 5000

Entries in a table buffer are always sorted by primary key

Generic buffering is recommended for the following tables

Client-dependent

Language-dependent (in general, only records of one language will be needed)

Full buffering is recommended for the following tables:

 Tables up to 30KB in size. If a table is accessed frequently, but all accesses are readaccesses, this value can be exceeded. Pay attention to the buffer utilization factor.

Larger tables where large numbers of records are frequently accessed.

 Tables where frequent attempts are made to access data not contained in the table.

Generic table areas or full tables are managed in the generic/full table buffer TABL. Theindividual generic areas are managed in the buffer like autonomous, fully buffered tables.

 Technical Implementation and Buffer Access

Like the single-record buffer, the generic/full table buffer has a central administration structure,a table directory and the data area.

 The main difference between the generic/full buffer and the single-record buffer lies in the dataarea administration. The generic/full buffer divides its storage into areas (extents) of variablelength. The length of an extent is a multiple of a fixed block size (256 bytes). The buffermanagement tries to place the contents of a generic table area or a whole table in an extent. This reduces the storage requirements for buffered data in comparison to single-recordbuffering.

 The table names are sorted alphabetically in the table directory. The data records aretransferred to the corresponding extent in one step, already sorted by the database. In a bufferaccess, there is first a binary search for the corresponding table name in the table directory. Then there is a binary search for the corresponding data record in the extent.

Page 14: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 14/95

14

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 14

Export/Import Buffer 

Buffered Objects Parameter  

Metadata of InfoCube

Query definition

Hierarchy definit ion

Intermediate results when usingMultiProvider in Parallel mode

Size of buffer rsdb/obj/buffersize: 100000 kB

Max. number of objects in thebuffer rsdb/obj/max_objects: 15000

Estimation for the size of thelargest objectrsdb/obj/large_object_size:8192 Byte

 The entries in the buffer can be read as follows:RSIX: used by the OLAP processor

500: client

RS: query definition of OLAP

 The next 25 digits are the GENUNIID of the query

 The last 5 digits (R5100) are interesting for development

Example 500RS3M68URSQE6LEVH7T6XSQ42Q2GR5100

 The Genuniid can be converted using the function moduleCONVERSION_EXIT_GENID_OUTPUT.

 The profile parameters 'large_object_size' determines which influence the larger objects in thebuffer have. The unit is Bytes. The size of this parameter determines the size of the freespacelist and has influence on the overall performance.

If a lot of objects are larger than 8 kBytes, this parameter should be adjusted.

Converning the maximum size of the buffer there is a limit of 32 GB.

See SAPNote 156957for details howto calculate the size of Exp/Imp Buffer

Page 15: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 15/95

15

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 15

Export/Import SHM Buffer 

Buffered Objects Parameter  

Query results for OLAP Cachewhich can be reused if aquery:

a) selects the same data(identical select)

b) filters data, which was selectedby another query before

c) aggregates data, which wasselected by another query

before

Sizersdb/esm/buffersize_kB: 4096 kB too small for BW installationsRecommended: 200-300 MB

Max. number of objects in thebuffer rsdb/esm/max_objects: 2000Recommended: 10.000

Estimation for the size of thelargest object

rsdb/esm/large_object_size:8192 Byte

With BW2.0B only local query cache was available. Objects, which werebuffered in local query cache are only available for the same user again.Usage of objects from local query cache is user-dependent.

With BW3.0B additionally to the local cache a global query cache is available.Objects in the global cache are available for each user. Usage of objects fromglobal cache is user-independent.

By default the Import/Export SHM Buffer is too small for BW, if the globalequery cache is used

For optimal query performance when using huge hierarchies(e.g. PSP (project structure plan) elements) rsdb/esm/buffersize_kb has toincreased by factor 10 – 20.

 The exp./imp. SHM buffer has no inherent replacemant.

Is used by the ABAP keyword „export to / import from shared memory“

Page 16: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 16/95

16

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 16

Profile maintenance RZ10

Directory: /usr/sap/<SID>/SYS/profile

DEFAULT.PFL overwrites the basic parameters stored in the coding

INSTANCE.PFL overwrites the basic parameters stored in the coding and in thedefault profile

Page 17: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 17/95

17

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 17

Web Application Server – Settings for BW

rdisp/max_wprun_time: Max workprocess run time

recommended: >3600 (or 0)

rdisp/rfc_min_wait_dia_wp: Number of waiting dialog work processes

recommended: 2

rdisp/gui_auto_logout: Maximum time of no input at the GUIrecommended: 3600 (or 0)

rdisp/keepalive: Timer for check unused connectionsrecommended: 3600 (or 0)

Further information:

SAP Note 192658 Setting basis parameters for BW Systems

Recommended sett ings for BW (RZ10):

Online queries allocate dialog workprocesses, webqueries additionally ICMthreads.

Default value for max_wprun_time are 600s. Usually too small for BW!

rdisp/keepalive: Specifies the maximum time (in seconds) after which thedispatcher uses a ping to check a SAP GUI connection on which no data hasbeen transferred since this time. If the SAP GUI does not respond within thetime specified by %%rdisp/keepalive_timeout%%, the dispatcher terminatesthe connection.

Page 18: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 18/95

18

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 18

New Basis: Web Application Server (Overview)

SAP Web AS

HTTP

Dispatcher

ICMan

WorkprocessWorkprocessWorkprocessWorkprocess

DB

HTTP(S)

 C  GI  

F i  l   eI   /   O

DIAG

HTTPs

i  nt  er n

 J  2 E E E n gi  n e

New with 6.20:HTTP(s) port +

necessaryinfrastructure

New terms:

ICMAN =Internet Communication Manager

ICF = Internet Communication Framework

In the past usually communication took place via SAP-specific DIAG port.Since WebAS 6.10 there is also a HTTP, HTTPS orSMTP port availaible

Full SAP Application Server (not just a gateway) with ABAP runtime,Database, DDIC, Security...

Runtime and Development Environment for page based Web programmingmodel (Business Server Pages)

HTTP Server and Client functionality

Native support for open protocols; HTTPS, SSL, SSO, Server and ClientCertificates (X.509)

XML/XSLT engine, “integrated”J 2EE Engine

Datatransfer betweenICMAN (threads) and SAP workprocesses with memorypipes (very fast!)

Page 19: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 19/95

19

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 19

ICF: ICM Admin and Monitoring

ICM status: runsTrace Level (0-3) 1Created threads: 10 / 10 50 (current / peak / maximum)Connections used: 10 / 10 50 (current / peak / maximum)Queue entries used: 10 / 10 50 (current / peak / maximum)

Tcode: SMICM and SICF

Command line monitor:icmon{.exe}

Profile Parameters

See Reference guide for details (icm/*)

Online Help

 Administrat ive Tools

ICMAN.EXE starts the ICM (usually automatically via startsap). There is justone process running on OS level, because of multi threaded architecture.

Similiar to disp+work.exe you have to patch periodically icman.exe in order tofix bugs and to get new functionality

SMICM

Similiar toWorkprocess monitor

Status information, traces, logfiles, services, ...threads

 Temporary configuration of additionalservices possible

SICF:

Activatation, modification or creation of services

Switch on httpcompression

Administration: profile parameters

icm/HTTP/server_cache<xx>/max_entries

icm/HTTP/server_cache<xx>/expiration

etc.

Page 20: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 20/95

20

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 20

ICF: Internet Communication Manager (ICM)

Overview:

External Process (icman{.exe}) contro lled by Dispatcher 

Multithreaded architecture with thread pool and dynamic number of threads

Managed from ICM Monitor : t ransaction SMICM

Protoco l independent due to dynamic p lugins (HTTP, HTTPS,SMTP, NNTP, …)

Plugins are delivered with SAP executables or downloadable

Platform independent

 Available on all R/3 platforms (NT, Unix, AS/400, etc)

Supports both server and client role

Uses memory based communication (Memory Pipes = MPI) toenable copy free data transport (I/O) to and from the workprocess.

Page 21: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 21/95

21

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 21

Services in SICF

 Activat ion:

 Activat ion of ICF-servicesafter the installationnecessary in order towork with the ICM (e.g for webreproting).

Due to securi ty aspectsonly activiation of reallynecessary services isrecommended.

 Af ter installation all ICFservices are inactive per 

default.

right

For Web Reportingonly activation of the subtree ‚BW‘ includingall subnodesis necessary.

Deactivationand activation during runtime of the SAP instance is possible.

Page 22: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 22/95

22

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 22

ICF: Services

 Attend toSAP Note

550669

Transaction SICF:

services define URLfor HTTP handlers

Default user settingsfor public sites

Default client,language

Definition of Aliases

Individual ICFServices for BSP andHTTPApplications

BW servicesdelivered as standard

After installation all services are inactive required services have to activatemanually.

Due to security aspects activate only really necessary services.

SAP kernel 6.20 Patchlevel: 251 http compression works for all plattforms( SAPNote 542576).

After applying http compression you have to invalidate the http server cache( SAPNote 550669).

SAP kernel 6.20 Patchlevel: 850 automatic session handling is improved( SAPNote 629124).

Page 23: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 23/95

23

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 23

ICF Services Definition

Ability to define defaultUser-id/password, client,

and Language

Ability to define userauthentification forexecution of the service

Internal SAP security userauthentication

Server group: selection for loadbalancing.SAP Authorization: Check for value inusers S_ICF authorizations and themessage type to sendSession timeout: timeout for usersession otherwise profile parameterrdisp/plugin_auto_logout is usedCompression: gzipcompression option

Service Data Handler List Error Pages

 Anonymous Logon DataLogon Data RequiredClientUser Password still initialLanguage

Service OptionsServer Group:SAP Authorization ErrorType 0Session Timeout 00:00:00 (HH:MM:SS)Compression (if possible)

Security RequirementsStandardSSLClient Certificate w. SSL

Basic AuthentificationStandard R/3 User Internet Users

Page 24: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 24/95

24

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 24

Load Balancing

Concepts

Provides the capability to distr ibute processing across several serversoptimally ut ilize the server resources that are available.

 Avoid inef ficient si tuations where one server is overloadedwhile other servers go underutilized.

The fol lowing processes can be balanced:

Logon load balancing: workload of query/administration users

Distribution of web users can be configured in SICF.

ODS Object Data Act ivation is definable for specif ic server groups

Process Chains can be processed on specified server groups

Extraction from the mySAP source system: RFC destination (SM59).

Data staging via XML over HTTP/SOAP can be processed onspecified server g roups.

For informationon load balancing for web applications, see SAPNote 493475(BW Web Intelligence andusing the message server) andSAPNote 561885(BW Web Intelligenceand SAP BW Web Dispatcher/Reverse).

Page 25: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 25/95

25

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 25

Static or dynamic load distribution

WORKLOADDISTRIBUTION

STATIC DYNAMIC

Start parallelprocesses manually

Start a report thatstarts processeswith fixed packages

using logon groups

using RFC server 

groups

Page 26: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 26/95

26

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 26

Static load distribution

T1

time

17 1819

75 86

1 42 3

109 1211

14 1613 15

WP 1

WP 2

WP 3

WP 4

WP 5

waiting active

T1 = Time until completion

Goal: Minimize T1 !!!

Page 27: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 27/95

27

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 27

Dynamic load distribution

T1(before)

14

17

10 18

9

75

19

1

8

6

4

2

3 12

16

time

13

11 15

T1(now)

WP 1

WP 2

WP 3

WP 4

WP 5

waiting active

Distribution of work packages

Balanced workload distr ibution

Page 28: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 28/95

28

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 28

Dynamic load distribution

Logon Server Groups RFC Server Groups

RZ12SMLG

both us ing asynchronous remote function calls (aRFC)

Page 29: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 29/95

29

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 29

Usage of Server Groups in BW

Logon of Users

Standard GUI

BEX Analyzer 

Web

Upload of data from SAP R/3 toBW

Schedule data load from BW toSAP R/3

 Activat ion of ODS Objects

Hierarchy- and AttributeChangerun

Process Chains

Logon Server Groups RFC Server Groups

Problem with Logon Server Groups in BW:

No rebalancing of users, once they are connected.

If the user doesn’t logoff by himself, this can lead to an overload of theapplication server.

Solution: Terminate the connection automatically by setting the profile parameterrdisp/gui_auto_logout.

Page 30: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 30/95

30

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 30

aRFC: Usage of RFC Server Groups

PROGRAM RS01....

CALL FUNCTION '...'

DESTINATION IN GROUP 'A’

STARTING NEW TASK ‘ABC’

SAP SystemSAP System

aRFCaRFC CallCall

Instance 1

Server Group AServer Group A

Instance 2 Instance 1

Server Group BServer Group B

Instance 2

Synchronous RFC Call:

 The calling program stops until the function module has been processedon thetarget serverandany results have been returned to the caller. Only then doesthe calling program continue processing.

Asynchronous RFC:

 The calling program runs parallel to and independentlyof function moduleprocessing in the target system. Programmers are responsible for theprocessing of the results. In addition, the target systemmustalso be availableatthe time of the RFC call.

 Transactional RFC:

Several function modules can be grouped into one transaction. They areprocessed only once in the targetsystem, withinan LUW, and in the sequencein which they were called. In the case of an error, a message is sent to thecalling systemthat you can analyze using transactionSM58. For transactionalRFC, the targetsystemdoes not have to be available atthe time of the RFCcall. In addition, you can configure the frequency and intervals of individualqueries.

Page 31: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 31/95

31

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 31

Resource Determination – Logon Server Groups

CALL FUNCTION ...DESTINATION IN GROUP ...

STARTING NEW TASK 'ABC'

Message Server 

Instance 1Instance 1 Instance 2Instance 2

UseUsequotas?quotas?

yesyesServer Group AServer Group A

Dispatcher Queue

WP 1

WP 3 WP 4

WP 2

WP 6

WP 5

Dispatcher Queue

WP 1

WP 3 WP 4

WP 2

WP 6

WP 51. at least 3 free dialog WPs

2. less than 10% ongoingrequests in the wait queue

NOT CONFIGURABLE ! !!

Configurable is the max amount of users and the response time

Page 32: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 32/95

32

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 32

Resource Determination – RFC Server Groups

1. dispatcher queue:rdisp/rfc_max_queue %

2. at least rdisp/rfc_max_ own_used_wp free dialogwork processes

3. at mostrdisp/rfc_max_login % of allowed logins

...

CALL FUNCTION ...DESTINATION IN GROUP ...

STARTING NEW TASK 'ABC'

Message Server 

Instance 1Instance 1 Instance 2Instance 2

UseUsequotas?quotas?

yesyesServer Group AServer Group A

Dispatcher Queue

WP 1

WP 3 WP 4

WP 2

WP 6

WP 5

Dispatcher Queue

WP 1

WP 3 WP 4

WP 2

WP 6

WP 5

rdisp/rfc_max_queue:Quota for dispatcher request queue

Quota for the maximum numberof requests in the dialog queue.If this value is exceeded, no further resources are returned to the caller,as the server should be protected from overload.

 The value is specified as a percentage, that is, it depends onthe current value set in theprofile.

 The totalnumberof requests in the queue is specified by the parameter%%rdisp/elem_per_queue%%.

rdisp/elem_per_queue: Number ofRequests per Work Process Queue

 This parameter determines the numberof requestswhich can be held in one queue (dialog, update, lock,background, spool) in the dispatcher.

A request requires less than200 bytes of storage.

Most requests require an additional data block, which is drawnfrom the pool of blocks provided in wp_ca_blk_no.

Servers that provide only dialog services (interactive users)require relatively few blocks. In servers that offer enqueue,batch, and update services, require more blocks.

In general, the default value is sufficient even for the higherdemands in non-dialog servers.

Page 33: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 33/95

33

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 33

Creation of RFC Server Groups

Determination of resources in RZ12 is available as from release 4.5A.

Settings are valid for a single instance, not for the whole server group.

Do not forget to save the settings.

 Assign more than one server to a server group.

Page 34: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 34/95

34

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 34

RFC Server Group Quotas (1)

absolutevalue

RZ12RZ12

definedper 

instance

valid untilshutdown

valid untilshutdown

percentagevalue

Activated:

Switch to activate or deactivate the resource determination0 Routine for resource destermination is deactivated1 Routine for resource determination is activated

Profile parameter : rdisp/rfc_use_quotasDefault value : 1

Page 35: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 35/95

35

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 35

RFC Server Group Quotas (2)

Page 36: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 36/95

36

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 36

RFC Server Group Quotas (3)

Referring to: dispatcher queue

Transaction SM51

rdisp/rfc_max_queue

Default value: 5 %

Page 37: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 37/95

37

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 37

RFC Server Group Quotas (4)

Referring to: user logons

Transaction SM04

rdisp/rfc_max_login

Default value: 90 %

Page 38: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 38/95

38

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 38

RFC Server Group Quotas (5)

Referring to: OWN user logons

Transaction SM04

rdisp/rfc_max_own_login

Default value: 25 %

Page 39: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 39/95

39

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 39

RFC Server Group Quotas (6)

Referring to: number of work processes

Transaction SM50

rdisp/rfc_max_own_used_wp

Default value: 75 %

Page 40: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 40/95

40

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 40

RFC Server Group Quotas (7)

Referring to: number of work processes

Transaction SM50

rdisp/rfc_min_wait_dia_wp

Default value: 1

Page 41: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 41/95

41

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 41

RFC Server Group Quotas (8)

Referring to: communication table

Transaction SM51

rdisp/rfc_max_comm_entries

Default value: 90 %

Additional hint: SAPNote 74141Resource Management for tRFC and aRFC Very detailedandtechnical description of the configurable profile parameters

Page 42: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 42/95

42

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 42

RFC & IDOCS: Tips and Tricks

538052 Maintenance of the myself-connection

524554 Maintenance of RFC-destinations in the BW-environment

415878 Dump because request no. is blank in "RSM1_INIT_PARTTAB"

527481 IDOC_INBOUND_ASYNCHRONOUS ;Transaction recorded in SM58;

Note describes settings necessary for tRFC and qRFC

673940 Duplicate transfer of data packages/lock message MC 601

415878 The TRFC queue should be controlled daily

81814 TRFC entr ies can be deleted by report RSARFCER

610938 Error 7 during transfer of an IDoc into BW

 Addidional SAPNotes

Further Tips and Tricks:

In the SM59 connectionof the source system to the BW system, the connection should be setso thatacancelled transmission is NOT started automatically again.

Hanging IDOCs (Status 64) =>SAPNote561880 and 555229

Error „No RFC destination maintainedin the source system“, but the destination is existing. =>In theRFC destination the language is missing.

ABAP runtime error CALL_FUNCTION_REMOTE_ERROR: The termination occurred in the ABAP/4program"SAPLRSAOS " in "METADATA_20_UPLOAD". The main programwas "RDDEXECU ".=>SM59 Check MYSELF-Destination , User without password? It’s also possible to delete the RFCdestination and to recreate it by executing the restore function.

 Transport of ODS-Objects: Errormessage: RSDODSO 102 „ODS ObjectZTST_ORD is not available forversion A“ Check the myself connection in the RFC destination

Check in SM59 works fine, but you have communication errors in SM21 during the data upload. Transaction SMGW (in SourceSystem) gives “timeout during allocate”:

Maybe the BW has too less DIALOG processes. For SM59-checking purpose, there are less dialogprocesses needed than duringa data load.

In the transactionSMQS in the SourceSystem the number of maximum connections for the destinationBW can be set to a value(for example to 10, that means that the SourceSystem tries to get10dialogprocesses in the BW).

SM58: Statustext column contains a text like“Transaction recorded”  To much gateway traffic !

Notes: 63483, 38682, 530997, 527481, 460235, 74141 andschedule reportRSARFCEX

periodically (Message 376965 / 2002). Make sure that the customer implements the actual qRFC-version and the actual supplement.

Page 43: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 43/95

43

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 43

Topics

General remarks

Configuration of SAP instance Memory Configuration of the Web Application Server (ST02)

Important SAP Buffers and Settings

ICM and ICF: Conf iguration of WebServices

Load Balancing

Operation System and Hardware

Database

DB – All platforms

DB Oracle Basics of Memory Management

CBO Statistics

Tablespace Management

 Analysis Roadmaps

Page 44: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 44/95

44

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 44

Operating system monitor: ST06

Total size of memory configuredfor SAP (from ST02) and for 

Database (ST04) must not exceedthe size of phys ical memory

available

Page 45: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 45/95

45

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 45

Compare CPU / IO values

00:00:00 %usr %sys %wio %idle01:00:00 0 0 0 9902:00:00 2 1 4 9402:20:00 6 2 26 6602:40:00 41 2 13 4403:00:00 32 3 24 4104:00:00 24 1 0 7405:00:00 16 3 69 1105:20:00 21 4 32 4305:40:00 8 2 28 6206:00:00 8 2 34 56

06:20:00 18 3 28 50What processes are runnning?

Is the degree of parallelism too high?

 Addi tional IO Contro ller necessary?

Try to find cr itical CPU and IO times

In this example:Operating System AIX

sar-command

Page 46: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 46/95

46

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 46

Disk Layout

Distributing the data accesses across several physical disks.

 Avoid I/O hot spots

Optimize the overall throughput to the disks.

Usually storage (sub-)systems are used to handle bigger transparentstorage units (and not one physical disks), e.g. RAID systems and RAIDarrays.

Purpose

Page 47: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 47/95

47

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 47

Topics

General remarks

Configuration of SAP instance Memory Configuration of the Web Application Server (ST02)

Important SAP Buffers and Settings

ICM and ICF: Conf iguration of WebServices

Load Balancing

Operation System and Hardware

Database

DB – All platforms

DB Oracle Basics of Memory Management

CBO Statistics

Tablespace Management

 Analysis Roadmaps

Page 48: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 48/95

48

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 48

Overview Database and System parameters

Database and system parameters define

sizes of DB memory, sizes of disk areas,

behavior of the DB optimizer,

logging,

processes etc.

These parameters must be in sync with the SAP recommendations wheninstalling the system. After the installations, some parameters can’t bechanged without high effort (e.g DB_BLOCK_SIZE).

Especially in scenarios with a high data volume these parameters canhave a great influence on the overall system performance!

 The number of dialogue processes should be by one higher than the otherprocesses (see SAPNote 74141: Resource management for tRFC and aRFCfor more details).

Note that a BW application server does not need an UP2 process and notmore than 2 UPD processes.

Check the following SAP notes for the respective underlying DB managementsystem:

SAPNote 192658: Setting basis parameters for BW systemsSAPNote 180605: Oracle database parameter settings for BWSAPNote 302429: DB2 UDB EEE: Performance on BW 2.0B, 2.1C, 3.0ASAPNote 546262: DB6: Performance on SAP BW 3.0BSAPNote 307077: AS/400: Performance optimizing in BW SystemsSAPNote 501572: iSeries: EVI stage 2 supportSAPNote 541508: iSeries: Checking the system parametersSAPNote 390016: DB2/390: BW: DB settings and performanceSAPNote 181945: Performance guide: BW on InformixSAPNote 327494: Configuration Parameters for SQL Server 2000SAPNote 28667: Microsoft SQL Server Specific Profile Parameters

Page 49: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 49/95

49

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 49

DB Statistics MS SQL: Manual statistic generation

Problem

Solution

In a default BW installation on MS SQLserver the neccessary push buttons areinvisible. You can make them visible by running the ABAP/4 report

RSDD_MSSQL_PROG_01

This report is sending an output telling if statistic maintenance is enabled or not.

MS SQL Server is automatically updating statisti cs if the database option " autocreate statistics" and "auto update statistics" are set.

Nevertheless, very small tables are not automaticly updated. This behaviour isintended by Microsoft and normally does not cause any problems. Indeed we havenever seen any performance problems on OLTP systems because of thisbehaviour, besides these joins in BW systems and BW based systems.

Statistics can be maintained using the admin workbench:Right mouse click at the infocube entry -> Manage -> Performance

SAPNote 542468

Page 50: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 50/95

50

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 50

Database monitor: ST04 (Oracle)

Total memory consumption

Sum of memory for DataBaseBuffers + Shared Pool Size

Don‘t forget the process localmemory sizes

Total memory consumpt ion (Oracle 8)

• Global settings

• Data buffer

+ Shared Pool Size

+ J ava Pool Size

• Process local settings in Oracle 8i

• hash_area_size

• sort_area_size

• bitmap_merge_area_size

• create_bitmap_area_size

• PGA Aggregate target in Oracle 9i

Page 51: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 51/95

51

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 51

DB02 Database monitoring: Tables and Indexes

Page 52: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 52/95

52

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 52

DB02 – Missing Indexes

run ABAP reports (SAPNote 157918): SAP_UPDATE_DBDIFF

SAP_INFOCUBE_INDEXES_REPAIR

Missing Indexes

• Transaction DB02 is frequently used by administrators to check for missingindexes: simply call transaction DB02 and press the button "Missing Indexes". Thiswill lead you to the screen shown in the lower left-hand corner of the slide. If manyfacttable primary or secondary indexes are missing then you might apply SAPNote157918: run the ABAP reports

• SAP_UPDATE_DBDIFF, and

• SAP_INFOCUBE_INDEXES_REPAIR

• and check DB02 again. Details of the reports are provided on the following slide.

Page 53: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 53/95

53

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 53

ABAP Reports (delivered by BW)

updates table DBDIFF

Facttables without primary index

temporary views

other temporary objects (see SAPNote 308533 for temp. obj.)

needs to be run only once

applies to all active infocubes and aggregates

Re-creates missing P-indexes re-creates missing secondary indexes

should be run as a batch job

SAP_UPDATE_DBDIFF

SAP_INFOCUBE_INDEXES_REPAIR

BW provides two ABAP reports that are relevant foSAPNote 157918.

SAP_UPDATE_DBDIFF

 This report updates the table DBDIFF which lists tables or tablespaces that do notcomply with ABAP dictionary standards. In the context of BW these are facttableswithouth primary index and temporary objects (tables, views, triggers, ...). Thisreport will make sure that facttables and temporary objects are properly listed inDBDIFF which – in turn – is used by DB02. DB02 will take differences into accountthat are listed in DBDIFF and thus avoid to list those differences as errors. Thereport has to be run only once in order to make up for differences that originate

from BW 1.2 or BW 2.0A and that remained when the system was updated to BW2.0B. All objects that are created in BW 2.0B or above should be tracked DBDIFFwhen they are activated.

SAP_INFOCUBE_INDEXES_REPAIR

 This report applies to all active infocubes and their aggregates. It removes existingprimary indexes – these might be left-overs from BW 1.2 – recreate missing P-indexes and recreate missing secondary indexes. This report can be used to repairinfocube indexes system-wide, i.e. without looking at each infocube individually.

 This is particularly interesting for administrators. The report should be run as a

batch job as it might run for a while.

Page 54: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 54/95

54

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 54

Temporary database objects in BW 3.x

The BW System uses temporary database objects.They are generated outs ide of the ABAP DDIC for performance reasonsor because they cannot be defined there.

 Al l these objects have names that start with /BI0/0...

/BI0/01... interim r esults during query processing/BI0/02... Interim results during processing ext. Hierarchies/BI0/03... Views for every SQL query/BI0/04... Stored Procedures while compressing InfoCubes

/BI0/05... Triggers while compressing InfoCubes/BI0/06... Reused interim results during query processing/BI0/0D... Materiali zed resul ts of OpenHub read processes

You can run report SAP_DROP_TMPTABLES to remove temporaryobjects.

Generated temporary objects

SAPNote 449891

 The BW System uses different temporary objects for the query and otherprocesses. The system often generates them outside of the ABAP DDIC forperformance reasons or because they cannot be defined there (as storedprocedures or triggers).

 The SAP_DROP_TMPTABLES report deletes all objects (except for thetempor ary hierarchy tables) without taking into account whether or not theyare still in use. This can result in terminations of queries, compression and

data extraction, for example, if these are running simultaneously.

If temporary objects prove to be inconsistent under DB02, you must execu tereport SAP_UPDATE_DBDIFF once. If you use the DB02 afterwards onceagain, you must make sure that the system refreshes the results. The reportcopies information on differences between definitions in the ABAP DDIC andin the DB catalog into table DBDIFF. DB02 includes the table during the checkfor inconsistencies.

Page 55: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 55/95

55

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 55

Oracle Data Dictionary Performance

Problem: Rule Based Optimizer used for Data Dictionary Access in 8.1.7 and 9.2.0

Statements accessing the Oracle Data Dictionary objects may cause longresponse times in BW systems. SAP BW depends on the partitioning concepts of Oracle to perform well. By using many partitions in the database access to certaindata dict ionary objects may become slow.

Examples of these dictionary objects are DBA_EXTENTS, DBA_SEGMENTS...

In Oracle versions 8.1.7 and 9.2 statements accessing the Oracle data dictionaryobjects are optimized with the Rule Based Opimizer (RBO).

Problem

Solution

Using the Cost Based Optimizer  can dramatically improve the accesses to DDIC

In an SAP BW installation all opt imization and execution techniques like HASHJOINS or BITMAP OPERATIONS are enabled by having the correct initializationparameters set in the in it<SID>.ora

Statistics have to created on data dict ionary tables and clus ters.

SAP Note 558746 The following script allows you to create the necessary optimizer statistics. The script must be run from sqlplus under the database user SYSDBA.his script should only be applied to a BW system and NEVER (!!!) to a R/3System:set timing onset echo onspool ana_dictexecute dbms_stats.gather_schema_stats ('SYS',cascade=>true,degree=>4);

analyze cluster C_OBJ #compute statistics ;analyze cluster C_USER#compute statistics ;analyze cluster C_FILE#_BLOCK#compute statistics ;analyze cluster C_TS#compute statistics ;analyze cluster C_COBJ #compute statistics ;analyze cluster C_MLOG#compute statistics ;analyze cluster C_RG#compute statistics ;analyze cluster C_OBJ #_INTCOL#compute statistics ;analyze cluster C_TOID_VERSION#compute statistics ;

Page 56: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 56/95

57

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 57

Optimizer Determination of Access Path

The optimizer determines the optimal access pathThe optimizer determines the optimal access path

Select * from /BIC/P...WHEREname=„Miller“AND pnum=„123456“

AND city=„HAMBURG“

Page 57: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 57/95

58

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 58

Traditionally CBO Statit ics are created with the ANALYZE TABLEcommand, but without histograms.

Histograms are generally required to select efficient executionplans in the context of BW queries for the Oracle optimizer.Incontrast to this, it is taking customers a very long time to calculateDB statist ics i f there is a very large data volume.

Oracle allows you to c reate database statist ics using the PL/SQLpackage DBMS_STATS.

 As of SP8 (BW3.0B) possib le. Report SAP_RSADMIN_MAINTAINwith the following parameters:

OBJECT = ORA_DBMS_STATS

VALUE = 0 (analyze), 1 (noparallel with histograms), >1(parallel w ithout histograms)

Create CBO statistics with DBMS_STATS package

Problem

Solution

See SAP Note 351163 for details to create CBO statistics with DBMS_STATS package.

As an alternative to the traditional ANALYZE TABLE command, Oracle allows you to create databasestatistics using the PL/SQL package DBMS_STATS.The advantages of this are improved performancesince DBMS_STATS can determine statistics in parallel -, however, with the restriction that the tablestatistics are created without histograms.

Histograms are generally required to select efficient execution plans in the context of BW queries for theOracle optimizer.In contrast to this, it is taking customers a very long time to calculate DB statistics if there is a very large data volume.DBMS_STATS may be an alternative here.

If a bottleneck arises in the statistics calculation, you should test the approach described here and thenmonitor the performance of BW queries afterwards.If you notice that the performance is impaired, youshould no longer use DBMS-STATS and return to the traditional ANALYZE TABLE method.

 The option of calculating Oracle statistics via DBMS_STATS is available as of BW 2.0B SupportPackage 8.In Oracle-based BW 3.x systems, DBMS_STATS is the standard method for calculatingOracle statistics (see below).

Isolated errors occur within DBMS_STATS (for example, ORA-20000, ORA-4021, ...). These errors willbe solved in future Oracle releases.In this case, you must convert the "ANALYZE TABLE method" again.

parallel degree =0: ANALYZE TABLE ... is used

parallel degree =1: DBMS_STATS is used;histograms are created (size =75) (default)

parallel degree >1: DBMS_STATS is used; parallel execution;no histograms

Don‘t mix creating CBO statistics with the ANALYZE command and the DBMS_STATS package. SeeSAP note 489352.

Histograms:

 The histogram captures the distribution of different values in a column, so it yields better selectivityestimates.

Having histograms on columns that contain skewed data(in other words, values with large variations in number of duplicates)greatly helps the CBO generate good selectivity estimates.

Page 58: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 58/95

59

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 59

CBO statist ics are created at certain times in BW. These processes canoccupy a cons iderable portion of the runtime, especially in the case of large scenarios.If, however, a rollup or changerun takes place during a night or weekend time window, in which very few queries or no queries at all arerunning, it may be useful to forgot the DB statistics at first and compi lethese at the end of the process.

 As of SP6 (BW3.0B) possib le. Report SAP_RSADMIN_MAINTAINwith the following parameters:

OBJECT = DB_STATISTICS

VALUE = OFF

Avoid creation of BW initiated CBO statistics

Problem

Solution

Page 59: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 59/95

60

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 60

Options to create CBO statistics with BRCONNECT - I

Usage of BRCONNECT (release 6.20 or higher) for gathering all DBstatis tics for BW tables. The proposed way to call BRCONNECT is

brconnect -u / -c -f stats -t all

If your BW system had been upgraded from a BW 2.x or BW 3.0A sys temthen you have to run the report SAP_DBSTATC_CLEANUP once. Thisreport will clean up the table DBSTATC which was used in the earlier releases to separate the tables that had to be analysed by SAPDBA fromthose that had to be analysed by the reportSAP_ANALYZE_ALL_INFOCUBES.

If DBSTATC is not cleaned up then BRCONNECT might no t gather allnecessary statistics!

Recommendation

See SAP Note 129252 for details.

Page 60: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 60/95

61

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 61

Options to create CBO statistics with BRCONNECT- II

Previously, many customers used the following two calls of BRCONNECTto gather statis tics in any of the BW releases prior to BW 3.0.

The first call deals wi th non-InfoCube related tables, the second one withInfoCube related tables, thereby discarding DBSTATC entries. While this isnot the officially recommended strategy we document those calls here:

brconnect -u / -c -f stats -t all -e info_cubes,all_part

brconnect -u / -c -f stats -t info_cubes,all_part -f allsel

RemarkRemark

brconnect -u / -c -f stats -t all -f monit

Create statistics and if there is no MONITORING attribut, it will be created.

Page 61: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 61/95

62

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 62

Check of DB Statistics with RSRV

Alternative you can check the statistics by analyzing the log of BRCONNECT(DB14).

Page 62: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 62/95

63

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 63

Memory Management: Tablespaces DB02

Locally managed tablespaces

With each SAP standard Installation on Basis 6.10 or higher all SAP tablespaces are locally managedexcept PSAPROLL and SYSTEM

only 6 tablespaces after installation

Page 63: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 63/95

64

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 64

Locally managed

Extent allocation

Tablespace manages its ownextents by maintaining abitmap in each datafile tokeep track of the free or used status of blocks in thatdatafile.

When an extent is allocatedor freed for reuse, Oracle

changes the bitmap valuesto show the new status of the blocks. These operationsdo not generate rollbackinformation.

Dictionary managed

Extent allocation

Oracle has to update theappropriate dictionary tables(FET$, UET$), whenever anextent is allocated or freedfor reuse and must s torerollback information abouteach update of theseobjects.

Locally managed Tablespaces vs. Dictionarymanaged Tablespaces (1)

Locally Managed TablespacesA tablespace that manages its own extents maintains a bitmap in each datafileto keep track of the free or used status of blocks in that datafile. Each bit in thebitmap corresponds to a block or a group of blocks. When an extent isallocated or freed for reuse, Oracle changes the bitmap values to show thenew status of the blocks. These changes do not generate rollback informationbecause they do not update tables in the data dictionary (exceptfor specialcases such as tablespace quota information).

Dictionary Managed TablespacesIf you created your database with an earlier version of Oracle, then you couldbe using dictionary managed tablespaces. For a tablespace that uses the datadictionary to manage its extents, Oracle updates the appropriate tables in thedata dictionary whenever an extent is allocated or freed for reuse. Oracle alsostores rollback information about each update of the dictionary tables.Because dictionary tables and rollback segments are part of the database, thespace that they occupy is subject to the same space management operationsas all other data.

Page 64: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 64/95

65

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 65

No recursive space management operations, i.e. consuming or releasing space in an extent results in other operations thatconsume or release space in data dictionary tables or rollbacksegments in the case using d ict ionary managed tablespaces

No need to coalesce free extents

Better performance

Locally managed Tablespaces vs. Dictionarymanaged Tablespaces (2)

 Advantage of local ly managed tablespaces

Locally managed tablespaces have the following advantages over dictionarymanaged tablespaces:

Local management of extents automatically tracks adjacent free space,eliminating the need to coalesce free extents.

Local management of extents avoids recursive space managementoperations. Such recursive operations can occur in dictionary managedtablespaces if consuming or releasing space in an extent results in anotheroperation that consumes or releases space in a data dictionary table or

rollback segment. The sizes of extents that are managed locally can bedetermined automatically by the system. Alternatively, all extents can have thesame size in a locally managed tablespace and override object storageoptions.

 The LOCAL clause of the CREATE TABLESPACE or CREATE TEMPORARY TABLESPACE statement is specified to create locally managed permanent ortemporary tablespaces, respectively.

Page 65: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 65/95

66

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 66

Strategy for creating and assigning Tablespaces

Create Tablespaces on database level for 

Larger InfoProvider 

 Aggregates of larger InfoCubes

PSA Tables

ODS Tables

Maintain tables (see SAPNote 46272) and transport the correspondingentries for DDART, DARTT from development to the productive system

 Assign data classes to the objects before acti vat ing them in thedevelopment system and transport the objects

The Tablespaces can differ between development and productive system(correlation between data class and table space is stored in tableDDART), but the assignment of data classes to the objects must not .

Page 66: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 66/95

67

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 67

Database Storage parameters

InfoCubes (fact tables and dimension tables):

 Admin WB > Modeling > InfoProvider > InfoCube change

> Extras Menu > Maintain DB Storage Parameters

 Aggregates of an InfoCube (fact tables and dimension tables):

 Admin WB > Modeling > InfoProvider > InfoCube change> Extras Menu > Maintain DB Storage Parameters

ODS object (delta queue and active data table):

 Admin WB > Modeling > InfoProvider > ODS object change> Extras Menu > Maintain DB Storage Parameters

PSA tables*

 Admin WB > Modeling > InfoSource > Transfer ru les change> Extras Menu > Maintain DB Storage Parameters

InfoObject (tables)

 Admin WB > Modeling > InfoObjects > InfoObject change> Extras Menu > Maintain DB Storage Parameters

Page 67: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 67/95

68

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 68

Tablespace PSAPSALES

e.g. Tablespace PSAPSALAGGR

InfoCube SALES01  Aggregates of IC SALES01

Technical settings

(Tablespace Assignment...)are derived from InfoCube

Own Tablespace for the aggregates of InfoCube SALES01 possible!

Tablespace PSAPSALES

DataClasses and size category for aggregates

Page 68: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 68/95

69

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 69

Oracle 9i – New features

 Automatic UNDO Management

PGA: Automatic Memory Management SGA: Dynamic Resizing

Multiple Block Size Support

Page 69: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 69/95

70

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 70

Oracle 9i - Automatic UNDO Management (1)

Look at SAPNote 600141 for detailed information

Simplifies management of undo information

No need to create, drop, alter rollback segments manually

UNDO segments can be managed either manual or automatic

Data is managed by a single UNDO-tablespace (PSAPUNDO)

 Automat ic UNDO Management

Page 70: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 70/95

71

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 71

Oracle 9i - Automatic UNDO Management (2)

initSID.ora parameters to setup AUM

UNDO_MANAGEMENTSwitches automatic UNDO management on /off 

UNDO_TABLESPACEDefines which automatic UNDO tablespace is used (SAP PSAPUNDO)

UNDO_SUPPRESS_ERRORSSupresses errors if invalid UNDO command is issued

UNDO_RETENTION

Specifies the time in seconds Read Consistency should be guarenteed

SAPNote 600141: UNDO_RETENTION: start with 10800 sec

Page 71: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 71/95

72

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 72

Oracle 9i - Automatic UNDO Management (3)

V$UNDOSTAT

Displays the UNDO usage in 10 minute intervals:

Page 72: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 72/95

73

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 73

Oracle 9i - PGA: Automatic Memory Management (1)

 Automat ic Memory Management (PGA)

Simplifies and improves memory allocation

Oracle work areas can be adjus ted automatically anddynamically

Ease of memory tuning

Reduction of time to tune memory

Better throughput

Improved query response time

Page 73: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 73/95

74

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 74

Oracle 9i - PGA: Automatic Memory Management (2)

95 % + 5 % <= PGA_AGGREGATE_TARGET

Untunable Memory TunableMemory

Process PGA

Process PGA

Process PGA

Process PGA

= SORT_AREA_SIZE

Standard R/3

Page 74: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 74/95

75

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 75

Oracle 9i - PGA: Automatic Memory Management (3)

5 % + 95 % <= PGA_AGGREGATE_TARGET

Untunable MemoryTunableMemory

Process PGA

Process PGA

Process PGA

Process PGA

SORT_AREA_SIZEHASH_AREA_SIZEBITMAP_MERGE_AREA_SIZECREATE_BITMAP_AREA_SIZE

SAP BW

Page 75: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 75/95

76

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 76

Oracle 9i - PGA: Automatic Memory Management (4)

initSID.ora parameters to setup PGA

PGA_AGGREGATE_TARGETSpecifies the target aggregate PGA memories of all server processesattached to the instanceRecommendation: >= 20% of physical memory(=40% of physical memory in case of standalone installation)

WORKAREA_SIZE_POLICYSpecifies the policy for sizing work areas and controls the mode inwhich work areas are runningMANUAL (Default)

 AUTO (Defaul t if PGA_AGGREGATE_TARGET is set)

Page 76: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 76/95

77

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 77

Oracle 9i - PGA: Automatic Memory Management (5)

New section for PGA in V$SYSSTAT

Ideal case: only optimal executions, no onepass, no mult ipass... But hard to realize ☺

V$SYSSTAT: cumulated values since start of instance

Page 77: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 77/95

78

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 78

Oracle 9i - PGA: Automatic Memory Management (6)

V$PGASTAT

Displays general information about PGA usage:

 Total PGA inuse: actual resource consumption

Page 78: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 78/95

79

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 79

Oracle 9i - PGA: Automatic Memory Management (7)

New entr ies for process local PGA usage in V$PROCESS

Page 79: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 79/95

80

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 80

Oracle 9i - SGA: Dynamic Resizing (1)

Oracle 9i - SGA: Dynamic Resizing

Oracle 8i memory management is s tatic: SGA is definedby initSID.ora since startup of the instance.

With Oracle 9i memory management becomes flexible –several parts of the SGA could be changed dynamically,memory could be shifted between different areas withoutrestarting the instance.

Page 80: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 80/95

81

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 81

Oracle 9i - SGA: Dynamic Resizing (2)

Default

Shared Pool

Keep

Recycle

Buffer Pool

SHARED_POOL_SIZE

DB_BLOCK_BUFFERS

BUFFER_POOL_RECYCLE

BUFFER_POOL_KEEP

Shared_Pool_Reserved_Size SHARED_POOL_RESERVED_SIZE

Oracle 8i

Static memory configuration

Recycle Pool and Keep Pool are defined out o f all DB_BLOCK_BUFFERS

Keep: table is automatically kept in memory, read operations are then notprocessed by the LRU algorithm, but are read directly

Recycle: the contrast of the keep pool

Shared_Pool_Reserved_Size: if very large objects are required and requested

Page 81: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 81/95

82

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 82

Oracle 9i - SGA: Dynamic Resizing (3)

Default

SharedPool

Keep

Recycle

DB_CACHE_SIZE

DB_KEEP_CACHE_SIZE

DB_RECYCLE_CACHE_SIZE

SHARED_POOL_SIZE

SGA_MAX_SIZE

Oracle 9i

9i memory components can be changed dynamically -> no database restart necessary

Shared_Pool_Reserved_Size

Changeable with alter system...

Page 82: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 82/95

83

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 83

Oracle 9i - SGA: Dynamic Resizing (4)

initSID.ora parameters to setup dynamic SGA

DB_CACHE_SIZESpecifies the size of the cache for s tandard block size buffers

DB_KEEP_CACHE_SIZESpecifies the number of buffers in the KEEP buffer pool. The size of thebuffers is the primary block s ize (DB_BLOCK_SIZE)

DB_RECYCLE_CACHE_SIZESpecifies the number of buf fers in the RECYCLE buffer pool. The sizeof the buffers is the primary block size (DB_BLOCK_SIZE)

SGA_MAX_SIZESpecifies the maximum size of the System Global Area for thelifetime of the instance

Page 83: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 83/95

84

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 84

Oracle 9i - SGA: Dynamic Resizing (5)

You can use V$DB_CACHE_ADVICE to estimate optimal buffer cache sizes

 Advice for two d if ferent buffer pools (8K and 16k)

Physical reads depends on the block size

Page 84: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 84/95

85

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 85

Oracle 9i - Multiple Block Size Support (1)

Multiple Block Size Support

Tablespaces within one database can have dif ferent Oracle Block Sizes

Supported Block Sizes: 2k, 4k, 8k, 16k, 32k

Block size setup on tablespace creation

Each block size has an own buffer cache

Separate buffer cache must exist , before a tablespace can be created

System TS and Temp TS must have default blocksize

Page 85: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 85/95

86

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 86

Oracle 9i - Multiple Block Size Support (2)

Default =8K Buffer Area

Keep

Recycle

DB_CACHE_SIZE

DB_32K_CACHE_SIZE

DB_RECYCLE_CACHE_SIZE

32K Buffer Area

16K Buffer Area DB_16K_CACHE_SIZE

DB_KEEP_CACHE_SIZE

SGA_MAX_SIZEShared Pool

Shared_Pool_Reserved_Size

Page 86: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 86/95

87

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 87

Oracle 9i - Multiple Block Size Support (3)

View V$BUFFER_POOL displays information about specified buffer pools

Page 87: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 87/95

88

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 88

Oracle 9i - Multiple Block Size Support (4)

Benefit of Multiple Block Size Support

Less I/O less system calls on OS- level i.e. faster ful l table scans

Less space consumption less space needed to store administrative information

like block headers etc. fewer number of blocks

Page 88: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 88/95

89

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 89

Oracle 9i - Multiple Block Size Support (5)

initSID.ora parameters to setup Multiple Block Support

DB_2K_CACHE_SIZESpecifies the size of the cache for 2K buf fers. Parameter can be set onlywhen DB_BLOCK_SIZE has a value <> 2K

DB_4K_CACHE_SIZESpecifies the size of the cache for 4K buf fers. Parameter can be set onlywhen DB_BLOCK_SIZE has a value <> 4K

DB_8K_CACHE_SIZESpecifies the size of the cache for 8K buffers. Parameter can be set onlywhen DB_BLOCK_SIZE has a value <> 8K

DB_16K_CACHE_SIZESpecifies the size of the cache for 16K buffers. Parameter can be set onlywhen DB_BLOCK_SIZE has a value <> 16K

...

Page 89: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 89/95

90

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 90

Usage of Oracle compression and BW

Oracle9i Release2 Enterprise Edition introduces a compressiontechnique that is useful for large data warehouses.

The focus should clearly be located on the space saving aspects.

This feature is only used for available data. New data will always bestored uncompressed. In order to compress data a dba has to do areorganization of the table (insert as select.... or import/export).

Compressed objects should not be changed anymore. If you change theobject you will get an error message from oracle for compressed objects.

This solution should not be used in general.

Feature description

SAPNote 701235

PSA: The PSA tables could be compressed if the data will be stored for alonger period

Cubes: Historical Cubes (e.g. sales cube 1999) are suiteable objects forcompression. Looking at partitions it is the same. "Old" partitions which are notbeing changed could be compressed.

Aggregates: In general the aggregates should not have navigational attributes,if you want to compress aggregates. If you have nav. attributes and youchange the value, the compression will be lost due deletes and updates.

ODS: The ODS has 3 physical tables (activation queue, active data andchange log) The change log could be compressed without any restrictions.(Only inserts are applied) The activation queue should not be compressed,because normally the data is deleted after activation.

 The active data could be compressed but you have to keep in mind if thenumber of updates is higher than the number inserts the compression will belost after a certain time. Please keep in mind that the ABAP Dictionary doesnot currently support compression. This means that the compression is lost

when a compressed table is reorganized.

Page 90: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 90/95

92

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 92

Oracle 9i: ASSM – Automatic Segment Space Management

In Detail: Hierarchical structure of bitmap blocks

Segment Header 

Level 2

Level 1 Level 1 Level 1

Ranges of data blocks

Page 91: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 91/95

93

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 93

Oracle 9i: ASSM – Automatic Segment Space Management

In Detail: A table with 4 extents and 8 blocks each

E1

E2

E3

E4

1

1

1/2

2

Data Block

Segment Header 

L2/L1-Bitmap Block

Segment 3

Segment 3

Segment 3

Segment 3

1001 0001 0111

At every time it‘s known how much each data block is filled (in 25% steps)

Page 92: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 92/95

94

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 94

Oracle 9i: ASSM – Automatic Segment Space Management

DBA_TABLESPACES

SEGMENT_SPACE_MANAGEMENT = AUTO

-> Locally Managed Tablespace using Automatic Segment Space Management(since SAP basis release 6.40)

SEGMENT_SPACE_MANAGEMENT = MANUAL

-> Locally Managed Tablespace using Free Lists

Page 93: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 93/95

95

APPENDIX

Page 94: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 94/95

96

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 96

SAPConnect

Sending an email for information about failed requests: Someinformation in message 131724.

Configuration of SAPCONNECT:

1. Change the instance profile in RZ10

2. Add a system background user for messages

3. Configure SICF

4. Configure SCOT

Note 455140 contains some info about this.

Configuration of SAPConnect

Page 95: 02 Basic Technical Architecture

8/22/2019 02 Basic Technical Architecture

http://slidepdf.com/reader/full/02-basic-technical-architecture 95/95

© SAP AG 2005, 02 Customizing and Basic Architecture of SAP BW 3.x Performance, Pascal Prassol / 97

How to save the transfer rules of a source system

RSA1 Transport Connection Button 'Collection mode' set to 'start manual collection'

Press 'Source system assignment' button (it's the one left of the 'Request BEx' button)

Select the source systems you want to save the transfer rules for Continue

Button 'Grouping' set to 'Save for system copy‚ At t he lef t border cl ick on 'Object Types'

Extend tree 'Source system' LSYS Double click on 'Select objects'

Select the source systems you want to collect objects for the source system is now displayedin the right box

Press collecting button ('gather dependent objects') this may take a while

Right click on the root of the tree and select Transport all below

Expand the whole tree and check if there isn't an object which is locked by an other open

transport request !! (the column 'Transport request' has to be empty !)Press the transport button => A transport request is created. Check if the request contains allISMP and ISTS objects.

Release the request! (BEFORE deleting the corresponding source system connection!)