Sap Abap Overview
Sap Abap Overview
Sap Abap Overview
Presentation Layer :
The Presentation Layer contains the software components that make
up the SAPgui (graphical user interface). This layer is the interface
between the R/3 System and its users. The R/3 System uses the
SAPgui to provide an intuitive graphical user interface for entering and
displaying data.
The presentation layer sends the user’s input to the application server,
and receives data for display from it. While a SAPgui component is
running, it remains linked to a user’s terminal session in the R/3
System.
Application Layer :
The Application Layer consists of one or more application servers and
a message server. Each application server contains a set of services
used to run the R/3 System. Theoretically, you only need one
application server to run an R/3 System. In practice, the services are
distributed across more than one application server. The message
server is responsible for communication between the application
servers. It passes requests from one application server to another within
the system. It also contains information about application server groups
and the current load balancing within them. It uses this information
to assign an appropriate server when a user logs onto the system.
Database Layer :
The Database Layer consists of a central database system containing
all of the data in the R/3 System. The database system has two
components – the database management system (DBMS), and the
databse itself. SAP has manufactured its own database named HANA
but is compatible with all major databases such as Oracle.All R/3 data is
stored in the database. For example, the database contains the control
and customizing data that determine how your R/3 System runs. It also
contains the program code for your applications. Applications consist of
program code, screen definitions, menus, function modules, and various
other components. These are stored in a special section of the
database called the R/3 Repository, and are accordingly called
repository objects. R/3 repository objects are used in ABAP workbench.
8.Enqueue Server:It handles logical locks that are set by the executed
Java application program in a server process.
Step 1) Once user click on the SAP system from GUI , User request is
forwarded to Dispatcher .
Step 2) Request is stored in Request queues first. Dispatcher follows
First in First out rule .It will find free workprocess and if available will
be assigned.
Step 3) As per user request , particular workprocess is assigned to
user.For example , when user login to the system then Dialog
workprocess is assigned to the user.If user runs a report in background
then background workprocess is assigned to the user.When some
modifications are done at database level then update workprocess is
assigned.So as per user’s action workprocess is assigned.
Step 4) Once user is assigned the dialog workprocess then user
authorizations, user’s current setting are rolled in to work-process in
shared memory to access user’s data.Once dialog step is executed
then user’s data is rolled out from workprocess. Thus shared memory
will be cleaned and other user’s data can be saved in shared memory
area. Dialog step means the screen movements. In a transaction, when
a users jumps from one screen to other the process is called a dialog
step.
Step 5) First work process will find the data in the buffer. If it finds data
in buffer then there is no need to retrieve data from database. Thus
response time is improved and this process is called hit.If it does not
find the data in buffer then it will find the data in database and this
process is called miss. Hit ratio should be always higher than miss ratio.
It improves the performance of system .
Step 6) Other requested data is queried from the database and once
the process is complete,the result is sent back to GUI via dispatcher.
Step 7) At the end user’s data is removed from shared memory so the
memory will be available to other users.This process is called roll-out.
2) Click on the job to view the display job screen. In the screen,
click on job log to understand what is being performed by the job
currently. This may give details like job is currently extracting
some data packages or processing data packages etc
3) Identify the executing server and process id of the job from the
step 1 and goto transaction SM50 of the respective executing server
to view more details about the background job running.
Figure out the status of the job like On Hold or running from the
process overview. If the job is On Hold, find out the reason for On
Hold by examing the "Reason" column of SM50 transaction.
Reason for On Hold could be due to
CPIC/RFC/DEBUG/ENQ/PRIV/UPD etc.
4) After performing step3, if you figure out job is not on Hold and
it is in running state, then examine report column to identify what
report/program is being executed by the job. Once you got the
report/program details, figure whether it sap program or custom
program and take actions accordingly.
If it is sequential read, figure out the cost of that sequential etc and
consider for indexing etc. If it is physical read, check out whether
there are too many swaps and consider resizing buffers
accordingly. If you observed delay is due to high roll in/roll out,
identify reasons for the same and tune buffer/memory parameters
accordingly.
6) Once you get the table details on which action is being carried
out, figure out
10) By taking help of ABAP er, even ABAP run time analysis can be
done using SE30 transaction
By following the above steps, you can pin point the issue and take
actions accordingly to minimize runtime of long running
background jobs.
3) If it is not getting terminated from that level, you may try to kill
as shown below at SAP level :
Goto Import monitor and
Navigate as below and right click and delete entry to delete the
transport which is being imported
By any one of the above 3 methods, transport will surely get
terminated. So then you can add to queue again and re-import
Parameters
rdisp/max_wprun_time=600 to 1800sec
rdisp/wp_no_dia
2. BACKGROUND PROCESS
Job Status
1. Scheduled, 2. Released, 3. Ready, 4. Active, 5. Finished, 6.
Canceled.
Monitoring
3. UPDATE PROCESS
Types of Updates
Local Update
Asynchronous Update
Synchronous Update
Update Parameters
4. ENQUEUE PROCESS
Enque Problems
5. SPOOL PROCESS
Parameter
rspo/store_location =g or db (To store the spool request at OS
level or Database level)
g= OS Level (TemSe Resides in Global Directory) Spool size is
small (Around 300MB)Path= \usr\sap\<SID>\SYS\global
Spool process reads TemSe to generate out put requests. Out put
request depends upon the Access Methods
Local Access Method:- Spool process and Host spool resides on the
same system (C for windows, L for Unix )
Remote Access Method: Spool process and Host spool resides on
two different machines (S for windows, U for Unix)
Front End Printing:- Printers are directly connected to end user
systems (F for all)
rdisp/wp_no_spo_fro_max=2 (if 10 spool work process are
available 2 will be set for front end printing)
Spool Server: - The server with at least one spool process is called
as spool server. It can be Logical (For Fail over and Load balancing
of Printers) or Real servers.
SPAD: - For defining the Printer (Output device) and the Spool
Server (Logical or Real).
Monitoring
SP01:- It displays the list of spool request (Based on Username and
Date Time)
Status (-, +, Waiting, In Process, Printing, Completed, Problem
and Error)
SP02:- It displays Individual users spool requests
SPIC: - Spool installation Check use to check spool devices and
pending requests
SP12:- TemSe Administration to check memory allocation objects
and performs the TemSe consistency check
ORACLE DBA
BRSPACE
BRSPACE??
* Instance management
------------------------------
- Start up database
- Shut down database
- Alter database instance
- Alter database parameters
- Show instance status
- Show database parameters
* Space management
----------- ----------------
- Extend tablespace
- Create tablespace
- Drop tablespace
- Alter tablespace
- Alter data file
- Move data file
- Show tablespaces
- Show data files
- Show redolog files
- Show control files
- Show diska volumes
* Segment management
------------------------------
- Reorganize tables (online)
- Rebuild indexes (online)
- Export tables- Import tables- Alter tables- Alter indexes
- Show tables
- Show indexes
- Show table partitions
- Show index partitions
- Show segments
- Show segment extents
- Show free extents
exp_dump_dir
exp_table
Imp_table
rebuild_index
reorg_table
show_period
space_copy_dir
exp_dump_dir
SDBAH
SDBAD
File name
· Oracle file ID or log group number
· End time of the backup of the file
· Name of the volume where the file was saved
· Position of the file on the volume
· Backup ID of the external backup program
· Compression rate of the software compression
Character-based interface
GUICharacter-based interface, as in the following example, which
shows the main menu:
Choice menu
1 - please make a selection------------------------------ Character-
based interface
BR*Tools main menu
1 = Instance management
2 - Space management
3 - Segment management
4 - Backup and database copy
5 - Restore and recovery
6 - Check and verification
7 - Database statistics
8 - Additional functions
9 - Exit program
----------------------------------------------------------------BR0662I
What is BRBACKUP??
This SAP tool for the Oracle database enables you to back up
database files.
The smallest unit that can be saved with BRBACKUP is a file. You
can use BRBACKUP for backing up both files in the database and
non-database files and directories.
backup_mode = all/full/incr
What is BRARCHIVE??
This SAP tool for the Oracle database enables you to archive offline
redo log files.
You can also start BRARCHIVE when the database is shut down.
You should archive the offline redo log files on tape using
BRARCHIVE.
In contrast to BRBACKUP, BRARCHIVE does not have its own
management of tape continuation. When a tape is full, you must
restart BRARCHIVE to write to the next volume.Logging for
BRARCHIVE
What is BRRECOVER??
Uses
Database System Check with BRCONNECT
Adapt Next Extents with BRCONNECT
Update Statistics with BRCONNECT
Changing Database User Passwords with BRCONNECT
Clean Up Old Logs and Trace Files with BRCONNECT
BRCONNECT cleans up the following files:
1 = Instance management
2 - Space management
3 - Segment management
4 - Backup and database copy
5 - Restore and recovery
6 - Check and verification
7 - Database statistics
8 - Additional functions
9 - Exit program
-------------------------------------------------------------------------------
Database space management
1 = Extend tablespace
2 - Create tablespace
3 - Drop tablespace
4 - Alter tablespace
5 - Alter data file
6 - Move data file
7 - Additional space functions
8 - Reset program status
Step2:
-------------------------------------------------------------------------------
Tablespace extension main menu
1 = Extend tablespace
2 - Show tablespaces
3 - Show data files
4 - Show disk volumes
5 * Exit program
6 - Reset program status
(Q) What are the situations in which DBWO writes dirty blocks to
disks ?
(A) If the number of scanned buffers reaches a certain thresh hold.
At a specific time that is when check point occurs.
(Q) What are the conditions in which log writer writes redo log
buffer data to online redo log files ?
(A) There 4 conditions:
When transaction is committed.
For every three seconds.
When redo log is 1/3rd of full.
When DBWR is about to write modified buffers to disk and some of
the corresponding redo records have not at been written to online redo
log i.e. write ahead logging.
(Q) If a file is missing from the chain of offline Redo log files, then
what we’ll do ?
(A) We have to perform a restore and recovery of Database. Recovery
is performed using the method “Point In Time” by which all the Offline
Redo log files older than the last one is used for recovery.
(Q) What are the causes for logical errors related to Database ?
(A) (i) Manually deleting parts of Database objects such as Rows in a
table.
(ii) Manually dropping Database Objects.
(iii) Manually dropping Application Objects.
(Q) What are the tools used by Oracle Admin in an SAP System for
Backups ?
(A) Database Backups = BRBACKUP
Offline Redo log files = BRARCHIVE
(Q) Can RMAN recover the Database automatically without
Recovery catalog ?
(A) NO
(Q) What are the contents of tape lable after a tape is Initialized ?
(A) (i) Tape Name
(ii) Name of the Database
(iii) Time stamp of last backup recorded on the tape
(iv) Number of Backups performed with the tape
(Q) Before writing data to tape if the lable is Red to check the
following
(A)(i) Tape Name
(ii) Tape Locked or Expired(Expire_period)
(iii) No. of times the tape already been read(Tape_use_count)
If Expiration_period = 0 days, the Volume is not locked at all and can
be over written
• If a lock occurs on a tape, it automatically expires at midnight.
(Q) If table space is full then what are the possibility to extend the
table spaces ?
(A) Option 1: Add another data file to table space
2: Existing data file can be manually resized
3: Properties of existing data file can be changed to auto
extendable
MS SQL Server
a) Difference in gui
7) Failover------
Fail Over : In this case the database on both Primary & DR Server will
be ONLINE and client can use both the databases.
Step 2: Then need to login to SQL PR server and manually need to run
the back-up Job and then need to disable the Job.
Private mode is a mode where the heap data is getting exclusively allocated
by the user and is no more shared across the system. This happens when
your extended memory is exhausted.
Why do you use DDIC user not SAP* for Support Packs and SPam? Do
_NOT_ use neither DDIC nor SAP* for applying support packages. Copy
DDIC to a separate user and use that user to apply them.
Can you kill a Job? Yes – SM37 – select – kill If you have a long running
Job,
A “transactional RFC” means, that either both parties agree that the data was
correctly transfered – or not. There is no “half data transfer”.
What is the use of Trusted system. I know that there is no need of UID and
PWD to communicate with partner system.
In what situation it is good to go for Trusted system ?
E. g. if you have an R/3 system and a BW system and don’t want to maintain
passwords. Same goes for CRM and a lot of other systems/applications. Let
me know if my understanding below is correct:
Is there a way to revert back the Q defined? If yes, How? There is a “delete”
button when you define the queue. If you already started the import it’s no
more possible since the system will become inconsistent.
The value specifies the size of the roll area in bytes. The roll area is one of
several memory areas, which satisfies the user requests of user programs.
For technical reasons, however, the first 250 KB or so of a user context are
always stored in the roll area, further data - up to the roll area limit
ztta/roll_first, - in the extended memory, up to the limit ztta/roll_extension or if
extended memory is exhausted, then - again in the roll area, until the roll area
is full, then - in the local process area, up to the limit abap/heap_area_dia or
abap/heap_area_total or until the address space or the swap space is
exhausted. Followed by termination with errors like
STORAGE_PARAMETERS_WRONG_SET an error code, that points to
memory bottleneck Minimum data transfer with context change; however, the
increase helps to avoid problems (address space, swap space, operating
system paging).
What is the difference between a client
4. Txn sccl to start the client copy. You can test the client copy by
selecting the test run option. (test run will estimate the time taken
for the activity).
when you say system refresh you aree copying your data
from
Prod. system to your fix system or may be on your
training/quality system. Here it replaces all the data and
you need to backup your data on target system (printers,
users, rfc, and other system dependent stuff) If you dont
do that it would be replaced from your Prod (source). Also
while doing system refresh you dont have option of
seggregating the data (as you use your backup and redo
logs
till your sync time). This is a long tiring task includes a
lot of post steps... :-)
Client Refresh can be seen in a way where you are
copying
data to an exsisting client where you will be defining the
type of profile (cust, users, master data or so on. This is
little simpler compared to system refresh.
How can one disable the “Import All” button on STMS for the
queues?
Login to your Transport Domain Controller. Run STMS->Overview-
>System.
Choose the System you want to disable import all. Go to
Transport Tool tab.
Add/Create Parameter “NO_IMPORT_ALL” set its value to 1.
How can you get a list of the users with development access
on a particular system?
A: Table DEVACCESS
How can you find a list of objects that have been repaired in
the system?
A: As you know, you can lock/unlock transaction codes via SM01.
But, how do you go about viewing the transactions that are
locked in the system? You need to look in field CINFO, table
TSTC.
Within SAP, you can use either SE11 or SE16 to browse the table
contents. Make sure you enter “A0″ as the “HEX01 data element
for SYST” starting value and “A9″ as the ending value.
This will list all the transactions locked in the system.
Note: The CINFO field description is “HEX01 data element for
SYST”.
A: TP controls the process and calls several tools, like r3trans but
also e.g. DDIC-Activation.
A: During the installation you will be asked for a key, which can
only be generated by the solution manager.
Ex:
1. Import is cancelled due to object missing.
2. Objects are not active.
3. Program terminated due to job ?RDDEXECL? is not
working.
Return code (16) indicates import is cancelled.
Ex:
1. Import cancelled due to system down while importing.
2. Import cancelled due to user expires while
importing
3. Import cancelled due to insufficient roles.
3.Once you select the required component, the current queue appears.
This queue contains the Support Packages available for the selected
component in your system. If you want to define the queue for another
software component, choose Other Component. If the displayed queue
meets your requirements, you can confirm it by choosing Confirm
Queue
Step 5: Importing Queue.
Once you a define a Queue (Step 4) while selecting a particular
component (for which we want to upgrade support pack), we need to do
‘Import queue’ to start importing/applying that particular selected
support pack (as per the standard SAP process).
Choose Support Package –> Import Queue
Checking Logs
19. IMPORT LOG :It displays logs for Support Package Manager
Phases that are used by transport control program tp(transport
control program).Go to–>Import log–>Queue
20.
21. ACTION LOG: It contains information about the actions that take
place during the individual phases (while importing the current
queue).It also includes information about the point at which a
phase was stopped, as well as detailed error information.To
display the logs for the current queue Go to–>Action log
22.
23. While the support packages are being imported, logs are made
into the tmp directory (path: usr/sap/trans/tmp)
24. Once the import process is completed logs can be viewed from
the log directory (path: usr/sap/trans/log)
• Select the JAVA patch file to be deployed as follows:
• The following screen is displayed
• Click on the Start Deployment button
The deployment is then started and the logs are displayed in the above
screen on the right hand side. Once the deployment is over, exit from the
SDM.
Applying Support Patches in Netweaver 7.3
Java Stack
1. Using JSPM . You can run the JSPM tool from the following location
Drive:\usr\sap\SID\J02\j2ee\JSPM
Well , got the following error while executing the JSPM tool.
"An error has occurred during the execution of the JSPM_MAIN phase.
Cannot initialize application data. Error occurred while trying to get the
SAPLOCALHOST parameter value from the instance number: 2 on
host: GDC-UAT via SAPCONTROL the web service API. See SAP Note
1401712 for further information. java.rmi.RemoteException: Service call
exception; nested exception is:
com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidRespon
seCodeException: Invalid Response Code: (401) Unauthorized. The
requested URL was:"http://GDC-UAT:50213"
com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidRespon
seCodeException: Invalid Response Code: (401) Unauthorized. The
requested URL was:"http://GDC-UAT:50213"
Once the issue is resolved please check the version and level of SP's in
JSPM.
As, we can not determine the SPS level by just looking at the individual
SP level. We can check the current SPS level using MOPZ or at the
stack calculation at the Service Market Place. Implementation and
maintenance of SAP NetWeaver 7.3 via SP Stacks is only possible
via SAP Solution Manager's Maintenance Optimizer (MOPZ)
how to undeploy java patches in sap
A) you cannot undeploy it to previous version. If you will try to undeploy it from
SDM then it will undeploy complete J2EECORE patch. Because Java patches
are cumulative. Only possibility is system restore that is too file system
restore.
Now the LDAP user ID "jwayne" is able to logon to the SAP system under
user ID "WAYNE".
Please note, you have to set the user SNC properties for each mandt you
want to enable SSO.
Renewing SAP Router License
Renewing SAP Router License
Hi All,
Here are the Steps of renewing the SAP Router License.
Step1: Login as sncadm user. Take a Backup of folder where SAP
Router is installed. Ex: D:\usr\sap\saprouter to
D:\usr\sap\saprouter_backup.
Step2: Execute the below command
sapgenpse get_pse -v -r certreq1 -p local.pse
It will ask for PIN, so enter any 4 digit number and remember this,
as you may need it in at other places during renewal. Easy to
remember code is 1234.
Also enter the distinguish name.(You can find the distinguish
name at https://websmp203.sap-ag.de/saprouter-sncadd )
Procedure
...
Prerequisites
The settings of your system are according to note 723909.
The SAP NetWeaver Application Server Java (AS Java) and the
database have been backed upDirectories and files have not been
deleted, renamed, or created in the following directories and their
subdirectories: /usr/sap//SYS/exe and /usr/sap//SYS/profile.
Otherwise, JSPM cannot detect the kernel and the system profiles,
and cannot be started. If a backup of the kernel and the system
profiles has been required, it has been created in a different
directory.
If your database is MaxDB, the overwrite mode for the log area
has been set
Download the support package stack with all the usage types that
need to be updated and the Support Package Stack definition file.
Copy the downloaded Support Package files and the definition file
(XML file) to the JSPM inbox. [:\\usr\sap\trans\EPS\in]
Note: There must be one and half times as much disk space
available as the SP files to be deployed in the JSPM inbox for
temporary file transfer by SDM.
cd StopServer.bat
Check whether the used JDK version and the Java VM settings of
the Java runtime system comply with the requirements in the SAP
Note 723909. Update the JDK and adjust the settings if necessary.
How To Upgrade The Kernal Patches
Download Kemal Patches from http://service.sap.com
1.Take backup of existing run directory
2.Stop the Instance
3.Extract the .SAR file.
4.Copy the .SAR file in run directory.
5.Start the Instance If u get any problem replace the Old run
directory.
SAP Kernel Update :-
SAPOSCOL — Stop
SAPKK1_00 — Stop
Take backup of the existing kernel in C:\4.7\Kernel Backup 620\ from
D:\usr\sap\KK1 \SYS\exe\run\ folder copy *.* and paste in above
folder
Note : Copy kernel file not delet.
1) Check whether latest versions of ST-A, ST-PI, ST-A/PI packages are installed in the
managed/satellite system
(This check can be done going to system->status -> Component information display in any
sap screen)
2) If they are installed, run RTCCTOOL report from SE38 transaction code of satellite
system.
Check the output of the report. If there are some errors or warnings in the output of the
report, please take corrective actions and run the report again and ensure there are no errors
3) Setup RFC connection between your satellite system and the solution manager system
An RFC connection can be made between 2 systems using Transaction code SM59
4) Setup RFC connection between your solution manager and the SAP service market place
6) Setup your satellite system in a solution landscape of the solution manager(SMSY)
7) Make sure SLD is configured and working fine for satellite system (using Rz70 and
SLDCHECK transactions)
8) Activation of SDCCN in satellite system (Goto SDCCN transaction. Then click on
Utilities -> Activate) then confirm for SDCC_OSS destination creation
9) In satellite system, goto SDCCN transaction and navigate to Goto -> Settings -> Task
specific.
In the resulted screen, select RFC destination and provide the solution manager RFC from the
satellite system and set solution manager RFC as the master system.
Goto SMSY transaction in solman system and then navigate to Environment -> Solution
Manager Operations -> Adminstration SDCCN to add the new service data control centre to
the solution manager.
Click on add system button to add the new SDCC to the solution manager. When prompted,
please select the respective system and client from the resulting screen and confirm
In the solution manager system, execute transaction code solution_manager and navigate to
operations -> Earlywatch Alert and press create button. This prompts you to confirm the date
and time to run the report. Please provide the details and confirm to trigger the generation of
the report
12) Login to satellite system, goto transaction code SDCCN and press create button which
displays a screen to select a task to be executed. Select request session data task and click
continue. You will be prompted to enter the schedule time to run the report. Click now to
execute it immediately. After that you can see an early watch session running in SDCCN.
13) After completion of this session run successfully, an Earlywatch Alert will be generated
and this can be viewed in Solution_manager of Solution manager system.
Types of Buffer
NTAB buffer:
The name table (nametab) contains the table and field definitions
that are activated in the SAP System. An entry is made in the
Repository buffer when a mass activator or a user (using the ABAP
Dictionary, Transaction SE11) requests to activate a table. The
corresponding name table is then generated from the information
that is managed in the Repository.
The Short nametab and Initial record layouts are not saved in the
database. Instead, they are derived from the contents of tables
DDNTT and DDNTF.
Calender Buffer:
The SAP calendar buffer stores all defined factory and public
holiday calendars.
Calendars are stored in the database tables TFACS and THOCS.
The following table shows the SAPgui buffers and their functions:
The buffer has a directory structure. This means that if the shared
memory is configured too small, only the required data is loaded;
there is no LRU displacement of the contents of the buffer.
The CUA buffer holds objects from the GUI interface, such as
menus, pushbuttons, and so on. In the database, these objects are
held in tables D342L and D345T. Its size is expressed in KB. The
standard SAP recommendation is: Up to 2500 KB for small
systems, up to 3000 KB for medium systems and up to 6000 KB
for large systems.
icm/server_port_0 PROT=HTTP,PORT=8000
icm/host_name_full server.full.domain
2)With transaction SICF and locate the
services by path
/sap/public/bc/its/mimes
/sap/bc/gui/sap/its/webgui
3)Activate the full path to these services
4)Browse to
http://server_name:icmport/sap/bc/gui/
sap/its/webgui/ and login to the
webgui.
If you still have any problem to run WEBGUI run this transaction
SIAC_PUBLISH_ALL_INTERNAL
it will do ……..Enjoy
What is "Fallback"?
Active-Passive cluster in failover state
What is a "Standby System"?
A standby system is a redundant cluster node that takes over the
processes if the primary cluster server fails. This is referred to as a
"failover" and is performed automatically by cluster software. There can
be several standby cluster nodes. The amount is only limited by the
capabilities of the cluster software. For example, the Microsoft Cluster
Service provides up to 8 server nodes, which means 7 standby nodes as
a maximum.
"Standby systems" can be in a "hot" state or a "cold" state. A "hot standby"
means that the processes run on the standby node also, which means that in
case of a failure the cluster resource is running already and does not need to
be started on the standby system. A "cold standby" means that in case of a
failover the clustered resource needs to be started on the standby system
which means that a (short) downtime during the failover occurs. The SAP
Central Services Instance is usually implemented as a "cold standby" system
due to the fact that SCS is a light component and does not need a long time
for startup.
What is an "Active-Active Cluster"?
An active-active cluster consists of two independent server nodes at a
minimum. The workload within a cluster resource is shared between the
server nodes. If a cluster node crashes the processes are resumed by the
remaining cluster nodes. An active-active cluster configuration means that a
cluster resource is active on all cluster nodes. The aim of an active-active
cluster is not only to provide high availability system but to distribute the
workload between the cluster nodes. Applications with a very high workload
like databases benefit from an active-active setup. Due to the SAP Central
Services Instance is a light component an
active-active setup does not make any sense. Therefore the SCS is
implemented as an active-passive cluster resource.
Shared Nothing
Shared All
What does "virtualization" Mean?
The term “virtualization” in the context of HA refers to a kind of abstraction
performed by the cluster software. The software creates a virtual host that
owns a virtual hostname, virtual disk, and so on. “Virtual” in that manner
means that such resources cannot only be owned by one physical machine
but by all of them. Which node currently owns or runs a resource is managed
by the cluster software. Related “resources” are usually grouped to logical
containers (for example Groups on MSCS or packages on HPSG) that can
perform failovers independently.
What do "shared nothing" and "shared all" mean?
The term "shared nothing" and "shared all" specifies a type of
architecture within an active-active cluster. "Shared nothing" means
that every cluster node contains its own data partition, which implicates
that these kinds of setup are not highly available due to the fact that in
case of a failure the data of the failed node is no longer available. In a
"shared all" environment the different cluster nodes that run the same
service shares a data partition and accesses the data concurrently .
These options have to be supported by the cluster software. For example,
MSCS does not support the "shared all" option.
What is a "SPOF"?
A Single Point of Failure (SPOF) is any component within a system that, if it
fails, causes a loss of a runtime critical service. A SPOF can be hardware or a
software component. However, this FAQ only covers the SAP identified
potential SPOF software components that are Message Server, Enqueue
Server, the central file system and Database. In a High Availability manner it
is necessary to eliminate these SPOF.Be aware that it is possible to introduce
additional SPOFs through configuration and programming, by adding critical,
non redundant components yourself. These must be identified through an
analysis and either be eliminated or covered by failover services.
Within SAP NetWeaver 6.40 ABAP the Message Server and the Enqueue
Server are integrated within the ABAP Central Instance (CI).
In SAP NetWeaver 6.40 Java the Message Server and the Enqueue Server
are implemented as services within the SAP System Central Services
Instance (SCS) and separated from the Central Instance (CI) this way.
With SAP NetWeaver 04s ABAP the Message Server and the Enqueue
Server can be separated from the Central Instance (CI) to the ABAP SAP
Central Services Instance (ASCS) in the ABAP stack also (which is
recommended for HA setups due to the ASCS is a light component that can
be switched over easily).
Is SAP HA also supported for heterogeneous system landscapes?
SAP does not support heterogeneous HA cluster environments at the moment
officially. However, preparations for an official support of this type of setup are
currently evaluated.
Does SAP support Microsoft Geo clusters?
first of all, Geo-Clustering (Microsofts name for it is geographically dispersed
Clusters) is no special product from Microsoft, it's just a special setup of the
normal MSCS (or to be more correct, Microsoft Server Cluster 2003)
configuration of Windows Server 2003.
Geospan Clusters are not supported by SAP - in terms of configuration and
installation.
The standard configuration of a two node MSCS cluster consists of two
cluster nodes and a shared storage. All technical components are located in
the same data center. In a geographical dispersed cluster the cluster nodes
are distributed accross at least two data centers and you need a more
complex storage architecture, because a shared storage can only be located
in one data center and would become a single point of failure. In order to
eliminate the potential storage SPOF you have to configure one storage box
in each data center and you need storage replication between those boxes.
Replication can be synchronous or assynchronious, depending on the
functionality of the storage subsystem, accepted amount of data loss during a
failover, the physical layout of the storage area network (distance between the
storage boxes, signal latency, capacity and speed of the network connection)
and last but not least the budget of the customer and the functionality
supported by the database vendor.
Often the database components in geospan configurations are no longer part
of the MSCS and the database is replicated by pure database technics
(shadow database, log shipping, mirrored database).
There are a lot of different geospan configurations possible, which are more
or less planned individually for the customer by storage/hadware vendors in
customer specific projects. The numerous variants in the geospan
configurations and the complexity of the technical requirements are the
primary reasons why those configurations are not directly supported by SAP.
The hardware vendors are responsible for the configuration, setup, installation
of the SAP system and that the basic HA technology is working in this
environment.
SAP is still supporting the basic functionality of the ABAP / J2EE / database
servers and other SAP components in these configurations.
Standard SAP installation procedures are normaly used during the SAP
System installation of those configurations. But depending on the choosen
configuration some steps are different - here again the hardware vendor has
the responsibility to deliver the information and support or perform the
installation.
There are already a lot of geospan configurations at SAP customers.
Is there a session failover mechanism for SAP NetWeaver AS
Java?
NetWeaver AS Java supports a session failover mechanism using DB, local
persistence, or shared memory(7.1) which can be implemented in
applications. Please take a look into the documentation for further information
on how to do that. See the documentation for Failover System in Version 7.0
or Configuring Shared Memory for Version 7.1
The Enqueue Server contains the central locking table for the SAP
cluster. Besides database locks it also consists of infrastructure locks of
system wide objects. It is therefore necessary to secure the locking
table in case of a Standalone Enqueue Server failure. The SAP Enqueue
Replication Server provides a replication mechanism for the Enqueue
Server by holding a copy of the locking table within its shared memory
segment. After a failure of the Enqueue Server the locking table can be
restored this way. Since SAP NW04 SP15/ NW04s SR1 an automated
installation of the Enqueue replication server is available for Windows
environments. UNIX/ Linux installations are handled by SAP hardware
partners.
Note: you can only protect Stand-Alone Enqueue Servers with an Enqueue
Replication Server. The standard Enqueue Server in an ABAP CI (Enqueue
work process) cannot be protected by an Enqueue Replication Server.
Concluding there are necessary operations to prevent such loss, that is the
purpose of High Availability environments.
What is the difference between Enqueue Server and Standalone
Enqueue Server?
Since NW04 Java the Enqueue Server and the Message Server for a J2EE
Engine are standalone services hosted by the SAP Central Services instance
(SCS). The difference between a Standalone Enqueue Server and Enqueue
Service is therefore only formal: The term “service” refers to the Enqueue as
part of the SCS; the term “server” refers to the Enqueue as process, either
enserver (.exe) or the enqueue work process within the ABAP stack. From
NW04s the Enqueue Server and the Message Server are also implemented
as Services within the ABAP Sap Central Services Instance (ASCS).
SAP does not provide any specific cluster guides for the implementation of
SAP clusters within Unix HA environments due to this task is handled by our
hardware partners.
Picture: ASCS Instance components unique components: process,
global files, sapmnt file share and corresponding SAPGLOBALHOST
virtual host name with IP address
If global files and folders are not accessible, it will disrupt some SAP
operations.
SAP Batch Process
One very important SAP process that is accessing global files and
folders is SAP batch process. During the job activity (which can take
longer time), SAP batch process will constantly write log files into global
folder:
\\<global-host-name>\SAPMNT\<SID>\SYS\global\<client>JOBLG
Picture: SAP Batch Process are accessing global file system over
SAPMNT share to write their log files
If the global folder is not accessible for writing, even for a short time,
SAP batch job activities will be canceled!
SAP HA with Windows Server Failover Clustering on Windows
Server 2008 R2 (or lower)
This is exactly what will happen during the (A)SCS instance failover, if
you use Windows Server 2008 R2 (or lower editions) - during the
(A)SCS instance failover global files and folders over SAPMNT are not
accessible to SAP batch processes. All open file handles on global file
system are lost and SAP batch jobs activities are canceled! Every new
attempt to access global fails will also fail.
Picture: Failover of ASCS Instance cause cancelation of SAP batch job
activities
Continuous Availability File Server and new SMB 3.0 protocol in
Windows Server 2012The Server Message Block (SMB) protocol is
the Microsoft access protocol for file shares. Microsoft enhanced SMB
3.0 version with many new features:
http://support.microsoft.com/kb/2709568
Microsoft decided to enhance SMB 3.0 protocol to provide file-based
access to application data. Now, in Windows Server 2012, sever based
applications like Hyper-V and SQL Server can store their files on file
share, and access it via UNC path e.g. \\hostname\fileshare\.. Of course
these file shares can be protected by Windows Server Failover Cluster.
Another feature is called continuous availability, which means that in
case of file share failover, access to file share will be guaranteed, and
all open file handles will be restored during the failover in a fully
transparent manner to clients without any downtime! Technology behind
is called SMB transparent failover.
In Windows Server 2012 Failover Cluster there are two types of
clustered file shares:
25. File Server for general usethis file server option is used to
provide central location on network for users to share files or
server applications that open and close files frequently.This type
of file server is used for SAP SAPMNT file share
26. Scale-Out File Share for application datathis file server option
is used to provide central location on network to provide storage
for sever applications (like SQL Server) or virtual machines (e.g.
Hyper-V) that leaves files open for extended period of time.This
type is primarily used as remote storage for Hyper-V and SQL
Server. You should use dedicated cluster for protection of file
shares. Hyper-V or SQL Server machines are running on a
separate machine(s), outside of Scale out file share cluster.
Picture: Microsoft Failover Cluster Wizard to Create File Server
Both of them support continuous availability during the failover.
SAP HA with Windows Server Failover Clustering on Windows
Server 2012
As already mentioned, file server for general use is type of clustered file
share that is used for SAP SAPMNT file share, that is part of SAP
(A)SCS clustered instance.
If during runtime of SAP Batch job activities (or any other SAP process
that writes to global file system) a failover of (A)SCS instance happens,
file server service will offer UNINTERRUPTED file and folder access!
If there are any files opened, all file handled will be moved to another
server that is fully transparent to clients.
Practically, this means that SAP batch job activities will not be
stopped and it will continue to run during and after the (A)SCS
instance failover!
Picture: Failover of ASCS instance will be transparent to SAP batch job
activities
Client’s prerequisiteSAP Application servers are clients that consume
SAPMNT file share. Prerequisite is that that SAP application servers
are also running on Windows Server 2012.
Installation of SAP Application Servers outside of WSFC
As Microsoft do not support SMB loopback, it is not possible to run file
server client and server on the same cluster which protect SAPMNT File
Server. Therefore, ALL SAP application servers have to be installed
and run outside of WSFC cluster.
How to enable Continuous Availability File Server
Currently SAP installation tool doesn’t active continuous availability
feature for SAPMNT share. You need to enable it manually.
To enable continious availability feature, after the SAP installation, open
failover cluster manager, select SAP <SID> cluster group, on the lower
tab select Shares. Notice that Continious Availability for sapmnt file
share is set to No.
Double click on sapmnt share, and choose Settings tab.
Make sure that Enable continuous availability is checked.
Notice that now Continuous Availability for sapmnt file share is set to
Yes.
You can also use PowerShell to change enable continuous availability
for sapmnt file share like this:
set-smbshare -Name sapmnt -ContinuouslyAvailable 1 –
Force
Running WSFC in Physical and Virtual Environment
You can run WSFC to protects SAP SPOFs both in physical or virtual
environment. If you run WSFC inside of guest OS virtual machines, this
type of clustering is called guest clustering. Both Microsoft Hyper-V and
VMware vSphere supports guest clustering with Windows Severe
Failover Cluster.For more information on SAP NetWeaver HA in
physical and virtual environment you can check in this White Paper:
SAP NetWeaver High Availability and Business Continuity in
Virtual Environments with VMware and Hyper-V on Microsoft
Windows
Utilizing Continuous Availability File Server Feature to Achieve
Zero Downtime for SAP SAPMNT file share in unplanned and
planned downtime scenarios
Continuous Availability File Server can be used both in:
unplanned downtime scenarios like: crash of Windows OS, ASCS
instance, or hypervisor in virtual environment , and
planned downtime scenarios like: patching and rebooting of
Windows Server cluster nodes that is protecting (A)SCS Instance,
SAP kernel patching – which requires restart of (A)SCS instance
For both scenarios Continuous availability feature is offering ZERO
DOWNTIME for SAPMNT file share.
Clustering whole SAP NetWeaver Stack with Microsoft WSFC
You can cluster many DBMS with Microsoft WSFC like SAP Sybase
ASE, MaxDB, Microsoft SQL Server, Oracle and IBM DB2. In this way
complete SAP NetWeaver stack will run on Windows 2012 platform.
Running hybrid SAP HA scenario with SAP HANA DB and
Microsoft WSFC
If you would love to utilize benefits of running SAP NetWeaver on top
In-memory HANA DB, and have HA setting and benefits of Windows
Sever 2012 failover features, you can run heterogeneous setting like
this:
as SAP HANA DB is running on SuSE Linux OS, you have to
separately deal with HANA HA setting
Use Windows Severe 2012 Failover Clustering to protect (A)SCS
Instance and run SAP Application servers on Windows Server
2012All These Windows instances can run in physical or virtual
environment.
This is supported scenario by SAP, and it is the way how we in SAP
Global IT are setting internal HANA business critical SAP systems.
Picture: Hybrid HA deployment of NetWeaver on HANA, where HANA
is running on SuSE Linux, (A)SCS is protected with Windows Cluster,
and Application servers are also on Windows 2012
For more details on HANA HA check this White Paper: Introduction to
High Availability for SAP HANA (updated for SPS06)
1) We are trying to install the SAP BI 7 in Windows 2003 64bit server MSCS
environment with MS Sql DB. In that we are installed and configured the
Windows 2003 64 bits server with MCSC and MS Sql server 2005 as per the
SAP Net weaver 2004s guide. In that central services instance for ABAP and
Java installation are completed after that we need to do the SAP Cluster
group configurations before install the SAP Enqueue replication service
My Query is SAP Cluster group configurations details steps? (Like share disk,
Abap and Java instance and service configurations details in Microsoft Cluster
service environment)
A) We have to install ASCS and SCS services in one of the shared disks
which is a dedicated storage for SAP Group in a cluster.
Please check whether SAP group is created in cluster first and check what
disks are assigned to it.
I believe if you have installed ASCS and SCS already, it means shared disk is
used for the installation other wise installation will not go through.
If I am not wrong, then carry on with the installation, the next step will be
configuring First MSCS node followed by DATABASE instance installation,
Additional MSCS node, ERS on node 1 (two times one for abap one for java),
ERS on Node 2 (two times),Central instance and finally Dialog instance
installation.
I hope this will help you.
Patches
1. When you will apply patches? Give short of examples the
situation, where to troubleshoot you have applied patches!SMP
provides correction in form of patches. It may contain corrections
similar to SAP notes, ABAP programming.It helps to avoid
Runtime error and dumps. You can check logs at SPAM.
Sometime leaving the TR un released caused the issue or some
manual correction is required.In that case we cannot apply sap
notes (even if we find them at OSS) as we are stuck in SPAM error
phase.Also in backend usr\sap\trans\log and temp file contains the
logs for error.
2. Why it`s required to shutdown all SAP, Database instances &
services during kernel up-gradation.Because SAP system and
database uses kernel service starsapsrv.exe for their functioning, if
the service file to be updated is in use, kernel upgrade is not
possible then.
3. Why it`s required to keep all instances up during the updating
hot package?Because SAP system process the system
tables/object and modifying them during updating hot package
besides hot packages are the most basis packages required for
SAP system to work fine
4. Can we apply higher version Patch Level using lower version of
SPAM?If not, why?No, To meet the pre requisites, we need to
update our SPAM/SAINT level.To update our package, according
to SAP standard- First update Kernel to latest level available at
SMP.Then SPAM/SAINT, apply maintenance certificate then start
with sap components patching/upgrade.
5. What is importance of Import Queue?It servers 2 purpose: 1.
Maintain the support packs selected. 2. Check the dependency,
actually queue can’t be defined unless the dependencies of
selected components meet and let them apply in order.
6. Can we apply higher level of HR or other Financial Patch with
lower version of ABAP/BASIS patch level?Never. Because SAP
Basis/ABAP are the most basic components that need to be
updated before you can update any components.
7. Is there any sequence to apply hot packages?Means, BASIS –
ABAP – HR – FIN or HR – FIN – ABAP – BASIS vice versaBasis
and ABAP should be at first then others
8. BASIS and ABAP patch level should be same. So first which
patch level should be updated ABAP or BASIS? If BASIS then
why? If ABAP then why?Not necessary for them to be at same
patch level. Though standard says they should be at same level.
Generally we apply BASIS and ABAP together. If we have to apply
one at first, it should be basis.9. Why you update SPAM version
before applying other patches? What is the logic behind this?A
SPAM/SAINT Update (PAT) contains updates and improvements
to the SAP PatchManager and the SAP Add-On Installation Tool.
10. How you will decompress the downloaded compressed patch
files?After decompression what are the two files generated. State
the names of that files & type of the files?SAPcar –xvf filename.sar
They will contain PTT and ATT files.
11. Why we login as DDIC user at the time of patch
administration?If we logged as different user, what will the
problem?Users are locked generally for SPAM upgrade. Hence
use DDIC, its standard SAP user.
12. Updating the patch level means Updating of SAP system or
Upgrading SAP system?Updating the SAP system.
13. You are updating patch level and kernel version of 4.6c to the
latest patch level of SAP that you found in service.sap.com. So,
will it become 4.7ee to 4.6c version? If not what will be the
changes?4.7c
12. If not then what is upgrading? Upgrading is the process of
increasing the Level like oracle upgrade from 10g to 11g, patching
is going from oracle 10.2.0.2 to 10.2.0.4
13. How from Client 000, all clients exists in SAP system get
effected?
In which table these stored?
It updates standard tables objects and data dictionary objects
which are accessible by all the clients.