cancel
Showing results for 
Search instead for 
Did you mean: 

ERROR in EWA-Session: Data from the knldiag.err file cannot be analyzed. An error occurred during the function call to SAPDB_DBM_GETF

hpritzl
Explorer
0 Kudos

Hello,

in our EWA Reports wefound the following error:


ERROR in EWA-Session:

Data from the knldiag.err file cannot be analyzed. An error occurred during the function call to SAPDB_DBM_GETF.

Please, check whether the file is readable with transaction DB50 (Problem Analysis->Messager->Core->Error).


When I tried transaction DB50 (Problem Analysis->Messager->Core->Error) I get the following error:


ERR_COMMAND_FAILED: Command 'file_getfirst' has ended and failed with return code -24964.

35584,/sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic  -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt

It seem that the protcov-command is not valid (because the filename is KNLMSARC), he is readable, I also could open the file in the dbmgui.

MaxDB-Version: 7.7.07.32

OS: Redhat Linux 5.5

SAP ERP 6.0

I searched for the error but I didn't find any Solution.

Who knows s0mething about this problem?? Where could I change the command, so that the transaction DB50 takes the right one??

Regards

Helmut

Accepted Solutions (1)

Accepted Solutions (1)

hpritzl
Explorer
0 Kudos
Hello yashwanth,

thanks for your information.

here the lines I found after I performed the command:
2013-08-02     07:24:38 0x00007c8b     INF     421     DBMSrv  Command 'file_getfirst ...' was executed since 2013-08-02 07:24:38.

2013-08-02     07:24:38 0x00007c8b     ERR     -24580     DBMSrv ERR_COMMAND_FAILED: Command 'file_getfirst' has ended and failed with return code -24964.
2013-08-02     07:24:38 0x00007c8b     INF     421     DBMSrv  Command 'file_getfirst ...' was
executed since 2013-08-02 07:24:38.
0x00007c8b     ERR     -24778     DBMSrv 35584,
/sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic  -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt

2013-08-02     07:24:38 0x00007c8b     INF     2     DBMSrvCo     A DBM Server client connection was released (client process has process ID 31858 on computer sshsid00.noc.test.de).

2013-08-02     07:30:01 0x00007f3e     INF     1     DBMSrvCo     A DBM Server client connection was established at 2013-08-02 07:30:01 (client process has process ID 32566  on computer sshsid00.

File protconv:
-r-xr-xr-x 1 sdb sdba 1741607 Apr 15  2011 protconv

sdbverify (run as root)
VERIFICATION SUMMARY:
*********************

NUMBER OF INVALID PACKAGES:                   0

NUMBER OF VALID PACKAGES:                     17
NUMBER OF INCONSISTENT PACKAGES:              3
INCONSISTENT PACKAGES:
        Server Utilities in /sapdb/programs
        PCR 7300 in /sapdb/programs
        Database Kernel in /sapdb/SID/db

TOTAL NUMBER OF FILES:                        376
NUMBER OF MISSED FILES:                       0
NUMBER OF MODIFIED FILES:                     0
NUMBER OF FILES WITH MODIFIED PERMISSIONS:    2

Switch path to /sapdb/data/wrk/SID run the command which normal will be performed in SAP (DB50):
a) /sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic  -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt
-->Segmentation fault

b) /sapdb/programs/bin/protconv -f classic -t KNLMSGARCHIVE -o knldiagerr.txt
-->Segmentation fault

remove -f classic from the commands:
c) sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic  -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt --> worked  file knldiagerr.txt was generate.
d) /sapdb/programs/bin/protconv -f classic -t KNLMSGARCHIVE -o knldiagerr.txt -->worked
file knldiagerr.txt was generate.

Question:
I think I have to adapt the command which is exexcuted in DB50. Is there a transaction (like with Oracle DB) where I could adapt the command??

Regards Helmut
0 Kudos

Hello Helmut,

1)

From the output of sdbverify it looks like there are some modified permissions.

If you run into permission problems, you can check the permissions according to this wiki section.

 

http://wiki.sdn.sap.com/wiki/display/MaxDB/UNIX+and+Linux+File+System+Permissions+for+SAP+MaxDB

This wiki section describes the permissions for MaxDB and liveCache databases as of version 7.5.00 up to 7.7.xx.

After you fix the permissions, run the sdbverify again to make sure there are no permission issues.

The ownership and permissions should set correctly by database installation/update tools. Please don't change then manualy.

2)

What is the version of SAP Kernel you are using ?

You need to check if you have the minimum required version of MaxDB client software for the SAP Kernel version.

It is mandatory to update the MaxDB client software to the minimum recommended version when you update your SAP Kernel release.

Please note that the SQLDBC runtime versions are used depending on the SAP release but independent of the SAP MaxDB core version.

=>Refer to SAP Note: 822239 - FAQ: SAP MaxDB interfaces (Section 14[F])
14. Which SQLDBC version is used in which SAP releases?

Regards, Yashwanth

hpritzl
Explorer
0 Kudos

Hello Yashwanth


here some additional info about your questions:


1)

How should I fix the ownership and permissions??


2)

SAP Kernel:

kernel release                720

kernel make variant           720_REL

DBMS client library           MAXDB_782_b17

DBSL shared library version   720.00

compiled on                   Linux GNU SLES-9 x86_64 cc4.1.2 use-pr121115 for linuxx86_64

compiled for                  64 BIT

compilation mode              UNICODE

compile time                  Jan  6 2013 19:43:51

patch number                  411


sdbregview -l | grep -i PCR

PCR 7300            /sapdb/programs    7.3.00.60               valid

PCR 7301            /sapdb/programs    7.3.01.22               valid

