Saturday, January 30, 2016

2098724 - Error "SAP DBTech JDBC: [257] (at ...): sql syntax error: line 1 col ... (at pos ...)" when creating user in SAP HANA repository

Symptom
  • You use SAP Provisioning Framework(version 1 or 2) to create user in HANA repository, but get error:

    SAP DBTech JDBC: [257] (at ...): sql syntax error: line 1 col ... (at pos ...)

    Exception from Add operation:com.sap.idm.ic.ToPassException: Could not create user in HANA
     
  • The dse log of connector job "Create SAP HANA user" shows below similar call stack for the error exception(see KBA 2038329 about how to generate higher level job dse log):

    Error code 257 SQL state:HY000(!)
    java.lang.Throwable: SAP DBTech JDBC: [257] (at ...): sql syntax error: line 1 col ... (at pos ...)
          at com.sap.idm.ic.Logger.logIt
          at com.sap.idm.ic.ToPass.logIt
          at com.sap.idm.ic.ToHANA.addEntryCustom
    ...
    Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257] (at ...): sql syntax error: line 1 col ... (at pos ...)
          at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException
          at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException
          at com.sap.db.jdbc.packet.ReplyPacket.createException
          at com.sap.db.jdbc.ConnectionSapDB.throwSQLError
          at com.sap.db.jdbc.ConnectionSapDB.execute
    ...


Environment
SAP Netweaver Identity Management 7.2


Reproducing the Issue
Assign HANA repository account privilege to one user, so that to create it in the HANA repository.


Cause
The authentication mechanism of the user was not specified properly(missing) when creating the user in HANA. HANA requires that at least one authentication mechanism has to be specified to allow the user to connect and work with the database instance. Please refer to section Additional Prerequisites for SAP HANA Connector of SAP Provisioning Framework configuration guide, which provides links to HANA documentations.


Resolution
  • Specify authentication mechanism for the user properly according to HANA requirements. For example, password.
  • If you want to set password as authentication mechanism for the user, please also refer to this Wiki about password provisioning.


Keywords

HANA Database, ToHANA, plugin, hook task 1.

2215896 - Cannot load Hana Global Temporary Table from Data Services

Symptom
Target for Data Services job is local or Global temporary Hana table and the execution logs show that data is inserted into it. But when checking from Hana or View data nothing gets stored in the tables.


Environment
  • SAP Data Services 4.x
  • Hana 1.00.x


Reproducing the Issue
  • Create a job with hana global temporary table as target. Run the job. You can see rows getting inserted but no data is accessible after job finishes execution. Data cannot be viewed in Hana Studio or in View Data in Data Services.


Cause
This is due to following properties of global and local Hana temporary tables and by Hana Design.
Global Temporary Table -
Table definition is globally available to any connection once created. It means metadata of the table is shared across sessions. But the data in a global temporary table is session-specific meaning that data inserted by a session can only be accessed by that session. The table is dropped when the last connection using it is closed.
Local Temporary Table -
Temporary table is visible only in the current session. Data in a local temporary table is session-specific meaning only the owner session of the local temporary table is allowed to insert/read/truncate the data. It exists for the duration of the session and data from the local temporary table is automatically dropped when the session is terminated.


Resolution
Do not use Global or Local Temporary tables with Data Services, use regular tables instead.


See Also
The behavior can also be reproduced outside Data Services by creating Hana Global Temporary table. Inserting and sleecting from it in 1 session, which returns whatever is inserted, if you insert and select in separate SQL it would not return any data.


Keywords

ds data services hana global temp table local

1902033 - How to handle HANA Alert 3: ‘Inactive Services’

Symptom
When checking the Alerts tab in HANA, there is an alert called 'Unexpected state STOPPING found when starting StatisticsServer'.
  • In HANA Studio, you would find this alert by going to Administration Console -> Alerts -> Show: all alerts
alert_1.jpg
  • In Solution Manager, you would find this alert using transaction DBACOCKPIT -> choose HANA System -> Expand Current Status -> Alerts
 To check the alert details and the exact time when this error has occurred, please go to HANA Studio -> Administration Console -> Alerts -> double click on the alerts:
alert_2.jpg


Environment
All tests have been performed on HANA 1.0 revision 45


Cause
Following prerequisite is met:
The affected service is not included in the daemon configuration file or the services are set to be restarted automatically according to the configuration.
alert_3.jpg
 Normally there are 3 reasons for this alert:
1. Services have been manually stopped or killed for a specific purpose. The DB administrator could have triggered the HANA alert by stopping or killing services from HANA Studio.
alert_4.jpg
You can check the Daemon Trace File for detailed information. In the trace file, you can find which service is inactive and the reason why it is inactive.
a. Check Daemon Trace File in HANA Studio
alert_5.jpg
b. Check daemon trace file from OS level:
The file is usually located in directory /usr/sap/<SID>/HDB<InstanceNumber>/<hostname>/trace
alert_6.jpg
For example, if trying to kill the nameserver from HANA Studio, we would catch the following information from the daemon trace file:
TrexDaemon.cpp(10226) : process hdbnameserver with pid 43929 exited because it caught signal 9
[43906]{0}[0] 2013-01-28 08:05:10.377704 w Basis        ProcessExecution.cpp(00099) : Active Context before fork ID: 43908 Name: NetworkChannelCompletionThread State: Inactive
[43906]{0}[0] 2013-01-28 08:05:10.377718 w Basis        ProcessExecution.cpp(00099) : Active Context before fork ID: 43909 Name: NetworkChannelCompletionThread State: Inactive
[43906]{0}[0] 2013-01-28 08:05:10.377725 i Daemon       TrexDaemon.cpp(08656) : start 'hdbnameserver' as process 76615
[43906]{0}[0] 2013-01-28 08:05:17.727685 i Daemon       TrexDaemon.cpp(10341) : program hdbnameserver with pid 76615 is started
[43906]{0}[0] 2013-01-28 08:05:17.727720 i Daemon       TrexDaemon.cpp(10355) : runlevel 5 completely started
2. HANA host crashed or restarted due to some unexpected reason.
3. The revision of the HANA DB is not at the latest version.


Resolution
1. If the service has been killed manually for some specific purpose, you can ignore the alert.
2. For any inactive service alert, you need to check the reason why this service was inactive (check the Daemon Trace File to find the reason for the inactive service)
  • Check Daemon Trace File in HANA Studio:
