Why does the database size increase after an upgrade?
During an upgrade of ADSS Server the installation process ensures that the database structure is also upgraded to allow the latest version to run properly. This includes but is not limited to the creation of new tables, insertion of new records or updating of old records. The database size increase is actually negligible due to these structural changes, but the size of database transactional logs increases creating the main reason for the database growth. The database transaction logs store full information on any insertion, deletion and updating operations on a table.
In particular the database transaction log size increases because of the re-calculation of the HMAC values when upgrading. ADSS Server uses Hash Message Authentication Codes (HMAC) for protecting the integrity of its database records. These HMAC values are calculated automatically by ADSS Server whenever a database record is written, and these values can later be verified either manually at the request of the ADSS operator or automatically by ADSS Server if configured. Each HMAC value acts like a fingerprint for the input data it is protecting. Therefore HMAC values depend on the database scheme (i.e. which table column values are included within the HMAC).
When upgrading from a previous ADSS Server release the HMAC values need to be recomputed for any database tables for which the database schema has been changed. Depending upon the number of records in the database this may take some time. While updating HMACs, the DBMS transactional log may become very large because they store the information relating to the re-calculation of the HMACs.
How to fix the error "Number of locks exceeds the lock table size" when upgrading ADSS Server using MySQL database?
How to fix the "InnoDB The Table is Full"?
The issue that InnoDB table is full may arise with MySQL database due to the small log file size of InnoDB due to which transactions are not being written to the log file. The resolution is as follows:
- In the my.cnf [Linux] or my.ini [Windows] configuration file of your MySQL Server, add/modify the following property right below the mysqld section in the configuration file:
- Restart the MySQL Server for the changes to take effect.