How to move the Index location to a different location on the same server

Article: 100037913
Last Published: 2022-06-10
Ratings: 3 2
Product(s): Enterprise Vault

Description

This article is applicable to Veritas Enterprise Vault versions 10.0 to 14.1.

Overview:
There may be an instance where indexes will need to be moved to a different location on the same server.  This can be done for all volumes in a location or can be changed for just one archive.

Resolution:


Move all volumes in a root path to another existing root path on the same server

  1. Back up the SQL databases and the EV server.
  2. Stop all EV services on the server.
  3. Copy the contents of the index location from the old location to the new root path location. If a new index location is desired, it should be created before copying the indexes. This can be done on the "Index Locations" tab

To determine the index location run the SQL query below:
 

             USE EnterpriseVaultDirectory

             SELECT CE.ComputerName, CE.ComputerNameAlternate, IRP.IndexRootPathEntryID, IRP.IndexRootPath,
             ISE.ServiceEntryID, ISE.Description
             FROM ComputerEntry CE, IndexingServiceEntry ISE, IndexRootPathEntry IRP
             WHERE CE.ComputerEntryID = ISE.ComputerEntryID AND ISE.ServiceEntryID = IRP.IndexServiceEntryID
             ORDER BY CE.ComputerName
 


Take note of both the IndexRootPathEntryIDs for the old index root path and the new index root path.
 

  1. Run the following query in SQL Query Analyzer to update the index locations in the database


Note:
old IndexRootPathEntryId should be replaced with the IndexRootPathEntryId value returned for the old index root path in step 3b.
new IndexRootPathEntryId should be replaced with the IndexRootPathEntryId value returned for the new index root path in step 3b.


             DECLARE @OrigIndexRootPathEntryId EVGUID
             DECLARE @NewIndexRootPathEntryId EVGUID
             SET @OrigIndexRootPathEntryId = 'old IndexRootPathEntyId'
             SET @NewIndexRootPathEntryId = 'new IndexRootPathEntyId'

             -- Check that we are moving on the same server
             DECLARE @CurrentServer EVGUID
             DECLARE @NewServer EVGUID
             SELECT @CurrentServer = IndexServiceEntryId FROM IndexRootPathEntry WHERE IndexRootPathEntryId = @OrigIndexRootPathEntryId
             SELECT @NewServer = IndexServiceEntryId FROM IndexRootPathEntry WHERE IndexRootPathEntryId = @NewIndexRootPathEntryId
             IF (@CurrentServer <> @NewServer)
             BEGIN
                RAISERROR('You should only move indexing locations on the same server', 16, 1)
                RETURN
             END

             -- Update the index volumes to point at the new location
             UPDATE IndexVolume
             SET IndexRootPathEntryId = @NewIndexRootPathEntryId
             WHERE (IndexRootPathEntryId = @OrigIndexRootPathEntryId)

             -- Inform EV that it needs to update the paths of the volumes on service startup
             UPDATE IndexingServiceEntry
             SET IVSyncNeeded = 2
             WHERE ServiceEntryId = (SELECT IndexServiceEntryId FROM IndexRootPathEntry WHERE
             IndexRootPathEntryId = @NewIndexRootPathEntryId)
 

Move an entire root path to a new folder location on the same server

  1. Back up the SQL databases and the EV server.
  2. Stop all EV services on the server.
  3. Copy the contents of the index location from the old index server to a new index location.

To determine the index root path run the SQL query below:
 

            USE EnterpriseVaultDirectory

            SELECT CE.ComputerNameAlternate, IRP.IndexRootPathEntryID, IRP.IndexRootPath, ISE.ServiceEntryID, ISE.Description
            FROM ComputerEntry CE, IndexingServiceEntry ISE, IndexRootPathEntry IRP
            WHERE CE.ComputerEntryID = ISE.ComputerEntryID AND ISE.ServiceEntryID = IRP.IndexServiceEntryID
 

Take note of IndexRootPathEntryID for the index root path you are moving.
 

  1. Run the following query in SQL Query Analyzer to update the index locations in the database


Note:
IndexRootPathEntryId to change should be replaced with the IndexRootPathEntryId value returned for the new index root path in step 3b. NewFolderPath should be replaced with the new location for the index location.


            DECLARE @IndexRootPathEntryId EVGUID
            SET @IndexRootPathEntryId = 'IndexRootPathEntyId to change'

            -- Update the folder path
            UPDATE IndexRootPathEntry
            SET IndexRootPath = 'NewFolderPath'
            WHERE (IndexRootPathEntryId = @IndexRootPathEntryId)

            -- Inform EV that it needs to update the paths of the volumes on service startup

            UPDATE IndexingServiceEntry
            SET IVSyncNeeded = 2
            WHERE ServiceEntryId = (SELECT IndexServiceEntryId FROM IndexRootPathEntry WHERE IndexRootPathEntryId = @IndexRootPathEntryId)
 

Move all volumes for an archive
Use the Manage Indexes wizard in the Administration console to move all volumes for a particular archive.

Veritas recommends regular backups of all EV, CA, and DA SQL databases. During backups, EV services must either be placed in read-only or backup mode or stopped, and the CA/DA Enterprise Vault Accelerator Manager Service (EVAMS) or each Customer Background Task must be stopped. For steps on placing services in read-only/backup mode specific to the implemented EV version, please refer to the article 000014434 - Best Practices for Enterprise Vault Backup.

 

References

JIRA : EV-2470

Was this content helpful?