p4 dbverify

Perform low-level verification of the database tables.

Syntax

p4 [g-opts] dbverify [-t db.tablename] [-U][-v]

Description

The p4 dbverify command performs a series of low-level structural integrity checks on the database tables. Run this command periodically to determine if tables have become damaged.

By default, all current tables are verified. This can be computationally expensive and might require scheduled user downtime on large systems. To restrict verification to a specified table, use the name of the corresponding db.tablename file in the Helix server root.

For a faster integrity check, use the -U option, which looks for tables with non-zero unlock counts. Each database table has an accompanying unlock count. When data are ready to be written to a table, the table’s unlock count is incremented and the table is locked. When the write is complete, the table is unlocked and its unlock count is decremented. If the process that writes the data does not unlock the table, the unlock count remains incremented. This might happen if the system goes down before the write is complete.

p4 dbverify -U has minimal performance impact. However:

  • the presence of a non-zero unlock count does not necessarily indicate corruption
  • the presence of a zero unlock count does not guarantee data integrity

Options

-t db.tablename

Restrict verification to the specified table name.

-U

Perform a less-detailed validation

-v

Provide verbose information on the verification.

g-opts

See Global options.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required

N/A

N/A

operator or super

Tip

p4 dbverify is mostly equivalent to p4d -xv, but some differences exist. See the Managing the database tables topic in Helix Core Server Administrator Guide.