IBM Support

Error “Table or indexed view <value> does not have a full-text index or user does not have permission to perform this action” when running UpdateDB.bat

Question & Answer


Question

Why am I receiving this error message while upgrading Maximo version ? BEGINUPDATEDBERROR Error running file: V600_724 UPDATEDBFILE:V600_724.class Script: Error java.lang.Exception: [SERVER]Table or indexed view 'person' does not have a full-text index or user does not have permission to perform this action. at psdi.tools.UpdateDB.runScriptClass(UpdateDB.java:1558) at psdi.tools.UpdateDB.runScripts(UpdateDB.java:1369) at psdi.tools.UpdateDB.startProcess(UpdateDB.java:1152) at psdi.tools.UpdateDB.loadScriptInfo(UpdateDB.java:270) at psdi.tools.UpdateDB.main(UpdateDB.java:2113) ENDUPDATEDBERROR java.lang.Exception: DATABASE SCRIPT UPDATE COMPLETED WITH ERROR. [SERVER]Table or indexed view 'person' does not have a full-text index or user does not have permission to perform this action.

Cause

Maximo uses the SQL Server Full-Text Indexing Service to allow users the ability to query TEXT fields within Maximo applications. Fields such as Description are TEXT fields and are indexed using this service. When the Full-Text Service is disabled, not installed, or possible nonfunctional users will not be able to search on these fields. The Maximo application expects the database function to return a result and when none is received the Application may appear to hang.

Answer

Below are some steps that will walk you through querying the Maximo database to ensure that Full-Text is enabled and working.

Connect to your Maximo database, by issuing the following. Substitute your database name for dbname in the following command.

-----------------------------------------

use dbname

1. Determine if full text search is installed in your SQL Server instance.
SELECT fulltextserviceproperty('IsFulltextInstalled')

Result of 1 indicates it is installed.
Result of 0 indicates it is not installed.

-----------------------------------------

2.Determine if full-text search is enabled in your Maximo database. Substitute your database name for dbname in the following command.

SELECT DATABASEPROPERTY('dbname', 'IsFulltextEnabled')

Result of 1 indicates it is enabled; result of 0 indicates it is not enabled.

To enable, enter the following:

sp_fulltext_database 'enable'

-----------------------------------------

3. Determine information about the full-text catalog

sp_help_fulltext_catalogs

This command indicates the name and path of the catalog, and the number of tables which are associated with the catalog. The status indicates one of the following. Typical values are 0, 1, 6, 9.

0 = Idle
1 = Full population in progress
2 = Paused
3 = Throttled
4 = Recovering
5 = Shutdown
6 = Incremental population in progress
7 = Building index
8 = Disk is full. Paused
9 = Change tracking

-----------------------------------------

4.Determine which tables are actively using full-text search.

sp_help_fulltext_tables

-----------------------------------------


5. The following command lists the complete Maximo 6 full text catalog commands (extract from MAXINST scripts). If the full-text catalog has already been created on a given table, you will receive an error to that effect.

Maximo 6 full text catalog.docMaximo 6 full text catalog.doc

-----------------------------------------

6. Adapting to your scenario:

You need to submit the correct text catalog commands related to your case. For instance, “person” is the table related to the problem:

BEGINUPDATEDBERROR
Error running file: V600_724
UPDATEDBFILE:V600_724.class
Script: Error
java.lang.Exception: [SERVER]Table or indexed view 'person'
does not have a full-text index or user does not have permission to
perform this action.
at psdi.tools.UpdateDB.runScriptClass(UpdateDB.java:1558)
at psdi.tools.UpdateDB.runScripts(UpdateDB.java:1369)
at psdi.tools.UpdateDB.startProcess(UpdateDB.java:1152)
at psdi.tools.UpdateDB.loadScriptInfo(UpdateDB.java:270)
at psdi.tools.UpdateDB.main(UpdateDB.java:2113)

ENDUPDATEDBERROR
java.lang.Exception: DATABASE SCRIPT UPDATE COMPLETED WITH ERROR. [SERVER]Table or indexed view 'person' does not have a full-text
index or user does not have permission to perform this action.
at psdi.tools.UpdateDB.startProcess(UpdateDB.java:1168)
at psdi.tools.UpdateDB.loadScriptInfo(UpdateDB.java:270)
at psdi.tools.UpdateDB.main(UpdateDB.java:2113)

This seems to point to missing full-text search setting for table “person”. So from the list above, we will need the statements to regenerate it:

sp_fulltext_table 'person', 'create', 'textcatalog', 'person_ndx'
go
sp_fulltext_column 'person', 'displayname', 'add', 0
go
sp_fulltext_table 'person', 'activate'
go
sp_fulltext_table 'person', 'start_change_tracking'
go
sp_fulltext_table 'person', 'start_background_updateindex'
go

-------------------------------------------

7. If the issue cannot be resolved with the statements above,drop and recreate the full-text index on the table indicated on the error message (e.g. PERSON table) and give UpdateDB.bat run another try.

[{"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"System Related","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.2","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
17 June 2018

UID

swg21624359