_progress._Db-Detail

This is an extension to the _db database table to hold auditing specific information. The join to _db is on the _Db-guid foreign key. The primary reason to use an additional table for the auditing information is to facilitate multiple record entries to accomodate different database GUIDs, e.g. when copying the contents of this table to an archive database for long term storage where the archive database contains audit data from multiple databases. Note that the join from the _db table is not physically shown due to the fact that this data is copied with the archive process and therefore the record in the _db table may be for a different database, breaking the referential integrity. The details in this table provide a meaningful description of the database associated with a GUID and as this is the only means to describe what the database is where the audit data contains entries for multiple databases, the contents of this table must be copied with the audit data. Additionally this table records the MAC key used to secure / seal the audit data. Without the MAC key the data in the audit table could not be used, and so the MAC key needs to be copied with the audit data. If the MAC key is ever modified for a particular database, then a new database GUID must be created as a database GUID can only ever have a single MAC key. It is the combination of the database GUID and the MAC key that facilitates access to sealed audit data. Also, if the database GUID ever changes, a new record must be created in this table with the current MAC key and a meaningful description of the database associated with the GUID. As mentioned above, the contents of this table must be copied as part of the archive process as the data is needed to describe the database / unseal the audit data. The contents however must not be deleted as part of the archive process, only copied to the archive database.


Table details

Area Schema Area
Dumpname ?
Label ?
Val.exp ?
Val.msg

Fields

Order Field Name x Label Datatype Format Initial Mand Description
5 _Db-custom-detail X Database custom detail character X(3000) V: e sz 70 BY 8 sv LARGE MAX-CHARS 3000
D: This is a free text field to provide additional custom information for a database specific to auditing, that will also be copied with the audit data as part of the archive process. Note that when the database GUID changes, a new record will be created in this table and the custom detail will need to be re-applied to the new record.
3 _Db-description X Database description character X(70) D: This is a meaningful description of the database associated with the current database GUID, used to describe the GUID where data is aggregated for multiple databases. The database physical name could be used to describe the database. If the database GUID ever changes, a new record will always be created in this table and the description will need to be reapplied to the new GUID.
2 _Db-guid X Database guid character X(28) D: This is a globally unique identifier (GUID) for the database to support the aggregation of data across multiple databases. This field is used in all audit related tables to identify which database the audit information is for. All other fields are then only unique within a specific database. Note that the database GUID may change, e.g. through back / restore and copy operations to new databases so careful consideration is required when using it as the foreign key to related tables as joins could be broken / need to be fixed, depending on the nature of the related data. The other way to join from the _db table is via the recid, which never changes but is also not globally unique - so which to use will depend on the related data.
4 _Db-mac-key X Database mac key raw x(8) D: If the _Audit-data-security-level is on the _aud-db-policy audit policy table is set to 2 indicating that the security data is sealed using a MAC, then this field defines the MAC key to use. If the _Audit-data-security-level is not set to 2 then this field will be ignored. Without the MAC key the data in the audit table could not be used, and so the MAC key needs to be copied with the audit data. If the MAC key is ever modified for a particular database, then a new database GUID must be created as a database GUID can only ever have a single MAC key. It is the combination of the database GUID and the MAC key that facilitates access to sealed audit data. Also, if the database GUID ever changes, a new record must be created in this table with the current MAC key and a meaningful description of the database associated with the GUID. Note that the MAC key will need to be stored as an encoded / encrypted character string for security purposes as it has similar characteristics to a password.

Indexes

Index name Flags Fields Datatype
_Db-guid P U _Db-guid (+) character
+ = Ascending - = Descending P = Primary U = Unique I = Inactive W = Wordindex

generated 3-3-2025 10:54