HomeDatabase AdministrationThe PureCM DatabaseMigrating from Native Database (pre-2010-1d) to SQL Server

2.6. Migrating from Native Database (pre-2010-1d) to SQL Server

Prerequisites 

We assume that you've made the decision to migrate your pre-2010-1 PureCM database to a Microsoft SQL Server Database. In order to proceed, you will need to first install the new 2010-1d (or later) version of PureCM Server (choosing the SQL Server database option). You will then need to shutdown PureCM Server before proceeding.

Obviously this process requires the PureCM Server to be down throughout the process.  There should be no visible difference to your users once completed (i.e. no need to recreate workspaces etc.).

Looking at the time needed, you would be looking at roughly 1h/GB for both import and export if done on the same server machine. Note that these times largely depend on hardware used and may vary.

tdbutil Database Utility 

We will be using the 'tdbutil' utility to perform the migration. This can typically be found in :-

C:\Program Files\PureCM\Server\tdbutil.exe

Temporary File Storage

It's also important to establish a folder/drive that can be used for temporary file storage. You will need to have space to store the size of the biggest current database plus another 25%. We will refer to this location as TMP and assume you will substitute with C:\Temp, D:\, /tmp or wherever is relevant for your server.

Establish the files to be migrated 

You then need to establish the datafiles that need to be migrated. These will typically be located in C:\PureCM\Data (Windows) or /opt/purecm-server/data (Linux/Unix). You need to find all the files ending with the .tdf extension (most will also have a matching file ending with .tbf that contains the revision data).  There should only a files name server.* (main PureCM Server configuration settings) and r_*.tdf/tbf (the PureCM Repositories).

Migrate the Server Database

The first file to migrate is the 'server' database that contains username and overall server configuration details. You would typically perform migration of this database using :-

cd C:\Program Files\PureCM\Server\

tdbutil export server TMP\server.xml

tdbutil import TMP\server.xml "type=sqlserver;prefix=server_;create=1;server=localhost;username=sa;password=mypass;database=purecm;"

In the last command you should note that several items (server=,username=,password= and database=) will probably have different values in your environment.  Hopefully these are self-explanatory - they assume that your connecting to a SQL Server instance on the same machine, authenticating as the 'sa' (admin) user with a password of 'mypass' and that there is a pre-created 'purecm' database that will hold all the data.  You may also specify 'instance=' to specify a non-default instance of SQL Server.

Migrate each Repository 

You would then repeat the above for each other datafile present (normally just those beginning with 'r_' which are the repositories). We assume here that the only one present is the default 'Example' repository used typically during evaluation. You should substitute 'Example' in the instructions below with the name(s) of your repositories. 

tdbutil export r_Example TMP\r_Example.xml tdbutil import TMP\r_Example.xml "type=sqlserver;prefix=r_Example_;create=1;server=localhost;username=sa;password=mypass;database=purecm;"

Note that the .xml temporary files can be deleted, if necessary for space reasons, after each 'import' has completed. Once the import of all the Repositories is complete, you should also be able to move the old database files (*.tdf and *.tbf) out of the data folder and, when confident in the upgrade, remove them to free up space.

Check Availability after conversion

You should then be able to start the PureCM Server. You will need to monitor the Event Log (Windows) or syslog (Linux/Unix) to ensure that no errors are reported during startup.  You should probably try to connect to the server afterwards and check that all expected Repositories are visible and perform some confidence testing (create a workspace or browse Stream History etc.).

Related Pages
This page was: Helpful | Not Helpful