alert_7.jpg
  • Check Daemon Trace File on OS level:
The file is usually located in directory /usr/sap/<SID>/HDB<InstanceNumber>/<hostname>/trace:
alert_6.jpg
Example:
TrexDaemon.cpp(10226) : process hdbnameserver with pid 43929 exited because it caught signal 9
[43906]{0}[0] 2013-01-28 08:05:10.377704 w Basis        ProcessExecution.cpp(00099) : Active Context before fork ID: 43908 Name: NetworkChannelCompletionThread State: Inactive
[43906]{0}[0] 2013-01-28 08:05:10.377718 w Basis        ProcessExecution.cpp(00099) : Active Context before fork ID: 43909 Name: NetworkChannelCompletionThread State: Inactive
[43906]{0}[0] 2013-01-28 08:05:10.377725 i Daemon       TrexDaemon.cpp(08656) : start 'hdbnameserver' as process 76615
[43906]{0}[0] 2013-01-28 08:05:17.727685 i Daemon       TrexDaemon.cpp(10341) : program hdbnameserver with pid 76615 is started
[43906]{0}[0] 2013-01-28 08:05:17.727720 i Daemon       TrexDaemon.cpp(10355) : runlevel 5 completely started
Here you can see that hdbnameserver with old pid 43929 was inactive because it caught signal 9 which means it was killed by kill -9.
3. If the revision of HANA DB is not the latest version, it is strongly recommended to upgrade the HANA DB to the latest version.


See Also
  • Are there any Functional Constraints?
    • During services inactive period, the HANA system would be unavailable to use.
  • Are there any Non-functional Constraints? No
  • Are there any Side-effects? No
  • Is there any suggestion to avoid this alert?
    • For reason 2, Never use kill against HANA processes in production environment.
    • For reason 3, update HANA to the latest available revision.


Keywords

Inactive, kill services, restarted, Operations Recommendation, #OpsRec-HANA

1700213 - Configuration Steps To Enable HANA Connectivity In Feature Pack 3

Symptom
  • SAP HANA is not listed in the drop down in the Central Management Console (CMC) when attempt to create a connection to SAP HANA.


Environment
  • SAP BusinessObjects Business Intelligence Suite 4.0 Feature Pack 3
  • SAP HANA Database


Reproducing the Issue
  1. Access the Central Management Console (CMC)
  2. Create an OLAP connection
  3. Select the drop down to select the OLAP source
  4. SAP HANA is not listed


Cause
SAP BusinessObjects Analysis, edition for OLAP can connect to HANA data sources.  In order to enable this connectivity a few steps - outlined below - must be performed.  We expect that these manual steps will not be necessary with the release of Service Pack 4.




Resolution
Windows
  1. Using the Central Management Console (CMC), stop the Adaptive Processing Server (APS) that hosts the MDAS. For more information about the APS and CMC, see the SAP BusinessObjects Business Intelligence Platform Administrator Guide.
  2. Run the hdbinst installation program found in the SAP HANA client installation directory.
  3. Copy the file ngdbc.jar from the SAP HANA client installation directory (for example, C:\Program Files (x86)\sap\hdbclient\) to the java\pjs\services\MDAS\lib\external subfolder of the BI platform installation folder. If the default BI platform installation folder is used, the destination folder is: C:\Program Files (x86)\SAP BusinessObjects\SAPBusinessObjects Enterprise XI 4.0\java\pjs\services\MDAS\lib\external.
Note:
  1. You will need to create the external subfolder under the java\pjs\services\MDAS\lib folder.
  2. Restart the Adaptive Processing Server.

SUSE Linux
  1. Using the Central Management Console (CMC), stop the Adaptive Processing Server (APS) that hosts the MDAS. For more information about the APS and CMC, see the SAP BusinessObjects Business Intelligence Platform Administrator Guide.
  2. Switch to the hdbclient installer path.
  3. Change permissions on the sdbrun file in the SAP HANA client installer folder by typing chmod 777 sdbrun.
  4. Install the SAP HANA client by performing these steps:
a. Type the command su.
b. Invoke the SAP HANA client installer by typing ./hdbinst -1 client.
c. Type the command exit su.
    5.  Copy the file ngdbc.jar from the /usr/sap/hdbclient32/ folder to the SAP BusinessObjects Enterprise XI 4.0/java/pjs/services/MDAS/lib/external/ folder.
Note:
  1. You will need to create the external subfolder under the java/pjs/services/MDAS/lib folder
  2. Restart the Adaptive Processing Server.
Red Hat Enterprise Linux
  1. Using the Central Management Console (CMC), stop the Adaptive Processing Server (APS) that hosts the MDAS.  For more information about the APS and CMC, see the SAP BusinessObjects Intelligence Platform Administrator Guide.
  2. Add a new temporary user, named “temp”.
  3. Log out from the console terminal and log back in as “temp”.
  4. Download and install the 32-bit version of libstdc++ for Red Hat Enterprise Linux (the SAP HANA installer requires the 32-bit library).
  5. Switch to the hdbclient installer path.
  6. 6.Change permissions on the hdbinst file in the SAP HANA client installer folder by typing chmod 777 hdbinst.
  7. Change permissions on the sdbrun file in the SAP HANA client installer folder by typing chmod 777 sdbrun.
  8. Install the SAP HANA client by performing these steps:
a. Type the command su.
b. Invoke the SAP HANA client installer by typing ./hdbinst -a client.
c. Type the command exit su.
   9.  Copy the file ngdbc.jar from the /usr/sap/hdbclient32/ folder to the SAP BusinessObjects Enterprise XI 4.0/java/pjs/services/MDAS/lib/external/ folder.
Note:
  1. You will need to create the external subfolder under the java/pjs/services/MDAS/lib folder.
  2. Restart the Adaptive Processing Server.


Keywords

SAP HANA,
Analysis for OLAP,
Feature Pack 3

1979585 - In Explorer under Manage Spaces, HANA connections shows "NewDB server does not respond".

Symptom
In Explorer Manage Spaces, the connection to HANA under "SAP HANA appliance" category shows broken and when hovering the mouse over it the message displayed is "NewDB server does not respond".  Note: The screenshot below only shows one connection, there may be others on the list that are not shown
exp.png


Environment
SAP BusinessObjects Explorer 4.0
SAP BusinessObjects Explorer 4.1


