Fabian's Blog

Migration of the #Horizon View Composer to another machine (including a database migration from Oracle / Microsoft)

Within the vSphere world we have currently one goal regarding our vCenter. Migrate it from a Windows based installation to the vCenter Server Appliance (vCSA).

The doing of this migration is pretty straight forward and works pretty well (e.g. here). But since we will shutdown the original vCenter VM based on Windows afterwards we need to make sure how to deal with applications that were running besides the vCenter.

We need to migrate them as well. Especially in case of the Horizon View Composer we need to do some proper planning, otherwise our linked-clones (which require the composer) cannot be created and maintained anymore (refresh, rebalance, recompose (R-R-R) operations).

Doing that migration is quite straight-forward. But we need to do some specific and not very well known tasks before we can do all of the steps.

Goal:  Migrate the vCenter to the vCSA and get rid of all currently used Oracle Databases within the VMware vSphere & Horizon environment.

  1. Define a Maintenance windows and make sure no further Horizon View maintenance operations takes place (R-R-R).
  2. Backup the Horizon Composer Database with the included View backup mechanism.
  3. Create Windows Server for the Composer (compvm)
  4. Create a Database for the Composer and the corresponding ODBC connection.
  5. Restore the Backup on the compvm
  6. Repoint Horizon within the View Admin to the new Composer
  7. Test Maintenance Operations
  8. Clean up old databases.


Pretty easy, right? Not on my watch!!! Fortunately there are something you can do to migrate successfully.

!!! The following step is pretty important to be able to succesfully import / restore the composer database and must be done before the installation of the view composer.

On Windows machine where the composer is currently running we need to export Keys first that are used for the decryption of the composer data.

The keys can be exported and stored as an .xml file with the following method.

CD into the Folder: %windir%\Microsoft.NET\Framework\v2.0xxxxx 

aspnet_regiis -px “SviKeyContainer” “keys.xml” -pri

Transfer the key to the new target system and import it via:

CD into the Folder: %windir%\Microsoft.NET\Framework\v2.0xxxxx 

aspnet_regiis -pi “SviKeyContainer” “path\keys.xml” -exp

No we are able the follow the regular procedure.

Create an ODBC Connection on your new target Windows

And install the Horizon composer using this database.

Backup the latest state of the Connection Server AD-LDS database (which will include also a composer database backup) and transfer the files to your composer target system.

On the composer target system we use the svi tool to restore the backup data into the database. Make sure the Composer Service is stopped.

CD to C:\Program Files (x86)\VMware\VMware View Composer\

sviconfig -operation=restoredata -dsnname=LinkedClone -username=Admin -password=Pass -backupfilepath="C:\Program Files (x86)\VMware\VMware View Composer\Backup-20090304000010-foobar_test_org.SVI"

Once the recovery has been successfully navigate into the Horizon Admin console and reconfigure the composer to the new machine.

Verify that the composer has a green status within the Horizon Dashboard.

Test the functionality by doing all 3 maintenance (a)RRRRRRRRssss….

  • Rebalance
  • Refresh
  • Recompose

I would recommend to create a new pool for this to make sure we can easily recover to a productive state if something went wrong.

Voila: We migrated successfully the composer installation from our vCenter Windows to a dedicated machine and have gotten rid of the Oracle requirement :)

Original post to be found: https://vlenzker.net/2018/01/migration-of-the-horizon-view-composer-to-another-machine-including-a-database-migration-from-oracle-microsoft/