Search

Language:  
Search for:

Available article translations:

Plesk Database Inconsistency Checker (Beta)

APPLIES TO:
  • Parallels Plesk 11.0 for Linux
  • Parallels Plesk 10.4 for Linux/Unix
  • Parallels Plesk 9.5 for Linux/Unix
  • Parallels Plesk 11.0 for Windows
  • Parallels Plesk 10.4 for Windows
  • Parallels Plesk 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:


1d8a9cb4444e61c9ccb3798e22c5f50c 56797cefb1efc9130f7c48a7d1db0f0c c81e59b61af9dca603ba03b14aabe968 9f8baf78266b4e54525d1c6bf06305a5 12c6f6bd6775cb701defb57d79fe96f6 783b875b64229fde618ad54999321dbc 42844a8183c58f5bd71c7d59929707e6 e26cd5a43fdb23cb2c65dd477ab20f95 276b42158818c83055d6dfa6371d4e4b 1d151d16e47c6f92bbf62d50eb32c4a2 40b42e819ce59dca8c0661c3644f1ce4 f4c89357a6ff7298f273cb70f9d95452 161e18543a2793983d46e7e9f26dafaa db229c4740d60cf9f63ce5e5f42872fc 6466998e13fbb5542838cb31b30870ec 824237ce663843af86f93897fbd8e2f8

FEEDBACK
Was this article helpful?
Tell us how we may improve it.
Yes No
 
 
 
 
 
 
Server Virtualization
- Parallels Cloud Server
- Parallels Containers for Windows 6.0
- 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