Reproducing the Issue
  1. Create a JDBC connection to HANA in Information Design Tool (IDT) with correct credentials and hostname:port.
  2. Verify from Explorer host that there are no network issues reaching the HANA host and port.
  3. Login Explorer and click Manage Spaces.


Cause
This issue can be seen under Manage Spaces when there are multiple connections to HANA specified in IDT which are not valid, meaninng the login credentials are not correct or hostname/port not correct for those connections. Master server will at times flag the good connection broken as well and therefore will show broken under Manage Spaces.



Resolution
Delete any HANA connections from IDT that are not valid or fix the credentials, hostname, port, etc so they are valid and working.


Keywords

Explorer jdbc hana connection, newDB server not responding

1977242 - How to handle HANA Alert 53: 'Pagedump files'

Symptom
This Knowledge Base Article (KBA) is part of a series of HANA Operations Recommendations.
Its focus is on providing best practice instruction on handling HANA Alerts related to Page Dump Files (Alert ID 53).
End-Users may experience issues related to file-system or disk inconsistencies or even HANA Database inconsistencies.


Environment
SAP HANA 1.0 revision 81 or higher


Cause
This alert is triggered when a page dump is written. When HANA reads a page and the reading fails due to a wrong checksum, the read action is repeated once and a page dump is written.
  1. If the repeat succeeds, the system will continue its operation - yet this kind of problem indicates there might be problems affecting the underlying file system or disks. Additional investigations as outlined below are needed.
  2. If the repeat fails for a second time, the system will crash.


Resolution

PROCEDURE

  1. Check Alerts
  2. Check Repeat and File System Consistency
  3. Check HANA Consistency

PATH

  • SAP HANA Studio – SAP Hana Administration Console – Alerts
  • Solution Manager – DBACOCKPIT – Choose Hana System – Current Status – Alerts
  • SAP HANA Studio – SAP Hana Administration Console – Diagnosis Files – Fillter – Modified by time

HOW-TO

1.   Check Alerts
When checking the Alerts tab in HANA Studio or Solution Manager, there is an alert called “1 new pagedump files(s) found on host <HOSTNAME>”.
In HANA Studio, you will find the alert by going to Administration Console -> Alerts -> Show: All Alerts -> Filter: pagedump.
HANA_Studio.GIF
In Solution Manager you will find the alert by using transaction code DBACOCKPIT -> choose HANA system -> expand Current Status -> Alerts. Filters can be set on the Alert Name or Description. Note that the filter string in DBACOCKPIT should be *pagedump*.
Solman.GIF
Remember for this “Check for new page dump file” alert, it is auto-refreshed every 15 minutes, so the time stamp on the alert may not be the exact time when dump was created.
To check the exact time in HANA Studio, please go to Administration Console -> Diagnosis Files -> enter ‘pagedump’ in Filter -> sort the column Modified by time. The exact time can also be deduced from the Name of the page dump file.
HANA_Studio2.GIF

2.   Check Repeat and File System Consistency
As mentioned in the cause section, there are two different circumstances:
  a. Page dumps without a crash
When you see page dumps and the system did not crash, it means that the page read operation encounters a checksum mismatching but repeated the read successfully. This may be causes by potential problems of the underlying file-systems or disks.
Check file system consistency
In Unix and Unix-like operating systems, such as Linux and Mac OS X, there is a system utility which can be used to check the consistency of the file system:
'fsck' - the acronym for File System Check.
Generally, fsck is run automatically at boot time. There are two common triggers for automatically executing fsck. Either the operating system detects that a file system is in an inconsistent state (likely due to a non-graceful shutdown such as a crash or power loss), or after a certain number of times that the file system is mounted (to prevent small, undetected inconsistencies from becoming exacerbated).
A system administrator can also run fsck manually at any time.
Warning:
As running fsck to repair a file system which is mounted for read/write operations can potentially cause severe data corruption/loss, the file system is normally checked while unmounted, mounted read-only, or with the system in a special maintenance mode that limits the risk of such damage.
For more information about the usage of fsck, please refer to the linux manual page of "fsck".
If you are not confident about executing the system utility by yourself, we strongly recommend you consult your hardware partner about the page checksum mismatching situation.
  b. Page dumps with crash
If the system crashes after a page dump, it may indicate corrupted persistency. This might be caused by a HANA problem or a file-system problem:
Hardware issues
  • Disk (physical I/O errors, wrong data written to disks, bugs in controller firmware)
  • Network between database server and disks
  • Memory on database server (e.g. flipping bits)
 Software issues
  • Operating system on database server
  • SAP HANA
     
3. Check SAP HANA Consistency
If you already face symptoms that are indicating SAP HANA inconsistencies and you want to check if and to what extent corruptions exist, there are several build-in procedures, scripts and tools that might help:
  • Meta data: CHECK_CATALOG procedure
  • Row and column store: CHECK_TABLE_CONSISTENCY procedure
  • Column store: uniqueChecker.py script
  • Row store: checkRowStore.py script
  • Backups: hdbbackupcheck tool
  • Backups: hdbbackupdiag –check


See Also
Additional Support:
For more informoation about these technical consistency checks for SAP HANA DB, please refer to SAP Note 1977584.


Keywords

SAP, SAP HANA, KBA, Alert, Page Dump, Operation Recommendations, #OpsRec-HANA

1644554 - HANA Calculation, Analytic and Attribute Views don't show up in Crystal Reports

Symptom
HANA Calculation, Analytic and Attribute Views don't show up in Crystal Reports


Environment
  • HANA version (1.0 SP2)
  • ODBC and JDBC
  • Crystal Reports 2008 V1 SP4 or Crystal Reports 2011 SP02
  • BusinessObjects Enterprise XI 3.1 SP4 or SAP BusinessObjects Business Intelligence Platform 4.0 SP02


Reproducing the Issue
  1. In Crystal Reports 2008 V1 SP4 or Crystal Reports 2011 SP02 Connect to HANA via Create New Connection using ODBC or JDBC.
  2. Notice that Tables and SQL Views are listed for selection while Calculation, Analytic and Attribute Views are NOT.


Cause
HANA Column, Analytical and Attribute Views are not support by:
  • Crystal Reports 2008 Service Pack 4
  • BusinessObjects Enterprise XI 3.1 SP4
  • Crystal Reports 2011 Support Pack 02
  • SAP BusinessObjects Business Intelligence Platform 4.0 SP02


