Quantcast
Channel: SCN: Message List - SAP MaxDB
Viewing all 2539 articles
Browse latest View live

Table Index is not getting used

$
0
0

We have a program written with the following SQL:

 

         SELECT *
         
FROM ztableX
         
INTO TABLE li_ztableX
         
FOR ALL ENTRIES IN li_ztableY
         
WHERE werks          EQ li_ ztableY -werks
          
AND  order           EQ li_ ztableY -order
          
AND  work_cen        EQ li_ ztableY -work_cen
          
AND  deleted         EQ space.

 

The key for the ztableX table has many fields.  We have one index created for werks, order
and work_cen.  I ran a trace of the program and found that the optimizer is not using the index.

 

There are values in all three fields. 

 

I checked the index via the dbacockpit--> Database Objects path and found that the index is valid and active.

 

I also reviewed SAP help and SCN and could not find any solutions.

 

We are using MAXDB  7.9.08.009

 

Do you have any advice on why it is not using the index?  What else should I look for?

 

Regards,

Steve


Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hello Thorsten,

 

This afternoon we started to get AK errors again, so I decided to do the slow mode test this evening. I "blocked" our business application and restarted the DB in slow mode.

 

I then "unblocked" our business application and updated a row from the table ACCOUNTTRANSACTION (this is the table from which we almost always get "AK Cachedirectory full" errors). The DB immediately crashed and I generated the diagpkg file diagpkg-20140106.tgz which I uploaded to the file shared you provided. I hope you can find some useful information there.

 

Note that when I unblocked the application, it can be that some processes immediately accessed the DB because there are some background threads that I cannot easily control. However the crash exactly happened when I then updated the row (via the business application) so I think that the cause is pretty clear.

 

Thanks again for your help, let's hope you can find that nasty problem. ;-)

 

Best regards,

Christophe

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hello Christophe,

thank you for the diagpack archive. While we are analyzing it, please also upload the corresponding AK dump files (as previously done) - just navigate to the directory where MaxDB stores the dumped files sorted by crash time...

Best regards,
Thorsten

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hi and thanks again for your answer.

 

I now uploaded the AK dump files: there were only 2 sessions (= JDBC connections) because I was actually the only user connected and there is a global session for the system itself.

 

Best regards,

Christophe

Re: How can i configure my database with SSL? I can't find Useful information!

$
0
0

Which database are you referring to?

How can i configure my database with SSL? I can't find Useful information!

$
0
0

How can i configure my database with SSL? I can't find Useful information!If you know, please contact via email...<deleted by moderator>

 

Message was edited by: Thorsten Zielke Please do not post an email address here inviting everyone to reply to. Use this forum instead for discussions or contact a single person directly via mail...

Re: How can i configure my database with SSL? I can't find Useful information!

Xserver TCP port configuration (serv.exe on windows)

$
0
0

Hi SCN folks,

 

Where do I configure the TCP-Ports 'serv.exe' uses internally?

 

This is the output of 'netstat -ano' (german version).

 

1st call (filtered to PID 1236 = serv.exe):

 

<output>

  Proto  Lokale Adresse         Remoteadresse          Status           PID

  TCP    0.0.0.0:7210           0.0.0.0:0              ABHÖREN         1236

  TCP    127.0.0.1:7210         127.0.0.1:50754        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50757        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50758        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50760        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50762        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50764        HERGESTELLT     1236

  TCP    127.0.0.1:7210         127.0.0.1:50766        HERGESTELLT     1236

</output>

 

2nd call after restarting service (filtered to PID 5144 = serv.exe):

 

<output>

  Proto  Lokale Adresse         Remoteadresse          Status           PID

  TCP    0.0.0.0:7210           0.0.0.0:0              ABHÖREN         5144

  TCP    127.0.0.1:7210         127.0.0.1:50938        HERGESTELLT     5144

  TCP    127.0.0.1:7210         127.0.0.1:50940        HERGESTELLT     5144

  TCP    127.0.0.1:7210         127.0.0.1:50942        HERGESTELLT     5144

  TCP    127.0.0.1:7210         127.0.0.1:50944        HERGESTELLT     5144

  TCP    127.0.0.1:7210         127.0.0.1:50946        HERGESTELLT     5144

