lausser / check_sap_health

A plugin (monitoring-plugin, not nagios-plugin, see also http://is.gd/PP1330) which checks various parameters of a SAP system. You can check CCMS metrics as well as execute arbitrary BAPI calls.
GNU General Public License v3.0
15 stars 11 forks source link

UNKNOWN - Problem Invoking RFC (RFC_READ_TABLE): 5 / OPTION_NOT_VALID / ID:SAIS Type:E Number:000 DB_ErrorSNAP #22

Open picoroma opened 1 year ago

picoroma commented 1 year ago

Hi! I'm going more in deep in the ERROR already described HERE: https://github.com/lausser/check_sap_health/issues/14

There are error with mode shortdump (count and recurrence)

The problem seems to be related to the SAP KERNEL Version or SAP NW version.

I think that with latest SAP Kernel RELEASE or Latest SAP NW version there was same changes into FM RFC_READ_TABLE.

I made some tests:

  1. on OLD ECC 6.0 on Oracle (kernel 753) : Results OK
  2. S/4HANA 1909 - Kernel 777: Results OK
  3. BW/4HANA - kernel 7856 : ERROR

UNKNOWN - Problem Invoking RFC (RFC_READ_TABLE): 5 / OPTION_NOT_VALID / ID:SAIS Type:E Number:000 DB_ErrorSNAP

I performed some debug and the problem could be related to the OPTION "passed" to FM (in HASH ??) that is not accepted on NEW RELEASE SYSTEM. image

If tou can try to correct th ecode accordingly - I can TEST on several systems.

picoroma commented 1 year ago

I made another TEST on several SAP Systems:

So at the moment seems to be a BUG (?) of SAP_BASIS 756 SP 0000 I will update If I have other tests

teubnemi commented 2 weeks ago

Hello picoroma,

for me the error was/is another as mentioned by you: UNKNOWN - Problem Invoking RFC (RFC_READ_TABLE): 5 / TABLE_NOT_AVAILABLE / ID:DA Type:E Number:131 SNAP The command was: /opt/monitoring/plugins/check_sap_health_wrapper.sh --mode shortdumps-count --lookback 86400 --report long --warningx shortdumps=1

And this command calls the SAP function module RFC_READ_TABLE with the table SNAP. At the beginning, the function module checks the authority of the user with the function module VIEW_AUTHORITY_CHECK. Herein the maintenance flag of the table SNAP is checked. If it says: 'N' which means ''No maintenance allowed', the FM stops and raises an error message. And this is a new behavior. In earlier releases the FM was not forced to check this.

As the SAP note 2530121 mentions, the solution for this problem is, to use the table SNAP_BEG. For me it is not quite clear in which SAP releases this table exists. But the version 1 of the note is from 2017. I think if a system is nearly up to date, it should have the table SNAP_BEG. In our system the change was between SAP_BASIS 750 SP0023 and SP0029.

I changed the line (in my version number 3944) in the plugin to: $fc->QUERY_TABLE("SNAP_BEG"); and everything works as supposed.

Regards, Michael

lausser commented 2 weeks ago

A lot of discussion went on here: https://github.com/lausser/check_sap_health/issues/14 Just changing SNAP to SNAP_BEG would be simple, but it must be safe for all users, no matter which type and version of SAP they are running. (at least the ones newer than 2017). I thought of trying SNAP first, then to catch the error with exception handling and retry it with SNAP_BEG. But i guess this will fill up some error logs if every few minutes such an unauthorized request is made.

teubnemi commented 2 weeks ago

Hello Gerhard,

you could first read the table DD02L, which is a catalog of all SAP-Tables, with the key: TABNAME = ‘SNAP_BEG’ If you get a result, then you know that this table exists and you could select the shortdumps from there.

Regards, Michael