Resolution
HANA Calculation, Analytic and Attribute Views are supported in Crystal Reports 2008 Service Pack 5 and Crystal Reports 2011 Feature Pack 03


Keywords

  • HANA Column, Analytic and Attribute Views
  • Crystal Reports
  • Analytical
  • Column

1977221 - How to handle HANA Alert 57: 'Secure store file system (SSFS) availability'

Symptom
The following SAP HANA alert is issued: “Your database is currently running without the secure storage file system (SSFS)"


Cause
During HANA system start up, file SSFS_<SID>.DAT cannot be found.
The file may have been deleted, moved or its name has been changed. Be aware that the file is part of the SAP backup procedure of SAP HANA databases. In a distributed system every host must be able to access this file.


Resolution

Procedure

  1. Check that a correct path to the file SSFS_<SID>.DAT is maintained in parameter ssfs_key_file_path of file global.ini.
  2. Check if the file is actually available at the configured location. Copy the file from its backup location if it is not available. If no backup on the file system is available, the SSFS_<SID>.DAT file can be recovered from the SAP HANA Data backup.
  3. Check file permissions on OS level.
  4. Check the network configuration if the file is accessible from host.

Path

  1. SAP HANA Studio - SAP HANA Administration Console - Configuration - global.ini - cryptography.
  2. OS Access with <SID>adm user.

How to

Check out the attached document for more details. If you need further assistance, open an SAP incident on component HAN-DB and attach the information on performed analysis steps and your findings.


See Also
SAP HANA Administration Guide - 3.3 Managing Encryption of Data Volumes in the SAP HANA Database and 3.4 Changing Encryption Keys for Secure Storage of Logon Information
SAP HANA Security Guide - 10 Data Storage Security in SAP HANA
SAP Note 2078117 - CREATE REMOTE SOURCE fails with error "Storing credential to the persistency failed" aes_decrypt_end: wrong or inconsistent padding decrypted


Keywords

HANA Alert
SSFS
Operations Recommendation
#OpsRec-HANA

2242507 - HANA out of memory problem while using Smart Data Access

Symptom
You are using HANA Smart Data Access to fetch a large amount of data form a remote database and to process them within the HANA database. You are on HANA DB revision 85.02 or lower. During the processing of the data from the remote database, the used memory of HANA is continously rising and the memory is not released back afterwards. In the end, you run into an out of memory problem. The memory allocator pool/itab which includes temporary column store results is consuming most of the memory.


Environment
You are using HANA database on revision 85.02 or lower. You are also using HANA Smart Data Access.


Reproducing the Issue
The issue can be frequently seen while using Smart Data Access to fetch a large amount of remote data which are processed in the HANA database.


Cause
The issue is due to a memory leak problem which is existing on HANA revision 85.02 or lower. The problem has been solved since HANA revision 91 and the resolution has also been backported to HANA maintenance revision 85.03.


Resolution
The problem has been solved since HANA revision 91 and the resolution has also been backported to HANA maintenance revision 85.03. Please upgrade your database to revision 85.03 or higher.


Keywords

HANA out of memory, pool/itab, memory leak, smart data access

1977253 - How to handle HANA Alert 58 - 'Plan Cache Size'

Symptom
This Knowledge Base Article (KBA) is part of a series of HANA Operation Recommendations.
Its focus is on providing best practice instruction on handling HANA Alerts related to SQL Plan Cache (Alert ID 58 - Plan Cache Size).
End-Users may experience performance issues due to:
  1. Frequent Eviction of SQL Execution Plans from Cache and
  2. SQL Statement Recompilation


Environment
SAP HANA Database SPS 07 and higher.
Instructions in this Knowledge Base Article have been created on a SAP HANA Database Revision 80 (Support Package Stack SPS08) and may differ in other revisions.


Cause
In heavy loaded systems with a large variety of different or complex statements or systems making extensive use of native data models (e.g. from HANA Live), it may happen that the plan cache is too small to accommodate hot working set of the system leading to frequent eviction of execution plans from cache and statement recompilation. Consequently, performance will be suboptimal.


Resolution

PROCEDURE 

  1. Check Alerts
  2. Check Plan Cache Overview
  3. Calculate recommended size of Plan Cache of indexserver
  4. Change Configuration Parameter
  5. Test and validate new Configuration
  6. Further recommendations if countermeasures do not not help

PATH

  • SAP HANA Studio - SAP HANA Administration Console - Alerts
  • SAP HANA Studio - SAP HANA Administration Console - Performance - Load
  • SAP HANA Studio - SAP HANA Administration Console - SQL Console
  • SAP HANA Studio - SAP HANA Administration Console - Configuration

HOW-TO

1. Check Alerts

Access Alert Tab in HANA Studio and check 'Current Alerts':
a.) What is the priority of the alert?
b.) Is a service other than indexserver affected?
c.) Is an issue occurring on one host only or on multiple hosts?
Check all alerts and put a filter on Alert ID 58 and select the last 3 weeks:
d.) Is it a one-time or temporary issue or are there frequent occurrences based on historic alert data?

2. Check Plan Cache Overview

Plan Cache Statistics are stored in M_SQL_PLAN_CACHE_OVERVIEW. Access the SQL Editor of HANA Studio and use the following query that is based on the recommendations from SAP Note 1969700. The SQL query used is HANA_SQL_SQLCache_Overview_Rev70+ with 2 changes:
  • Its output is assimilated to the Column names of M_SQL_PLAN_CACHE_OVERVIEW.
  • In the modification section the output is limited to the indexserver. In case you need to analyze alerts relating to services other than the indexserver, then change the port from '%03' to '%'.
SELECTSO.HOST,
LPAD(SO.PORT, 5) PORT,
LPAD(TO_DECIMAL(SO.PLAN_CACHE_CAPACITY / 1024 / 1024 / 1024, 10, 2), 7) PLAN_CACHE_CAPACITY_GB,
LPAD(TO_DECIMAL(SO.CACHED_PLAN_SIZE / 1024 / 1024 / 1024, 10, 2), 7) CACHED_PLAN_SIZE_GB,
LPAD(SO.PLAN_CACHE_HIT_RATIO, 4) PLAN_CACHE_HIT_RATIO,
LPAD(ROUND(SO.EVICTED_PLAN_COUNT / SECONDS_BETWEEN(H.VALUE, CURRENT_TIMESTAMP) * 3600), 11) EVICTED_PLAN_COUNT_PER_H
FROM  ( SELECT                 /* Modification section */
    '%' HOST,
    '%03' PORT          /* Replace ‘%03’ with ‘%’ if alert is raised for other than indexserver */
    FROM   DUMMY
  ) BI,