</output>

 

Everytime I start 'serv.exe' another range of ports is used.

I need a deterministic behavior where some ports are never used by MAXDB.

 

Feedback would be appreciated.

 

Thanks

 

Olaf


Re: Table Index is not getting used

$
0
0

Steve,

if this is a SAP system, I would recommend ceating a support ticket on BC-DB-SDB for this as it would make the problem analysis easier for us. If you let me know the incident#, I could to speed up the processing time somewhat.

In any case, to proceed here, we would need the excution plan and the SQL statement, preferredly collected via R/3 transaction ST05. Plus the table definition and the index definition.

Regards,
Thorsten

PS:
Your database patch level is quite old, I would recommend patching it to a current release (although there is no indication it would change anything about your curremt SQL issue).

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hi,

with your help we were able to recreate the 'catalog cache' crash here in our lab. This is good news, because now I am confident that we can find and fix this bug.

I will keep you informed and let you know once I have further news...

Thorsten

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hello,

 

Whaooo that sounds great ... we are *really* looking forward to getting more info, that's really good news. I'm impressed that you guys manged to reproduce the bug, you really know what you're doing. ;-)

 

Thanks again for your time, this is great support.

Christophe

Re: Table Index is not getting used

$
0
0

Incident number 16069 has been created.  Thanks for your support Thorsten.

 

Regards,

Steve

Re: Xserver TCP port configuration (serv.exe on windows)

$
0
0

Hello folks,

 

there is no answer to my question yet so I want to get a little bit more concrete.

We connect to the remote database using the method described in Global Listener and X Servers - SAP Documentation. We specify database name and database computer to the global listener (port 7210). Now internally the global listener selects a port number and sends it back.

I want to define a range of port numbers from which the global listener may select one port number every time it gets a connection request. As an alternative I would provide a list of port numbers, which must not be used (because they will be used otherwise). We can't provide a single (different) port number for each connection, this bookkeeping belongs to the global listener.

How is it possible to define this range?

 

Your feedback would be highly appreciated.

 

Thanks

 

Olaf

Re: How can i configure my database with SSL? I can't find Useful information!

$
0
0

MaxDB does support SSL via the 'SAP Cryptographic Library (libsapcrypto.so/sl, sapcrypto.dll)'. How to setup this SSL communication should be described in the Installation/Upgrade Guide for your database version (e.g. for 7.6 its in chapter 5.3, Secure Sockets Layer Protocol for Database Server Communication).

MaxDB does not support open SSL, so this approach only works for MaxDB running in an SAP environment.

Thorsten

 

Message was edited by: Thorsten Zielke Here is a link to the SAP documenation: http://help.sap.com/saphelp_nw74/helpdata/en/44/c052195bb24612e10000000a11466f/content.htm?frameset=/en/44/bc67c395dc1579e10000000a114a6b/frameset.htm&current_toc=/en/0c/581afcc31c45158d8cf2e19617aea1/plain.htm&node_id=123 You can click on enryption and it should evntually point you to the upgrade guides...

Re: Table Index is not getting used

$
0
0

Hello Steve,

you can use a database hint in the abap query to force the optimizer to use your index as documented in SAP Note 832544 - FAQ: SAP MaxDB hints

%_HINTS ADABAS 'INDEXACCESS ("ZTABLEX~YOUR_INDEX")'

Regards,

Valerio


Re: Xserver TCP port configuration (serv.exe on windows)

$
0
0

Hello Olaf,

the ports of the Globallistener process (introduced with MaxDB 7.8 and higher) for TCP, NI, SSL cannot be changed.
Then you have the TCP port for each x_server installation. Every time you install a new database, a new port for the x_server gets assigned. Depending on the installation type, it should give you the option to chose the port you want to use.

 

