How is the lhistoryid (primary key) for the amHistory table generated in Oracle?


I can't figure out where the amHistory.lhistoryid comes from.

I read on this forum that the "AM" sequence is used for all primary key generation. I read elsewhere on this forum that the "lastid" table is used.

The highest lhistoryid value in our amHistory table is 771636110.

No sequence in our database has a value that high, nor does the "lastid" table. So I am completely at a loss as to where these values are generated.

We are using HP Asset Manager 9.62, if that helps.


  • All AM table primary keys come from one source at the DBMS level.  I never had to worry about this, so even if there is something AM specific, then you will want to contact MicroFocus directly.  The AM sequence is used in conjunction with 'Counters (amCounter)' table records to read and increment the numeric values.  If I am not mistaken, the lastid is used in the demo.

  • None of the sequences in the database are high enough. The highest lhistoryid is nine digits, and we haven't found any number in any sequence, lastid, or amCounter (which I hadn't previously been aware of, thanks for that!) with that many digits.

  • Following hints might help:

    - Table: IndependentLastId (because LastId table is only for the universal AM ids generator; IndependentLastId table was added to hold IDs which increment rapidly and have nothing to do with AM core business important tables - those satellite tables IDs were polluting/incrementing the global one uselessly - that was sometimes leading to IDs exhaustion)

    - Stored Proc: UP_GETINDEPID (which replace UP_GETID when dealing with satellite tables)

    - One can guess than amHistory is considered a satellite table