Upload
dyssa123
View
234
Download
2
Embed Size (px)
Citation preview
8/22/2019 02 Basic Technical Architecture
http://slidepdf.com/reader/full/02-basic-technical-architecture 1/95
1
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
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
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
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
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
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)
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.
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:
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.
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.
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.
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.
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
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“
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
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.
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!)
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.
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.
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.
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).
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
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).
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
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 !!!
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
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)
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.
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.
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
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.
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.
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
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)
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 %
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 %
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 %
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 %
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
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
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.
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
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
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
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
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
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
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
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
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
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.
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.
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.
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 ;
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“
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.
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
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.
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.
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).
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
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.
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.
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 .
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
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
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
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
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
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:
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
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
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
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)
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
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
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
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.
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
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...
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
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
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
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
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
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
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
...
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.
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
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)
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
8/22/2019 02 Basic Technical Architecture
http://slidepdf.com/reader/full/02-basic-technical-architecture 93/95
95
APPENDIX
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
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!)