Search

Language:  
Search for:

Available article translations:

Plesk Database Inconsistency Checker (Beta)

APPLIES TO:
  • Parallels Plesk Panel 11.0 for Linux
  • Parallels Plesk Panel 10.4 for Linux/Unix
  • Parallels Plesk Panel 9.5 for Linux/Unix
  • Parallels Plesk Panel 11.0 for Windows
  • Parallels Plesk Panel 10.4 for Windows
  • Parallels Plesk Panel 9.5 for Windows

Release Notes

The Parallels Plesk Panel (PP) Database Inconsistency Checker script is designed to detect inconsistencies in the PSA and APSC databases of Parallels Plesk Panel.
The script is intended to be run on a server with PP 9.5.4/10.4.4/11.0.9 for Linux or Windows with a MySQL database engine.

The script is currently in the Beta stage and may produce a number of false positives, especially on older PP versions.
If the script detects a problem, it does not necessarily indicate that the inconsistency affects anything or needs to be fixed. If you encounter such a case, please report it to this special thread on the Parallels forum.
At the moment, the script does not offer methods for solving detected problems, and does not sort them by how critical they are. Please post all your comments and suggestions related to this script to the special thread on the Parallels forum.

Note that we also have a Plesk Database Schema Checker for checking the integrity of the PP system database.

Usage

Linux:
# /usr/local/psa/bin/sw-engine-pleskrun check_db_integrity-beta.php
Windows:
"%plesk_bin%\php.exe" -dauto_prepend_file="" check_db_integrity-beta.php

Output description

1. List of records in [psa.hosting.sys_user_id] that miss a matching record in [psa.sys_users.id]
        11, 33


This means that the "hosting" table has records with
sys_user_id that do not have corresponding records in the sys_users table with sys_users.id = hosting.sys_user_id:
# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` -e 'select psa.sys_users.id from psa.sys_users where psa.sys_users.id in (11,33)'

# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` -e 'select psa.hosting.sys_user_id from psa.hosting where psa.hosting.sys_user_id in (11,33)'
+-------------+
| sys_user_id |
+-------------+
|          11 |
|          33 |
+-------------+

It should be as follows:
# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` -e 'select psa.sys_users.id from psa.sys_users where psa.sys_users.id in (11,33)'
+----+
| id |
+----+
| 11 |
| 33 |
+----+

# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` -e 'select psa.hosting.sys_user_id from psa.hosting where psa.hosting.sys_user_id in (11,33)'
+-------------+
| sys_user_id |
+-------------+
|          11 |
|          33 |
+-------------+

2. List of records in [psa.domains.id WHERE htype='vrt_hst'] that miss a matching record in [psa.hosting.dom_id]
        41


This means the same as the first item discussed, but with an additional filter:
# mysql -uadmin -p`cat /etc/psa/.psa.shadow ` -e 'select psa.domains.id from psa.domains where psa.domains.id in (41) and htype="vrt_hst"'
+----+
| id |
+----+
| 41 |
+----+

3. List of records in [psa.mail.account_id] that exceed N in 1:N (N=1) relation to [psa.accounts.id]
        49      [count in table psa.accounts:1; count in table psa.mail:2]


This indicates that there are multiple identical entries for the psa.mail.account_id field in the psa.mail table, when this entry should be unique:
# mysql -uadmin -pqweqwe -e 'select psa.mail.account_id from psa.mail where psa.mail.account_id=49'
+------------+
| account_id |
+------------+
|         49 |
|         49 |
+------------+

4. List of records in [psa.domains.dns_zone_id] should not have a matching record in [psa.domainaliases.dns_zone_id]
        70

This indicates that the psa.domains table has the same dns_zone_id as the psa.domainaliases table, when it should not.


Attachments:


7a5ab9f25384019cf8b9ba7051f8b781 56797cefb1efc9130f7c48a7d1db0f0c 49af2da0f2dd4c81e962790bbbd0c2b4 5d735c0e028ee5b991e4fb80d34fb87f 6eab23e8dac1eb5df9820a41f94cf4b4 7ba047ab67e17fa2d2ab89cebe818d10 5fc602d72ea565f353b9320e2ef62a1b 04f1b0f9f311a40f2f06e7821a7faf9a 925cde259105f6a46124ed292a44de85 0324051e74e0392d1551a3b559b09eaa 903d2077868a54d07bbef2dd3613eb17 bbe0373935bc886984e30ddeb0b46919 3ca3188e3a52837d6873858fdb8166d4 1aa1c890c6389095129322a3a7c695a6 06e81f1ab4b5cad9d3f946deecd91752 c7658ac2f68d6572a213687c1077afff

FEEDBACK
Was this article helpful?
Tell us how we may improve it.
Yes No
 
 
 
 
 
 
Desktop Virtualization
- Parallels Desktop 9 for Mac
- Parallels Transporter
- Parallels Desktop Switch to Mac Edition
- Parallels Desktop for Mac Enterprise Edition
- Parallels Management-Mac for Microsoft SCCM
Server Virtualization
- Parallels Cloud Server
- Parallels Containers for Windows 6.0 Beta
- Parallels Virtuozzo Containers
Automation
- Parallels Automation
- Parallels Automation for Cloud Infrastructure
- Parallels Business Automation Standard
- Parallels Virtual Automation
- Parallels Plesk Panel Suite
- Web Presence Builder
- Parallels Plesk Automation
- Parallels Small Business Panel
- Value-added Services for Hosters
- Parallels Partner Storefront
Services & Resources
- Cloud Acceleration Services
- Professional Services
- Support Services
- Training & Certification