Problem Statement & Use Case : Let’s divide the arose problems in two levels :
1. With the rise of hyperscaler managed services , if you are onboarded for a customer project only for some short term critical maintenance services like upgrades, migrations , often you are going to find several access issues for administrators specially on SAP HANA client level . And for say if you only have 2 weeks to accomplish your entire activity and raising a bug in DevOps to allow SAP HANA cockpit from your VDI and to have proper access to that and following up and eventually get that done in a completely new customer environment is quintessentially mess. It may end up with changing the firewall rules or a certain amount of unnecessary delay if you take my personal experience.
2. Now again you are in confusion because you don’t know if you change the parameter whether SAP HANA will require a restart or not to get that activated. You may check from help guides but eventually you feel more convenient to see what your system suggests. Why to search for guides when you have access to your system and I can tell you SAP HANA will answer to your queries when asked properly
So what would you do if you are Technology Consultant, middle of an upgrade activity and for some issues you have to see the restart properties some SAP HANA params and tweak them urgently but you’re not entitled to neither SAP HANA Cockpit nor SAP HANA Studio (most preferable client tools for SAP HANA administrations) but have access to server.
Let’s use two saviors in this regard i.e. hdbsql views and a python script : setParameters.py.
The later one is released with SAP HANA 2.0 SPS05. And I will not go into the details of the script uses because that’s already explained by another colleague in a blog post(will find that in reference section later).
Example scenario : Let us assume there’s a situation in the middle of a maintenance activity that needs you to change the parameter ‘tcp_keepalive_count’ to 10 from default value 5. You have display-only sql credentials but not having access to client tools.
Now in this situation you may use ALTER SYSTEM ALTER CONFIGURATION ddls too if you get sql credentials with proper authorization. I had only lookup sql access to SAP HANA, so only option left was to use setParameters.py .
Solution : To allow users to log on to the SAP HANA Scale out database from a client using Kerberos authenticated SSO, the following configuration steps are necessary:
1. Check if the parameter needs restart
2. Change the parameter with setParameters.py
3. Check the views to observe the dynamic behavior of restart properties
4. Reboot SAP HANA
5. Check the views again to observe the dynamic behavior of restart properties
Now let’s go through little bit details of each one stated above :
1. Check if the parameter needs restart: We shall use three SAP HANA views to get the entire picture of this exercise i.e. :
CONFIGURATION_PARAMETER_PROPERTIES : Displays metadata and properties of the public configuration parameters for SAP HANA. It has a column RESTART_REQUIRED that specifies whether or not a restart is required. The values are: TRUE, FALSE, and CUSTOM. CUSTOM indicates a custom function or callback to decide whether a restart is required or not depending on the new value to be set. This one defines the default behavior of system and the value of RESTART_REQUIRED does not get changed if you modify the parameter.
M_CONFIGURATION_PARAMETER_VALUES : Displays landscape service parameter values. It also has a column RESTART_REQUIRED that displays if the parameter value has been changed and requires a restart to become effective: TRUE/FALSE. By querying this view you will come to know the current system need, it’s dynamic.
M_INIFILE_CONTENT_HISTORY : Provides change history information for configuration (ini) files.
Now in our example scenario:
Log into SAP HANA by using the display only user and hdbsql
No comments:
Post a Comment