M_SQL_PLAN_CACHE_OVERVIEW SO,
M_HOST_INFORMATION H
WHERESO.HOST LIKE BI.HOST ANDTO_CHAR(SO.PORT) LIKE BI.PORT ANDH.HOST = SO.HOST ANDH.KEY = 'start_time'

3. Calculate recommended size of Plan Cache of indexserver 

Based on the type of applications running on SAP HANA, the recommended Plan Cache Size is calculated differently. Please refer to SAP Note 2040002 for latest recommendations (This KBA refers to version 2).
Note that all input parameters used in this calculation imply an equilibrated system. This state is typically reached a couple of days after system start-up and can be validated by applying daily checks on M_PLAN_CACHE_OVERVIEW and reviewing the LOAD Monitor:
a.) Non ABAP System:
Recommended PLAN_CACHE_HIT_RATIO > 85. Calculate the recommended Plan Cache Size with the following formula:
PLAN_CACHE_SIZE > 85 * (current PLAN_CACHE_CAPACITY)/(current PLAN_CACHE_HIT_RATIO)
b.) ABAP System:
In ABAP System, the App server caches lots of statements so you need to have large SQL Plan Cache. Calculate the recommended Plan Cache Size with the following formula:
PLAN_CACHE_SIZE = # of SQL Connections * 15 MB
Example: If your system has # of SQL connections: 1228 then your plan cache size should be bigger than 1228 * 15 MB <= 20 GB.
But this is just a guideline. You have to check the PLAN_CACHE_HIT_RATIO to find the best plan cache capacity for you. 
c.) Mixed System:
See b.) 

4. Change Configuration Parameter

You need to increase your system's plan cache capacity when either one of the following criteria applies (refer to SAP Note 2040002 for latest updates):
  1. Alert 58 - 'Plan Cache Size' has been raised with Priority 'high'
  2. CACHED_PLAN_SIZE is bigger than PLAN_CACHE_CAPACITY
  3. PLAN_CACHE_HIT_RATIO is lower than 90%
  4. Number of Plan Cache Evictions per hour increases rapidly
To adjust the default value of plan cache size go to the Configuration Tab in HANA Studio and navigate to indexserver.ini, section [sql], plan_cache_size. Double and defines the size of the SQL plan cache in bytes. Parameter Changes need to be done utilizing HANA Studio UI.
Distributed Systems: In distributed systems, every node has its own SQL plan cache. For most cases it is recommended to set Plan Cache Size on system level using the above formulas with the data gathered for the master node.
If the calculated size of some node is much larger than for the other nodes, then it is recommended to set the sql_plan_cache size for this node on host level and to analyze with application experts if tables should be re-distributed for improved load balancing.

5. Test and validate new configuration

Schedule a follow-up on one of the following days to check if decision criteria from step 4. Use the SQL statement from step 2 and review the current alerts for new occurrences of alert 58.
If decision criteria suggest that plan cache size is still too small, then increase Plan_cache_size step-by-step and re-iterate. So far no side effects have been reported when following this approach.

6. If you face continued issues with regard to plan cache size the following activities are recommended

  1. Check for Knowledge Base Articles
  2. Search for recent SAP Notes with keyword 'SQL PLAN CACHE' in Application Components HAN-DB* on component SV-BO-DB-HAN
  3. Use SQL Query HANA_SQL_StatementHash_SQLCache_History from SAP Knowledge Base Article 1969700 to identify times when large numbers of Plan Cache Evictions occur. Analyze System Load for identified peak times and check what applications are running during this time. Investigate options to optimize the performance of these applications.
Contact SAP Support and attach the details of your analysis and changes (information and screenshots). Use Application Component SV-BO-DB-HAN when creating the incident.

For more detailed guidance please refer to attached document and Demo recording

>>>>>>>>>>>>>>>>>>>>END OF KBA<<<<<<<<<<<<<<<<<<<<<<<<
ACTIVITY: Check HANA Studio - Alerts:
Alert1.png
ACTIVITY: Set Alert Filter to Alert ID 58 and extend timeline to approximately 4 weeks
Alert Filters.png
ACTIVITY: SQL Query:
Select*.png
SQL Query Result:
SQL Results.png
 ACTIVITY: Apply Parameter Changes:
Change_Config.png
Change_config_2.png

Number of SQL connections:

You can get the # of SQL connections from the administration tool of HANA studio. PATH: Performance -> Load -> SQL Open Connections -> Average
Perf_Load_SQL_Open.png
In this case, 10 is the number of SQL Connections for plan cache size estimation. It is recommended not to change Plan Cache Size to a value lower than the default.


See Also

SAP Notes

2040002 - Size recommendation for the HANA SQL Plan Cache
1969700 - SQL Statement Collection for SAP HANA
2000000 - FAQ: SAP HANA Performance Optimization

SAP HANA Guides

The SAP HANA Performance Tuning Guide contains comprehensive information how to optimize performance of SAP HANA databases:
https://help.sap.com/hana/SAP_HANA_Performance_Analysis_Guide_en.pdf
Additional details can be found in:
SAP HANA Administration GuideHANA Troubleshooting Resources, SAP HANA Performance Optimization


Keywords

SAP HANA - Alerts - SQL PLan Cache - SQL Monitor - Operations Recommendation - #OpsRec-HANA

2223354 - Error: Check the server name and instance ID when trying to open Lumira document based on HANA connection

Symptom
  • Error: Check the server name and instance ID when trying to open Lumira document based on HANA connection
  • Unable to open the saved Lumira document from Lumira Desktop based on HANA connection


Environment
SAP Lumira 1.28



Reproducing the Issue
  1. Create a new document connecting to HANA system(HANA system is multi-tenant)
  2. Connect making use of Port number in Instance/port no.
  3. Save the document locally.
  4. Open the Lumira documents and it pops up logon box with error: Check the server name and instance ID



Cause
The multitenant database containers (MDC) introduced with HANA SPS09 are not supported with Lumira.


Resolution
  • SAP Lumnira 1.28.5 and higher now supports multitenant database containers.

  • NOTE: SAP Lumira 1.29.2 has the following issue:
