Skip to Content
avatar image
Former Member

[-9205]: System error: AK Catalog information not found / CONSTRAINT

Hello all,

We get the following error (in MaxDB Version 7.7.06.09):

[-9205]: System error: AK Catalog information not found:00000000000037BD000A0011

... when reading the constraint definitions for a specific table like this:

select * from constraints where tablename='TABNAME'

This error happens since we made some meta data changes as follows:

rename column TABNAME.A to B

alter table TABNAME drop B

(also some other columns were added and some removed from table TABNAME)

I guess that this error happens because the statement "alter table TABNAME drop B" did not properly drop a constraint definition that should be removed because column 'B' was part of the constraint definition. It seems that the check for depending constraint definitions that usually removes these when a column is removed contained in the constraint definition, does not apply in some specific cases, probably because of a specific rename/add/remove-sequence.

I guess a workaround is to remove all depending constraint definitions manually, BEFORE the column is removed.

Unfortunately it seems impossible to do so afterwards.

Thanks for any comment on this.

Gabriel

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Nov 03, 2009 at 07:09 AM

    Hallo,

    do you remember the exact sequence of DDL done for this table?

    And could you provide it to the forum or to me directly, if you prefer this because of security reasons?

    Was the renamed column part of a constraint which contained other columns as well?

    With some further info I hope to find the reason, maybe the bug can be fixed and perhaps some

    workaround found.

    Thank you in advance

    Elke

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hello Elke

      Unfortunately I didn't have the exact DDL statements, but I had the same or a similar problem several times again now and I can describe as best as possible when it produced that error [-9205]:

      When I drop a column without dropping a constraint that refers to that column before, it happened several times: The error -9205 is caused then afterward when trying to read the constraint definitions for this table (after the column was dropped, with SELECT * FROM CONSTRAINTS WHERE TABLENAME='TABNAME').

      The same happened for columns that were used in foreign keys: When dropping the column without dropping the foreign key definition that uses this column before, error -9205 is caused when trying to read the foreign key columns for that table (SELECT * FROM FOREIGNKEYCOLUMNS WHERE TABLENAME='TABNAME').

      AFAIK the DB usually drops constraints itself implicitly when a column is dropped which is used within a constraint definition. And when it is used in a foreign key definition, the DB usually refuses to drop that column. Obviously, in our example, this was not the case (neither for foreignkeycolumns nor for columns contained in constraint-definitions): dropping the column was possible.

      A workaround was to check first if there are any constraints and/or foreign keys for the column that should be dropped and first remove them manually.

      Best regards,

      Gabriel

  • avatar image
    Former Member
    Oct 19, 2015 at 11:58 AM

    Hello,

    does there meanwhile exist a solution for this problem?

    We have the same problem in a MaxDB 7.9.08.32

    Trying:

    select * from constraints where tablename='TABLENAME'

    results an error:

    Error Executing 'select * from constraints where tablename='TABLENAME'' SAP DBTech JDBC: [-9205]: System error: AK Catalog information not found:000000000003F5F5000A000F

    We get this error for every table with a primary key.

    It is also not possible to use the loader to export a table. this leads to the following messages in loader.log:

    // *

    // M    Import    PACKAGE x'100000006366350C180F00007C4500008347E6710B700E9A'

    // *

    // M    Execute   PACKAGE  to transform  unlocked CATALOG

    // *

    // M    Number of TABLES   to transform: 398

    // *

    // M    Number of VIEWS    to transform: 1

    // *

    // M    Number of SYNONYMS to transform: 32

    // *

    SELECT CONSTRAINTNAME, DEFINITION, CONSTRAINTTYPE FROM DOMAIN.CONSTRAINTS WHERE  SCHEMANAME = 'PERSONALADM' AND TABLENAME = 'TABLENAME'

    // *

    // E -25392:    '[SAP AG][SDBODBC DLL][SAP MaxDB] General error;-9205 POS(1) System error: AK Catalog information not found:     '

    // M    Number of TABLES   transformed : 393

    // *

    // M    Releasing user connection (USER: 'DBA')

    Any help is highly appreciated!

    Bernhard

    Add comment
    10|10000 characters needed characters exceeded

    • Hello Bernhard,

      yes, that would help indeed.

      Here is what you would need to to:
      1. Restart the database (to ensure that the command is not already cached)
      2. Activate the kernel trace with options 'DEFAULT' and 'SELECT'
      -> e.g. 'dbmcli ... trace_on TRACE_DEFAULT TRACE_SELECT'

      3. Trigger the error

      4. Flush the trace (so that the trace buffer gets written from memory to a file)

      -> 'dbmcli ... trace_flush'

      5. convert the flushed binary trace file to text

      -> 'dbmcli ... trace_prot akbmnx'
      6. Trace will stay active until disabled (even if database was restarted), so do not forget to disable

      -> 'dbmcli ... trace_off all'

      Regards,
      Thorsten

      PS:
      the kernel trace can also be activated via database studio GUI, if you prefer the graphical frontend

      PPS:
      If you are unsure about the current trace state, use 'trace_show' to display a trace status list