Development > Utilities > Verifications > Database > Search index 

Sometimes for operational reasons, certain indexes of the Adonix X3 database are not created properly in a given folder. This may be the case, for example, if there is not enough space at a given time in the temporary table space under Oracle -- either when revalidating a folder, or when changing a table structure. From the database domain, these production errors trigger error log files, which should warn the person using the database.

Such errors do not prevent the ADONIX X3 software from working, but they may result in serious response time problems. Also, this utility was designed to be used to verify, in the case of a response time degradation, that the required indexes are actually there.

The tests made are the following:

* First, check that the indexes described in the X3 data dictionary, (this is the principal test, and it is the result of this test that is important) and not disabled through an activity code, are actually present in the database.

* in addition, the list of the indexes that exist without being described in the data dictionary must be provided. This list is not normally empty, but it does not cause problems in terms of response time. For example, found here are the tables arising from a previous major version of the Adonix X3 that have not been deleted automatically for security reasons, or table indexes de-activated by means of an activity code (in this case the table is created empty).

* finally indexes where the name does not conform to the naming rules used by ADONIX (an index is called NOMTABLE_NOMINDEX) may be found. These indexes can be used perfectly well by other programmes directly accessing the database.

This utility, which creates a log file, works with both the Oracle database and the SQLserver database. It automatically determines the current database type and identifies it in the log file.

This function is run by answering Yes to the confirmation box that is displayed. Next, the log file is displayed.

An example of a log file that can be generated is given below.

Example of a log file created by the function

 

List of dictionary indexes that do not exist in Oracle   ********************************************************************************
Table                   Index                   Detailed description of the index
********************************************************************************
BPCUSTOMER   BPC1                  BPCNAM
GACCENTRYD   DAE2                  ACCNUM
********************************************************************************
Oracle index not described in the dictionary
********************************************************************************
Oracle table                                       Index
********************************************************************************
DCLVATITA                                     DVI0
DCLVATITA                                     DVI1
DCLVATITA2                                   DV20
DCLVATITA3                                   DV30
RITHIS                                             RTH0
RITMVT                                           RTM0
********************************************************************************
Number of indexes found in the Oracle database:  982
Number of indexes described in the dictionary :  979
Normal end of log file 19/05/05 08:03:43

Note: the indexes non described in the dictionary are not anomalous, but are identified for information. In this way, Oracle creates internal indexes for all the tables containing long texts (clobs) or long objects (blobs) such as images.

Batch task

This function can be executed in batch mode, but no dedicated standard task is delivered to execute it.

Error messages

The only error messages are the generic ones.

Tables used

SEEREFERTTO Refer to documentation Implementation