It is not possible to refresh or save to Hana as the save / refresh dialog only allows for 2 digits in the port / instance number. This issue has been escalated for a fix in a future Lumira Service pack.


Keywords

multi tenant HANA system, instance or port number, refresh, save

2098418 - Deactivation of SAP HANA navigation business function without SAP HANA database

Symptom
You cannot deactivate the "SAP HANA-Based Navigation for SAP Business Suite" business function without an SAP HANA database system.


Other Terms
SAP HANA, search, Enterprise Search, SAP HANA database, HDB, C'estBON, FIORI fact sheet


Reason and Prerequisites
This business function can be activated only with an SAP HANA database system. However, it should still be possible to deactivate it within SAP HANA.


Solution

Import the current Support Package or implement the attached correction instructions.
This SAP Note supplements SAP Note 2090855 ("Deactivation of SAP HANA Search business function without SAP HANA database"). Note that both these business functions can be switched off only together.

1850613 - SAP Predictive Analysis Fatal Exception using HANA Online

Symptom
Error "FatalException::InternalFatal:Invalid column type:Column types do not match the specification!" is thrown when using HANA algorithms when connected to HANA Online.
4-23-2013 12-40-52 PM.png



Reproducing the Issue
Create a New Document with a HANA online connection.
Add and configure a HANA algorithm.
Execute Algorithym.




Cause
You may have a column with Decimal data type in the independent columns that you passed to the algorithm.
HANA PAL is very sensitive to the data type that is passed to an algorithm.
The precisions of the decimal data types are not supported in the PAL layer.


Resolution
As a workaround you can use a double datatype column instead of the decimal.

Please see the attached file
 


Keywords

Predictive Analysis, HANA, FatalException, algorithm, Invalid column

2053215 - HANA Studio Installation: Failed to Create Java Virtual Machine

Symptom
  • Cannot install or update HANA Studio Revision 1.00.81
  • Failed to create the Java Virtual Machine


Environment
  • HANA Studio
  • Microsoft Windows Platform


Reproducing the Issue
Launch the HANA Studio installer on a machine where the required JRE is not installed. An Eclipse error dialog will be thrown with the message “Failed to create the Java Virtual Machine”.


Cause
As stated in SAP HANA Studio Installation and Update Guide, a corect JRE version must be installed to run HANA Studio.


Resolution
  1. Check "SAP HANA Studio Installation and Update Guide" for the system requirements and install the required Java Runtime version 
  2. Install the following two files in the installation source directory: <<SAP_HANA_STUDIO>>/studio/
    64 bit Platform:
    - msdev2005SP1_vcredist_x64.exe
    - msdev2010_vcredist_x64.exe
    32 bit Platform:
    - msdev2005SP1_vcredist_x86.exe
    - msdev2010_vcredist_x86.exe
  3. Restart Windows in safe mode and execute “hdbsetup.exe” in the installation source directory <<SAP_HANA_STUDIO>>
  4. Restart Windows in normal mode


Keywords

Java Virtual Machine, HANA Studio

2247694 - In case of SAP HANA takeover or failover in HANA multitenant database environment you want to know how to point Java stack to correct HANA node.

Symptom
  • You have SAP Java stack application server and after HANA failover or HANA takeover you want to have the JAVA stack automatically pointing to the correct SAP HANA node.
  • You use SAP HANA multitenant database containers with connected JAVA Stack.


Environment
SAP HANA Database 1.0


Reproducing the Issue
Failover or takeover takes place in SAP HANA multitenant database environment where the connected application has a JAVA Stack.


Cause
The HDBUSERSTORE can only be used to store connection information for SAP HANA application clients that support ODBC, ABAP and HDBSQL connection types. HDBUSERSTORE does not support JDBC based connection types which the JAVA stack uses when connecting to a SAP HANA Database.


Resolution
  1. In the Connection Pools window of the AS Java Config Tool edit the URL property string so that it has the information for the failover node or the node on the secondary site that you want to takeover too:
           Captureedit22.PNG
           jdbc:sap://saphananode1:3XX13;saphananode2:3XX13?databaseName=SID
In the above example Url saphananode1 is the current working SAP HANA node and saphananode2 is the standby node that you want to failover too. The multitenant port is 3XX13 where XX is the instance number. SID is the name of the SAP HANA Database.
  1. For windows environments although SAP JAVA does not use HDBUSERSTORE functionality to connect to SAP HANA Database, it is still Mandatory to add user SAPService<SID> to HDBUSERSTORE as described in the following SAP note 1852017


See Also


Keywords

system replication.

1977218 - How to handle HANA Alert 52 'Check for new crash dump files'

Symptom
This Knowledge Base Article (KBA) is part of a series of HANA Operation Recommendations.
When checking the Alerts tab in HANA Studio or Solution Manager, there is an alert called “1 new crashdump files(s) found on host <HOSTNAME>”.


Environment
This KBA is created based on:
  • HANA 1.0 revision 74
  • BW on HANA NW7.3 SP8


Cause
If a HANA process has crashed a CrashDump is written. This dump file shows a lot of information that might be helpful to analyze the root cause of the crash.
Typical root causes are:
  1. Bugs
  2. Violations of technical limits by an application (e.g.: table growth beyond the limit of 2 billion records, rowstore size beyond technical limits) 


Resolution
 The crash dump file contains information about the system status and limitations during the crash and can be evaluated to find out the root causes of the crash.

Procedure

1.   How to find Crashdump files
2.   Initial Analysis activity
      2.1. Check Timestamp and node involved
      2.2. Identify Thread that caused the crash
      2.3. Analyze Call Stack for the Thread
      2.4. Check for potential error
      2.5. What to put into an internal support message

Path

SAP HANA Studio - SAP HANA Administration Console - Diagnosis Files

How to

In the attached document you can find more details on the usual steps that are required to analyze a crash dump file.


See Also
SAP HANA Troubleshooting Guide


Keywords

Operation Recommendation
HANA Alert
#OpsRec

1926686 - RW: Performance improvement for HANA selection

Symptom
You are using a HANA database either as Suite on HANA or in a
Side-by-Side scenario.
In Report Painter/Writer reports, the performance of reports can still be improved upon.
Observation: In traces, you observe that number of selects for transaction data selection is very high and the number of data lines selected is less thus not leveraging the capabilities for HANA.