However, it should also be possible to reassign/change existing x_server ports by editing the database installation file:
On Windows, it is located in the Registry "HKEY_LOCAL_MACHINE\SOFTWARE\SAP\SAPDBTech\Installations...", for the Unix types we keep it in the "Installation.ini" file.

Regards,
Thorsten

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hello,

the bugfix is planned for MaxDB 7.8.02.42 (not yet available) and 7.9.08.28 (not yet available).

As we have just released MaxDB 7.8.02.41, that fix will probably be first released for MaxDB 7.9.

Unfortunately the only "workaround" I can think of would be to reduce the amount of constraints on that table and/or reduce the conditions within the constraints to make them less complex, probably by moving that logic into the application. I will keep you informed on when we will have a fix available (or remind me, if i do forget), as mentioned above, we will likely have 7.9.08.28 first (in case upgrading to 7.9 would be an option for you...).

Thorsten

Re: Error "-9400 AK Cachedirectory full"

$
0
0

Hi Thorsten,

 

Thanks for your answer, this is great news. Do you have any clue when 7.8.02.42 might be released, or is there any possibility to get a patched-binary so that we can "survive" until 7.8.02.42 is released? We would be glad to beta-test that version and give you feedback to let you know if it fixes our problem.

 

By the way now that you're talking about constraints, maybe another minor problem that we have is also related: sometimes when we get a constraint violation exception, the JDBC driver reports the wrong constraint name: there is usually an offset of 1, that means it reports the previous or next constraint from that table (I don't remember if it's the previous or next). Do you think that this is related?

 

Finally, there is also another minor problem that we get almost every day, not sure if this is related. We sometimes get a JDBC exception when we read a lot of rows (one at a time) from any table. The exception is

 

java.lang.ArrayIndexOutOfBoundsException: 41

        at com.sap.dbtech.util.StructuredBytes.getInt2(StructuredBytes.java:168) ~[sap-jdbc-7.6.09.02.jar:na]

        at com.sap.dbtech.jdbc.packet.ReplyPacket.clearPartCache(ReplyPacket.java:778) ~[sap-jdbc-7.6.09.02.jar:na]

        at com.sap.dbtech.jdbc.packet.ReplyPacket.<init>(ReplyPacket.java:52) ~[sap-jdbc-7.6.09.02.jar:na]

        at com.sap.dbtech.jdbc.packet.ReplyPacketFactory.getReplyPacket(ReplyPacketFactory.java:28) ~[sap-jdbc-7.6.09.02.jar:na]

        at com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:653) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.util.GarbageCan.emptyCan(GarbageCan.java:70) ~[sap-jdbc-7.6.09.02.jar:na]

        at com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:687) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:565) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:454) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.jdbc.CallableStatementSapDB.execute(CallableStatementSapDB.java:319) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.jdbc.CallableStatementSapDB.executeQuery(CallableStatementSapDB.java:763) ~[sap-jdbc-7.6.09.02.jar:7.6.09    Build 000-000-010-635]

        at com.sap.dbtech.jdbc.trace.PreparedStatement.executeQuery(PreparedStatement.java:161) ~[sap-jdbc-7.6.09.02.jar:na]

 

It's always that ArrayIndexOutOfBoundsException: 41 ... it's not too bad because it just happens from time to time, but maybe interesting for you to know about that.

 

Thanks again for your great support, and please let me know about 7.8.02.42.

 

Best regards,

Christophe

Re: Any plan to support sdb.dbapi on python 2.6 or above ?

$
0
0

I use Windows 7 python2.7 maxdb 9.0 can make "select " to base somehow?

Re: Xserver TCP port configuration (serv.exe on windows)

$
0
0

Ok, Thorsten,

 

you can't change the ports of the Globallistener process. Thank you for your answer.

May be a little off-topic but our task can be accomplished by using windows 'netsh':

 

  netsh int ipv4 add excludedportrange tcp startport=<x> numberofports=<y>

 

excludes port numbers from automatic use. Seems to work...

 

Thanks again

 

Olaf

Viewing all 2539 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>