A common mistake that most of the SAP admins do is, making use of the 'startsap' and 'stopsap' commands for starting/stopping the system.
These commands got deprecated in 2015 because the scripts were not being maintained anymore and SAP recommends not to use them as many people have faced errors while executing those scripts.
For more info and the bugs in scripts, you can check the sap note 809477. These scripts are not available in kernel version 7.73 and later.
So if these are not the correct commands, then how to start/stop the sap system?
In this post, we will see how to do it in the correct way.
SAP SYSTEM VS INSTANCE
In SAP, an instance is a group of resources such as memory, work processes and so on, usually in support of a single application server or database server within a client/server environment. An instance runs and manages the application which has to be installed on the server.
An SAP system can consist of one or more instances, such as an SAP system with a single instance with only one central server or a client/server system with two or more separate instances. Basically, System is a collection of instances like CI, CS, AI, DB etc which can be on one server or multiple servers. A system also contains other processes which manage these instances.
A BIT ABOUT SAPSTARTSRV:
In Linux, each SAP instance is managed by a service/daemon named 'SAPSTARTSRV'. Without starting this service, you can't start/stop the instance.
So before starting/stopping the sap system, you have to make sure that the SAPSTARTSRV service is running.
CHECKING STATUS OF THE INSTANCES:
First you should check the status of the instances using the GetProcessList function of sapcontrol.
In the above image, you can see that both the instances are running.
STARTING/STOPPING AN SAP SYSTEM:
Stopping an SAP system
To stop the whole system, you have to use the StopSystem function of sapcontrol.
Here, you just have to provide only one instance number. The other related instance will be stopped automatically.
You should wait for 3-5 minutes to let system stop completely before checking the status.
In the above image, you can see that both the instances have been stopped successfully using only one command.
Starting an SAP system
Similarly, to start the whole system you have to use the StartSystem function of sapcontrol.
Here also, you just have to provide only one instance number. The other related instance will be started automatically.
You should wait for 3-5 minutes to let system start completely before checking the status.
In the above image, you can see that both the instances got started successfully using only one command.
Directly Restarting an SAP system
Note: You can also provide following options after StartSystem/StopSystem command:
These options allows you to start/stop specific type of instance.
STARTING/STOPPING AN SAP INSTANCE:
Above process was about starting/stopping the whole system. Now we will see how to start/stop the individual instances.
Stopping an SAP instance:
To stop the individual instance, you have to use the Stop function of sapcontrol.
Here, you have to provide the respective instance number of the instance. The other related instance will not be stopped automatically. You have to stop it using same command with the instnce number of other instance.
Starting an SAP instance:
Similarly to start the individual instance, you have to use the Start function of sapcontrol.
Here also, you have to provide the respective instance number of the instance. The other related instance will not be started automatically, you have to start it using same command with the instnce number of other instance.
SAPSTARTSRV SERVICE AND TROUBLESHOOTING:
Sometimes we may face issues while starting/stopping the syatem or checking status of the instances.
In order to fix those issues, we may need to start/stop the SAPSTARTSRV service.
So, let's see how to start/stop the SAPSTARTSRV service.
Stopping SAPSTARTSRV service:
We will first check whether the SAPSTARTSRV service is running or not using the ps command.
Now we will stop the service and check for the running services.
As you can see in the above image, the SAPSTARTSRV service has been stopped for instance 00 .
Starting SAPSTARTSRV service:
While starting the SAPSTARTSRV service, it's mandatory to specify the SID of the system.
Common issues that you may face:
This issue comes when your sapstartsrv service is not running for the instances. To resolve this issue, you just need to start this service.
For the demo purpose, we will intentionally stop the sapstartsrv service for instance 00
The above image shows that two sapstartsrv processes are running, one for each instance.
As you can see in the above image, sapstartsrv has been stopped for instance 00.
Now if we'll try to start/stop the system or get instance status, it will throw below error.
After starting the SAPSTARTSRV service, you can see in the below image that system has been started successfully without throwing an error.
Process of an instance is in "Running but not responding" state
In this case you need to stop the saptartsrv services and restart the service and the instances.