Symptom
The HANA usage data extractor "Extractor for New Customer UsageCube
(HANA)" returns with status error and message "EXTRACTOR FINISHED
UNSUCCESSFUL..." at each run (daily).
Other Terms
E2E_CUP_EXTRACTOR_HANA, HANA usage data
Reason and Prerequisites
Since Solution Manager 7.1 SP12 there is also a usage data extractor
delivered for the system type HANADB. It is supposed to collect usage
statistics for all HANADB systems connected to Solution Manager into
Solution Managers usage data infocube.
In order to do so it tries to connect once per day to each HANADB system known by Solution Manager for reading the usage data. Actually if it runs successful it does this only once per month but if it is not successful it retries it once per day.
The extractor run is marked as successful if it could read the usage data from at least one of the known HANADB systems. Reading the data from the HANA systems may fail due to the following reasons:
1. There is no DB connection setup from Solution Manager to HANA (e.g. because no managed system setup for HANA was performed in Solution Manager).
2. The DB connection setup in Solution Manager to HANA is not working (e.g. because HANA is down or the user credentials are incorrect).
3. The HANA DB revision is too old and therefore the HANA table holding the usage information does not yet exist (HANA older 1.0 SP7)
4. The user specified in the DB connection within the managed system setup for this HANA system in Solution Manager does not have the permission to read the HANA usage data table (_SYS_XS.USAGE_STATISTICS). Note that the role MONITORING does not include this permission (SELECT permission on that table).
In order to easier find out which of the 4 above listed cases you fall in you should check the details in the error message the extractor runs produce. This error message is built in the following way:
EXTRACTOR FINISHED UNSUCCESSFUL #sys_processed=<RRR> #sys_db_con_missing=<SSS> #sys_conn_error=<TTT> #sys_tech_error=<UUU> #sys_no_usage_table=<VVV> #sys_with_usage_data=<WWW> #sys_with_usage_data=<XXX> #sys_pv_error=<YYY> #sys_lmdb_db_error=<ZZZ>
With the following meaning:
#sys_processed: tells the number of HANA DB systems known to Solution Manager (listed in LMDB)
#sys_db_con_missing: tells the number of HANA DB where no DB connection was found. This matches to problem case 1 from the liste above. This can be OK if no managed system setup was performed for these HANA systems and they are not supposed to be connected to Solution Manager. Before Solution Manager 7.1 SP14 it was handled as unsuccessful extractor run if none of the HANA DBs had a DB connection setup in Solution Manager. This behavior is changed as of Solman 7.1 SP14 and with the attached coding fix in this note. Alternatively you can manually deactivate the HANA usage data extractor in this case to avoid the regular error message.
#sys_conn_error: tells the number of HANA DB systems for which a DB connection was found but the connect attempt failed. This matches to the case 2 from the list above. If this is due to a temporarily unavailable HANA system it will automatically disappear when the HANA system is available again. If the HANA system is available you should check for the technical reason why the DB connect from Solution Manager failed and resolve the problem. You can check this manually by performing a connection test to the HANA DB connections via transaction DBACOCKPIT in Solution Manager. A typical reason is a DB user with expired password.
#sys_tech_error: an error occurred when executing the SQL statement via the DB connection in HANA. This matches to the case 4 from the list above. The typical reason for this is a missing SELECT permission to read the HANA usage data table (_SYS_XS.USAGE_STATISTICS). You can check this by manually executing the following SQL statement with the HANA DB user that is configured in the DB connection within Solution Manager: SELECT TOP 1 * from _SYS_XS.USAGE_STATISTICS. If you get the error message "insufficient priviledge" you need to add the permission to the DB user by executiing the following SQL statement as DB user SYSTEM in HANA studio:
GRANT SELECT ON _SYS_XS.USAGE_STATISTICS TO <DBUSERNAME>
#sys_no_usage_table: tells the number of HANA DB systems which could be successfully connected to but the HANA revision is too old (< 1.0 SP7) and therefore the usage data table did not exist. In this case it is normal that for those systems no usage data can be delivered. This is no error and will not be handled as such by the extractor.
#sys_no_usage_data: tells from how many HANA DB systems usage data could be extracted but there was no data (table was empty). This is not an error and not handled as such by the extractor.
#sys_with_usage_data: tells from how many HANA DB systems usage data could be extracted and also actual data was found (table was not empty).
#sys_pv_error: tells for how many HANA DB systems the product version information could not be retrieved from LMDB. There is no reason known as now why this would happen. This needs to be debugged by SAP on your system.
#sys_lmdb_db_error: tells for how many HANA DB systems the LMDB access returned an error message. There is no reason known as now why this would happen. This needs to be debugged by SAP on your system.
In order to do so it tries to connect once per day to each HANADB system known by Solution Manager for reading the usage data. Actually if it runs successful it does this only once per month but if it is not successful it retries it once per day.
The extractor run is marked as successful if it could read the usage data from at least one of the known HANADB systems. Reading the data from the HANA systems may fail due to the following reasons:
1. There is no DB connection setup from Solution Manager to HANA (e.g. because no managed system setup for HANA was performed in Solution Manager).
2. The DB connection setup in Solution Manager to HANA is not working (e.g. because HANA is down or the user credentials are incorrect).
3. The HANA DB revision is too old and therefore the HANA table holding the usage information does not yet exist (HANA older 1.0 SP7)
4. The user specified in the DB connection within the managed system setup for this HANA system in Solution Manager does not have the permission to read the HANA usage data table (_SYS_XS.USAGE_STATISTICS). Note that the role MONITORING does not include this permission (SELECT permission on that table).
In order to easier find out which of the 4 above listed cases you fall in you should check the details in the error message the extractor runs produce. This error message is built in the following way:
EXTRACTOR FINISHED UNSUCCESSFUL #sys_processed=<RRR> #sys_db_con_missing=<SSS> #sys_conn_error=<TTT> #sys_tech_error=<UUU> #sys_no_usage_table=<VVV> #sys_with_usage_data=<WWW> #sys_with_usage_data=<XXX> #sys_pv_error=<YYY> #sys_lmdb_db_error=<ZZZ>
With the following meaning:
#sys_processed: tells the number of HANA DB systems known to Solution Manager (listed in LMDB)
#sys_db_con_missing: tells the number of HANA DB where no DB connection was found. This matches to problem case 1 from the liste above. This can be OK if no managed system setup was performed for these HANA systems and they are not supposed to be connected to Solution Manager. Before Solution Manager 7.1 SP14 it was handled as unsuccessful extractor run if none of the HANA DBs had a DB connection setup in Solution Manager. This behavior is changed as of Solman 7.1 SP14 and with the attached coding fix in this note. Alternatively you can manually deactivate the HANA usage data extractor in this case to avoid the regular error message.
#sys_conn_error: tells the number of HANA DB systems for which a DB connection was found but the connect attempt failed. This matches to the case 2 from the list above. If this is due to a temporarily unavailable HANA system it will automatically disappear when the HANA system is available again. If the HANA system is available you should check for the technical reason why the DB connect from Solution Manager failed and resolve the problem. You can check this manually by performing a connection test to the HANA DB connections via transaction DBACOCKPIT in Solution Manager. A typical reason is a DB user with expired password.
#sys_tech_error: an error occurred when executing the SQL statement via the DB connection in HANA. This matches to the case 4 from the list above. The typical reason for this is a missing SELECT permission to read the HANA usage data table (_SYS_XS.USAGE_STATISTICS). You can check this by manually executing the following SQL statement with the HANA DB user that is configured in the DB connection within Solution Manager: SELECT TOP 1 * from _SYS_XS.USAGE_STATISTICS. If you get the error message "insufficient priviledge" you need to add the permission to the DB user by executiing the following SQL statement as DB user SYSTEM in HANA studio:
GRANT SELECT ON _SYS_XS.USAGE_STATISTICS TO <DBUSERNAME>
#sys_no_usage_table: tells the number of HANA DB systems which could be successfully connected to but the HANA revision is too old (< 1.0 SP7) and therefore the usage data table did not exist. In this case it is normal that for those systems no usage data can be delivered. This is no error and will not be handled as such by the extractor.
#sys_no_usage_data: tells from how many HANA DB systems usage data could be extracted but there was no data (table was empty). This is not an error and not handled as such by the extractor.
#sys_with_usage_data: tells from how many HANA DB systems usage data could be extracted and also actual data was found (table was not empty).
#sys_pv_error: tells for how many HANA DB systems the product version information could not be retrieved from LMDB. There is no reason known as now why this would happen. This needs to be debugged by SAP on your system.
#sys_lmdb_db_error: tells for how many HANA DB systems the LMDB access returned an error message. There is no reason known as now why this would happen. This needs to be debugged by SAP on your system.
Solution
If you identified case 1 or 3 from the list of possible reasons above
and run Solution Manager 7.1 < SP14 then implement the coding
attached to this note via snote. Alternatively you can manually
deactivate the HANA usage data extractor.
If you identified case 2 from the list of possible reasons above check for the reason of DB connection problems from Solman to connected HANA DB systems and repair the connection settings or restart HANA if it was unavailable.
If you identified case 4 from the list of possible reasons identify the HANA DB systems having this issue and add the read permission for the usage statistics table to the DB user defined in the Db connection via the SQL command:
GRANT SELECT ON _SYS_XS.USAGE_STATISTICS TO <DBUSERNAME>
If you identified case 2 from the list of possible reasons above check for the reason of DB connection problems from Solman to connected HANA DB systems and repair the connection settings or restart HANA if it was unavailable.
If you identified case 4 from the list of possible reasons identify the HANA DB systems having this issue and add the read permission for the usage statistics table to the DB user defined in the Db connection via the SQL command:
GRANT SELECT ON _SYS_XS.USAGE_STATISTICS TO <DBUSERNAME>
Header Data
Released On | 07.04.2015 15:34:52 |
Release Status | Released for Customer |
Component | SV-SMG-SER-RFW Report Framework BI SelfService |
Priority | Correction with medium priority |
Category | Program error |
No comments:
Post a Comment