Other Terms
REPORTWRITER, HANA, SGRW_PERFORMANCE


Reason and Prerequisites
The performance of reports can be significantly improved by selecting more data lines from HANA in a single selection. However it is observed that after a certain limit, the more you select the worse is the performance. So an optimal number of data lines for single select is taken as 20,000 lines for HANA selection.


Solution

Implement the attached correction.
After you implement the correction instructions, all report groups must be regenerated (see also SAP Note 78109).
Also note that when you turn side by side HANA selection off or on in transaction HDBC to switch between the use of HANA and primary database, each time all the report groups have to be regenerated.

2194542 - "internal error: numeric value out of ranng" occurs for HANA

Symptom
In DS4.2, Optimized SQL is created as procedure, but it is failed to be called in HANA.


Environment
  • SAP BusinessObjects Data Services XI4.2
  • HANA 1.0 SP9 Revision 92


Reproducing the Issue
  1. Create a job which use 2 HANA table sas Source table  and one HANA table as Target table.In dataflow,Add a Query B.
  2. For the 2 Source tables, join them together and transfer to Target table.
  3. Execute the job, it may cause error "DBS-070404:... SQL submitted to ODBC data source <XXX> resulted in error <[SAP AG][LIBODBCHDB DLL][HDBODBC] General error;129 transaction rolled back by an internal error:  [129] <Procedure Name> ......: [129] (range3): transaction rolled back by an internal error: numeric value out of range: Failed in "XXX" column with the value-57037036703703380494060>. The SQL submitted is <CALL <Procedure Name>>."


Cause
This is HANA's issue that such procedure could not be executed in HANA92, and the error not occurs since HANA95.


Resolution
Upgrade HANA to laster version since Rev 95.


Keywords

HANA,roll back,DBS-070404

1969210 - Error " UJO_READ_EXCEPTION_018 table config for index xxxx is not valid" after BPC HANA system copy

Symptom
  • After a copy of the BPC system on HANA, user cannot see any data in any EPM Excel report, and  the Web Consolidation Monitor, Controls Montor, Ownership Manager and Journals show errors. For example, user will get error "Some errors occurred while processing the dimension" when try to process dimension.
  • When execute some reports, user gets error UJO_READ_EXCEPTION_018 saying "table config for index **** index is not valid" .
         Error.JPG



Environment
  • SAP  Planning and Consolidation 10 for Netweaver


Reproducing the Issue
  1. After HANA system copy, run a report in EPM Add-in.


Cause
  1. User forgot to adjust SAP HANA Calculation Views after the copy.


Resolution
  1. follow OSS Note 1844468 - Homogeneous system copy on SAP HANA.
  2. Follow step  "Adjusting the SAP HANA calculation views. " If you copied a BW system, you must adjust the SAP HANA calculation to the new system names views after the migration. This is done when calling the report RS_BW_POST_MIGRATION with all options"



Keywords

MDX statement, HANA license

1743056 - Incorrect term "BWA" or "In-Memory DB" instead of "SAP HANA"

Symptom
In various messages, the term "BWA" or "In-Memory DB" appears even though a HANA DB system is involved.


Other Terms
BWA
In-Memory DB
HANA


Reason and Prerequisites
HANA DB


Solution
This correction changes the messages so that the term "BWA" becomes "SAP HANA/BWA" and "In-Memory DB" becomes "SAP HANA".
  • SAP NetWeaver BW 7.30

    Import Support Package 8 for SAP NetWeaver BW 7.30 (SAPKW73008) into your BW system. The Support Package is available when SAP Note 1680997 "SAPBWNews NW BW 7.30 BW ABAP SP8", which describes this Support Package in more detail, is released for customers.
  • SAP NetWeaver BW 7.31 (SAP NW BW 7.0 Enhancement Package 3)

    Import Support Package 5 for SAP NetWeaver BW 7.31 (SAPKW73105) into your BW system. The Support Package is available when SAP Note 1708177 "SAPBWNews NW BW 7.31/7.03 ABAP SP5", which describes this Support Package in more detail, is released for customers.
          
In urgent cases, you can implement the correction instructions as an advance correction.

You must first read SAP Note 875986, which provides information about transaction SNOTE.

To provide information in advance, the SAP Notes mentioned above may already be available before the Support Package is released. In this case, the short text of the SAP Note contains the words "Preliminary version".





------------------------------------------------------------------------
|Manual Activity                                                       |
------------------------------------------------------------------------
|VALID FOR                                                             |
|Software Component   SAP_BW                        Business Inform...|
| Release 731          SAPKW73102 - SAPKW73104                         |
| Release 730          SAPKW73005 - SAPKW73007                         |
------------------------------------------------------------------------

Use transaction SE91 to change the following messages:
(Message class, number, new text)

RSL_UI, 068, "Error in BWA/SAP HANA DB (return code = &2): '&1'"

RSDD_ZA, 670, "The function is not relevant any more for SAP HANA DB"

RSDDTPS, 151, "Explorer object maintenance is not supported with SAP HANA DB"

RSL_MI, 111, "This function is only supported for SAP HANA DB"

RSRV, 811, "Check '&1' is skipped (obsolete in SAP HANA)"

RSMPC, 212, "Variant &1 skipped (not required for SAP HANA database)"

RSMPC, 213, "Deleting the index is not necessary/useful for HANA DB systems"

RSMPC, 214, "Building an index is not necessary/useful for HANA DB systems"

DBMAN, 041, "Call combination not supported. Only read from BWA/SAP HANA with COMMIT."

DBMAN, 120, "TREX index as a value restriction only possible if accessing BWA/SAP HANA"

DBMAN, 897, "Index name &1 is already in use in BWA/SAP HANA. Cannot be created again."

DBMAN, 899, "Could not save InfoProvider data in the BWA/SAP HANA index"

DBMAN, 901, "Error &1 has occurred in the BWA/SAP HANA server"

RSDRCRM, 000, "BWA/SAP HANA index for InfoProvider &1 does not exist or is inactive"

1877900 - Corrections for HANA Integrations

Symptom
Corrections for HANA Integrations


Other Terms
Corrections for HANA Integrations


Reason and Prerequisites
Corrections for HANA Integrations


Solution

Corrections for HANA Integrations

2043765 - extract installation file for HANA revision >= 80

Symptom
You cannot extract HANA Server installation file since HANA revision 80.


