Name

DB.DBA.RDF_AUDIT_METADATA — Fix RDF metadata corruption.

Synopsis

DB.DBA.RDF_AUDIT_METADATA ( in audit_mode integer ,
in str_value varchar ,
in graph_iri varchar );

Description

This function can detect and automatically fix most popular sorts of metadata corruption.

Parameters

audit_mode

(0|1|2|3 default 0) - 0 = read-only audit operation; 1 = audit and fix; 2 = audit, fix and garbage collection for all incomplete declarations; 3 = the routine erases data it can't fix and it makes up to 10 iterations trying to erase all invalid/incomplete metadata. The bigger the number, the more errors can be fixed, at the price of more metadata changed if needed for the fix.

str_value

Default '' is to stop if the metadata graph contains marks that some storages are being edited.

'*' is to remove such marks.

Other values will be suggested by the error dump when appropriate.

graph_iri

Default is system metadata graph.

If specified then it should be a name of graph created by DB.DBA.RDF_BACKUP_METADATA . It is possible to make the backup to a graph, test and maybe fix that backup and finally restore metadata from the fixed backup. The disadvantage is that DB.DBA.RDF_AUDIT_METADATA() may detect and fix more errors on "active" metadata than on their backup. The possible approach is to make backup, test and maybe fix it (after fix it can be tested one more time). If the backup was successfully fixed then the DB.DBA.RDF_AUDIT_METADATA() is used to fix the "active" metadata, not the copy. In any case, if one makes a backup to fix it then it's worth to make and keep another 'untouched' backup, just to stay on safe side.

Examples

Example24.254.Simple example

Automatically fix the corrupted metadata:

        SQL> DB.DBA.RDF_AUDIT_METADATA(1, '*');