Abstract
When testing different IDOL setups there might become a situation, where multiple testing setups including registry settings and IDOL indexes have been created. As time passes, the configuration file will be bloated by deprecated index configurations and databases.This document describes how to remove IDOL index and the corresponding information.
General Information
CAUTION
There is no confirmation message when accessing the database deletion URL in the browser. You cannot revert the deletion after it is finished.
Steps to delete a single index in M-Files 20.5 and newer
1. Remove index from the admin tool (that does not do anything in the IDOL side)
2. Check, that in individual engines, the corresponding database's configuration files (.cfg) the DatabaseReadOnly parameter is FALSE. This also concerns the internal index databases. In the IDOL cluster setup including 2 backend engines, the files are following:
- Backend engine 1: content.cfg in folder e.g. C:\IDOL12\bin\PROD1-content-11000\content
- Backend engine 2: content.cfg in folder e.g. C:\IDOL12\bin\PROD1-content-21000\content
[Database10]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}_INTERNAL
DatabaseReadOnly=FALSE
…
and
[Database11]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}
DatabaseReadOnly=FALSE
…
Backend engine 1:
[Database6]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}
DatabaseReadOnly=FALSE
…
Backend engine 2:
[Database6]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}
DatabaseReadOnly=FALSE
…
If the parameter(s) are TRUE, you must change them with the following procedure:
- Stop IDOL server services (in the example above MFIDOL-PROD1-Content-9000, MFIDOL-PROD1-Content-11000 and MFIDOL-PROD1-Content-12000).
- In the corresponding .cfg file, Change the DatabaseReadOnly to FALSE.
[Database10]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}_INTERNAL
DatabaseReadOnly=FALSE
Internal=FALSE
InvertedAgent=FALSE
[Database11]
Name=MF-{3C3B4386-09BC-4258-8AAF-494DBDBC8206}
DatabaseReadOnly=FALSE
Internal=FALSE
InvertedAgent=FALSE
- Start IDOL server services (in the example above MFIDOL-PROD1-Content-9000, MFIDOL-PROD1-Content-11000 and MFIDOL-PROD1-Content-12000).
http://12.3.4.56:9001/DREREMOVEDBASE?DREDbName=Sport_INTERNAL
4. Remove corresponding database from Daily
http://12.3.4.56:9001/DREREMOVEDBASE?DREDbName=Sport
5. Remove corresponding database from DIH. it will handle the backend engines.
http://12.3.4.56:19001/DREREMOVEDBASE?DREDbName=Sport
Use Daily's, DIH's and backend engines index.log files to see how the command succeeds. Take the vault Offline
Steps to delete a single index in M-Files 20.4 and older
1. Take the vault Offline
2. Stop IDOL server services (like Single9IDOLServer)
3. In the M-Files server configuration registry, remove the corresponding index
4. Remove the corresponding index folder from the M-Files server. Usually it exists in path:
C:\Program Files\M-Files\Server Vaults\Indexes
Example: C:\Program Files\M-Files\Server Vaults\Indexes\IDOL_index_to_be_removed
5. In the IDOL Configuration file (e.g. Single9IDOLServer.CFG) copy the name of the database to be deleted:
[Database32]
Name=MF-{15CFF12F-6048-496B-AAA7-332ADC9E1A4F}
DatabaseReadOnly=TRUE
Internal=FALSE
InvertedAgent=FALSE
6. Change the DatabaseReadOnly to FALSE
[Database32]
Name= MF-{15CFF12F-6048-496B-AAA7-332ADC9E1A4F}
DatabaseReadOnly=FALSE
Internal=FALSE
InvertedAgent=FALSE
7. Start IDOL server services
8. Take the vault Online
9. Run following command in the browser (the computer has to be able to connect to IDOL). In cluster, you have to run the command against DIH/DAH and Daily.
http://[IDOL server IP and port]/DREREMOVEDBASE?DREDbName=[name of the database]
Example:
http://192.168.75.120:9001/DREREMOVEDBASE?DREDbName= MF-{15CFF12F-6048-496B-AAA7-332ADC9E1A4F}
10. Check that the database specification (Step 5.) has disappeared from IDOL configuration file
Clearing multiple indexes at once
Currently there is no out-of-the-box solution for removing multiple indexes at once.You should use some kind of scripting in the browser to run the URL several times. In addition, you should take care that the DatabaseReadOnly is FALSE.