Environment
HANA 1.0 SPS08


Reproducing the Issue
You tried to use command listed below to extract HANA Server installation file:
tar -xvf <tar file part 1> <tar file part 2> ...


Cause
Since HANA SPS08 the installation file of HANA Server are delivered as two TAR files instead of one SAR file.
You have to use tar command to extract the installation file.


Resolution
You can use the following command to extract HANA Server installation file, e.g HANA Revision 80:
tar -xM -f IMDBSERVER10080_0-10009569_P1.tar -f IMDBSERVER10080_0-10009569_P2.tar


Keywords

tar, HANA SPS8, HANA SPS08, Revision 80, Revision 81, Unexpected EOF in archive tar: Error is not recoverable

1577385 - Cannot add objects in Explorer with duplicate column names from HANA 1.0

Symptom
Cannot add objects in SAP BusinessObjects Explorer4.0 Information Space that have duplicate column names from HANA 1.0


Environment
SAP BusinessObjects Explorer 4.0
SAP HANA NewDB 1.0


Reproducing the Issue
1. Create an Analytical View inside In Memory Computing Engine (IMCE)/NewDB HANA. The data foundation of the analytical view consists out of three tables, where two of them has a column with the same name (column name is "description"). In the output structure, rename one field to "descripton_1" for clarity to avoid conflicts
2. The activation of the analytical view is successful. The data preview of this analytical view is successful. Also, the two columns are displayed once with name "description" and once with name "description_1" as expected
3. When we connect the SAP BusinessObjects Explorer 4.0 against the NewDB (HANA) and try to create an Information Space, all attibutes are shown for selection.
However, it is not possible to include both fields, namely "description" and "description_1" and drag them into the Explorer 4.0 Information space.
It seems that the Explorer 4.0 handles them as if they are the same field and only allows one of them


Cause
A Naming Convention Issue has been identified within SAP IMDB / HANA 1.0 engine


Resolution
New naming convention has been introduced by SAP HANA In Memory Computing Engine (IMCE) Revision 4
refer to following KBase
Note 1570923 - SAP IMDB modeling: column naming in generated column views
Follow steps to apply Revision 4 for SAP HANA In Memory Database (IMDB) and Modeler


Keywords

IMDB IMCE NewDB HANA Explorer Polestar 4.0 Aurora same name

1577385 - Cannot add objects in Explorer with duplicate column names from HANA 1.0

Symptom
Cannot add objects in SAP BusinessObjects Explorer4.0 Information Space that have duplicate column names from HANA 1.0


Environment
SAP BusinessObjects Explorer 4.0
SAP HANA NewDB 1.0


Reproducing the Issue
1. Create an Analytical View inside In Memory Computing Engine (IMCE)/NewDB HANA. The data foundation of the analytical view consists out of three tables, where two of them has a column with the same name (column name is "description"). In the output structure, rename one field to "descripton_1" for clarity to avoid conflicts
2. The activation of the analytical view is successful. The data preview of this analytical view is successful. Also, the two columns are displayed once with name "description" and once with name "description_1" as expected
3. When we connect the SAP BusinessObjects Explorer 4.0 against the NewDB (HANA) and try to create an Information Space, all attibutes are shown for selection.
However, it is not possible to include both fields, namely "description" and "description_1" and drag them into the Explorer 4.0 Information space.
It seems that the Explorer 4.0 handles them as if they are the same field and only allows one of them


Cause
A Naming Convention Issue has been identified within SAP IMDB / HANA 1.0 engine


Resolution
New naming convention has been introduced by SAP HANA In Memory Computing Engine (IMCE) Revision 4
refer to following KBase
Note 1570923 - SAP IMDB modeling: column naming in generated column views
Follow steps to apply Revision 4 for SAP HANA In Memory Database (IMDB) and Modeler


Keywords

IMDB IMCE NewDB HANA Explorer Polestar 4.0 Aurora same name

1907423 - Fixes on handling time type dimension for HANA MDX support

Symptom
Before applying this note, following issues may happen in BPC if HANA MDX is enabled on corresponding BPC models:

1. If the names of dimension members at the same level in time type dimension are in different orders when sorted in alphabetical order and sorted by year & base period, the reports may display wrong data due to wrong closing period calculation.

2. When displaying a report, if the time type dimension does not appear on row or column axis meanwhile the data region to be retrieved containing member formula calculation referring to a data region containing transaction data, the report display may fail with error.


Other Terms
Time type dimension, HANA MDX, Member sequence, Closing period


Reason and Prerequisites
Resolving HANA limitations


Solution
Upgrade to HANABPC 800 SP06 or apply the note to HANABPC 800 SP05 on Netweaver 730 platform.

Upgrade to HANABPC 801 SP03 or apply the note to HANABPC 801 SP02 on Netweaver 731 or Netweaver 740 platform.

Follow the manual implementation steps after applying the note.

In addition, if user has already defined master data of a time type dimension that meets the condition mentioned in point 1 in Symptom section, insert BPC environment level IMG parameter 'HANA_NUMERIC_TIME_INDEX' using transaction SPRO and set the parameter to value 'X' in order to adopt HANA MDX functionality correctly.





------------------------------------------------------------------------
|Manual Post-Implement.                                                |
------------------------------------------------------------------------
|VALID FOR                                                             |
|Software Component   HANABPC                                          |
| Release 800          SAPK-80005INHANABPC - SAPK-80005INHANABPC       |
| Release 801          SAPK-80102INHANABPC - SAPK-80102INHANABPC       |
------------------------------------------------------------------------

Execute the steps below after applying this note:

1. Enter transaction code SM30.
2. In field 'TABLE/VIEW', fill in 'UJ0_PARAM_CHECK'.
3. Click on 'Maintain' button.
4. Click on 'New Entries'.
5. Fill in 'HANA_NUMERIC_TIME_INDEX' in 'Field Name' Column and 'CL_UJHANA_MODEL_NTI_CHECKER' in 'Reference to' Column.
6. Click on 'Save' button.

7. Enter transaction code SE91.
8. In 'Message Classes' enter 'BPC_UJHANA_MODEL_EXP'.
9. Click on the 'Change' button.
10. Create message with message number 406.
11. Enter the message 'Fail to roll back original HANA tables and models'.
12. Create message with message number 407.
13. Enter the message 'Invalid parameter value for HANA_NUMERIC_TIME_INDEX'.
14. Save the change.