PCR 7500            /sapdb/programs    7.5.00.52     64 bit    valid

sdbregview -l | grep -i SQLDBC

SQLDBC 77           /sapdb/programs    7.7.07.32     64 bit    valid

SQLDBC              /sapdb/programs    7.7.07.32     64 bit    valid

SQLDBC 76           /sapdb/programs    7.6.06.17     64 bit    valid

-->Should be 7.7.07 >= Build 41 (SAP Note: 822239)


Regards

Helmut

0 Kudos

Hello Helmut,

1)

How to fix the permissions ?

Starting with 7.8.00.02 you can just run the command 'sdbverify -repair_permissions' to have access mask and owner/group reset to its installation default.

Unfortunately, there is no automated tool in your version to fix the permissions. You have to manually do that. Run the "sdbverify > sdbverify.txt" as a root user and check the sdbverify.txt output file to identify/check which permissions are modified/changed.

Refer to the WIKI below for the correct owner/group permissions and change them with chmod.

http://wiki.sdn.sap.com/wiki/display/MaxDB/UNIX+and+Linux+File+System+Permissions+for+SAP+MaxDB

2)

Download the MaxDB client software 7.7.07 >= Build 41 or higher from the SAP Marketplace

-> Software Downloads

-> Database and Database Patches (from other vendors)

-> SAP MaxDB

-> Database Patches" MAXDB 64-BIT

-> MAXDB 7.7 64-BIT

-> Choose the OS

-> MAXDB 7.7.07.46 Application Runtime Package


=>First stop the application server

=>Upgrade the SQLDBC runtime on all of your application servers.

=>Use Note 649814 to install or upgrade the SQLDBC runtime.

=>Restart the application server.

Regards,

Yashwanth




Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Helmut,

As per sap note  Note 1006496 - Feature list for SAP MaxDB/liveCache 7.7

Please refer to the following:

The old 'plain text' file format for knldiag, knldiag.err, and other database log files is no longer supported. The new files KnlMsg or KnlMsgArchive are written in 'Pseudo XML'. To read those files, they must first be converted using PROTCONV (automatic process in Database Studio, Database Manager GUI, or transactions DB50 and LC10).

For additional information, see SDN:

'HowTo - knldiag Message File Format in MaxDB7.7' https://wiki.sdn.sap.com/wiki/x/PwErAg)

(7.7.00. 00)

This has examples, and will assist you in your quest.

Kind Regards,

Johan

hpritzl
Explorer
0 Kudos

Hello Johan,

There was a mistake in the last posting:
When I remove the -f classic from the command it works.

Means:
If I try in DB50 (Problem Analysis->Messager->Core->Error) I get the following error:
ERR_COMMAND_FAILED: Command 'file_getfirst' has ended and failed with return code -24964.
35584,/sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt

With the manuell command (remove -f classic from the command)  it works:
sapdb/programs/bin/protconv -p /sapdb/data/wrk/SID -f classic -t _KNLMSGARCHIVE -o /sapdb/data/wrk/SID/.KnlMsgArc.txt -->  file knldiagerr.txt was generated.

I don’t think that I have a problem with the new file format. I think the command which will be executed in SAP: DB50 (Problem Analysis->Messager->Core->Error) must be edit.
In which tabelle / transaction could I edit in the SAP-System this command??

Regards
Helmut

Former Member
0 Kudos

Hi Helmut,

I think this is maybe where you can change it. DB50 ->dministration -- Configuration -- Parameters.  Choose "Expert View" in the "Goto" menu to get a list of all parameters at once

hpritzl
Explorer
0 Kudos

Hello Johan,

I searched in DB50 ->administration->configuration->parameters, but didn't find a corresponding parameter.

Regards

Helmut

Former Member
0 Kudos

Hi Helmut,

Have you perhaps raised an OSS to SAP on this? Would be my suggestion

Regards,

Johan

former_member206552
Active Contributor
0 Kudos

Hi Helmut,

to get the table name you can go to DB50 click on the field and press F1

-> TECHICAL INFORMATION

     -> TABLE NAME

Hope it helps

Note 839333 - FAQ: SAP MaxDB error diagnosis -> Corrupt data pages ( i know this is not your error but just for some reading and general help)

Best Regards

Marius

0 Kudos

Hello Helmut,

Could you post few more lines after the error ERR_COMMAND_FAILED.

I tested this scenario in my system. I get the same error as you get, when I rename the executable protconv in /sapdb/programs/bin directory.

Error in my case looks like this:

-24580 DBMSrv   ERR_COMMAND_FAILED: Command 'file_getfirst' has ended and failed with return code -24964

ERR_EXECUTE: error in program execution

1,""C:\sapdb\programs\bin\protconv" -p "C:\sapdb\data\wrk\SM1" -f classic  -t _KNLMSG -o "C:\sapdb\data\wrk\SM1\.KnlMsg.txt""

'"C:\sapdb\programs\bin\protconv"' is not recognized as an internal or external command,

Which is expected because it cannot find the executable there. I would like to know what the error in your case is.

"It seem that the protcov-command is not valid (because the filename is KNLMSARC), "

The filename does not matter for the protconv tool. It should work.

Here's my recommendation:


At OS level go to /sapdb/programs/bin and check for the protconv tool - check the size of the file to make sure it is not corrupt.

Run sdbverify as root/admin to verify the installation.

If everything looks OK, try to run the tool at OS level with the command:

/sapdb/programs/bin/protconv -t KNLMSGARCHIVE -o knldiagerr.txt

See if the converted text file is generated. (Specify the complete path for the KNLMSGARCHIVE and the output file knldiagerr - if you are not running this command from the rundirectory.

Regards,

yashwanth