Sunday, May 13, 2012

DCTM upgrade 5.3 SP6 to 6.7

Throughout this article 5.3 SP3 system will be called as Source  and 6.7 system will be referred as Target


Pre Migration Steps

Checklist


  • Target Content Server is installed
  • Target SQL Server instances are created with same collation as that in source environment
  • Target Number of instances & there names are matching as that in source environment
  • Target Number of DSN & there names are matching as that in source environment
  • SQL Server client is installed on Target Content Server
  • DSN’s are tested on Target Content Server 

Create new repository on Target server

  • DSN’s are tested on Target Content Serverw
  • New repository must have Repository Name, Repository ID and Repository description same as Source version.
  • Repository DSN must have same configuration & name as that in Source 
  • Database user name & password should be the same as that in Source

DB build queries before migration

Execute below database queries to fetch values from created repository in target environment to be used after migration
  1. select i_crypto_key from dbo.dm_docbase_config_s
  2. select i_ticket_crypto_key from  dbo.dm_docbase_config_s
  3. select host_name from dbo.dm_mount_point_s
  4. select r_install_owner,r_server_version,r_host_name,web_server_loc, r_install_domain, smtp_server from dbo.dm_server_config_s
  5. select distinct (target_server) from dm_job_s
  6. select acs_base_url from dm_acs_config_r

Replace the values obtained in the below queries.



  1. update dm_docbase_config_s set i_crypto_key = ''
  2. update dm_docbase_config_s set i_ticket_crypto_key = ''
  3. update dbo.dm_mount_point_s  set host_name = ''
  4. update dbo.dm_server_config_s set r_server_version = ''
  5. update dbo.dm_server_config_s set  r_host_name = ''
  6. update dbo.dm_server_config_s set  web_server_loc = ''
  7. update dbo.dm_server_config_s set  r_install_owner = ''
  8. update dbo.dm_server_config_s set  r_install_domain = ''
  9. update dbo.dm_server_config_s set  smtp_server = ''
  10. update dm_job_s set target_server = ''
  11. update dm_acs_config_r set acs_base_url = ''  where i_position = -1

Save these updated queries in a text file say pre_migration_build_update_queries.txt


Repository Database backup on Target

Before taking database backup verify that the repository service (Repository for which database backup is desired) is stopped.

Login to the database server and take backup of the repository tablespace and save it for later use.


Delete Repository Database on Target


  • Go to path  D$:\Documentum\dba\config\<Repository name>\; double click the file dm_DeleteTableSpace.sql  [Note: Replace D$ with your installation directory]
  • Launch’s SQL Server Management Studio
  • Login using installation owner account or sa
  • The user should have delete database permissions
  • Execute the script; upon completion below like message will get displayed
Dropping database [database name] ...
Complete.


Create Blank Repository Database on Target


  • Go to path D$:\Documentum\dba\config\<repository name>\; double click the file dm_CreateTableSpace.sql  [Note: Replace D$ with your installation directory]
  • Launch’s SQL Server Management Studio
  • Login using installation owner account or sa
  • The user should have create database permissions
  • Execute the script; upon completion below like message will get displayed
CREATE DATABASE svcdown05ppdON ( NAME = DM_svcdown05ppd_docbase,FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dm_svcdown05ppd20120305064805_data1,SIZE = 500MB)
LOG ON ( NAME =DM_svcdown05ppd_log,FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dm_svcdown05ppd20120305064805_log1,SIZE = 150MB)
ALTER DATABASE svcdown05ppd SET READ_COMMITTED_SNAPSHOT ON
Processing user svcdown05ppd ...
sp_defaultdb 'svcdown05ppd',svcdown05ppd
USE svcdown05ppd
sp_changedbowner 'svcdown05ppd'
USE master
sp_grantdbaccess 'svcdown05ppd'
Msg 15023, Level 16, State 1, Line 1
User, group, or role 'svcdown05ppd' already exists in the current database.
Complete.
Ignore the highlighted red message

[Note: svcdown05ppd is repository name in my case]


Migration Steps

Checklist

  • New target deal repository is created
  • Blank database is created to be used for restore
  • Update queries are build as part of pre-migration step on Target
  • Repository backed up database is copied from intermediate to target
  • Repository file store is copied from intermediate to target

Database backup from Source Repository

Before taking the backup please verify that the repository service is stopped.

Login to Database server and take backup of database corresponding to the repository and save it on local disk.


Database copy from Source to Target

Copy the database backup we took in previous step to any location on the Target server using any supported mechanism.


File Store copy from Source to Target

  • Copy the contents (data folder)from the Content Server.
  • The default location will be DCTM_HOME$ /data/<Repository Name>
  • Copy this to the same location on the Target Content Server.

LDAP configuration copy from Source to Target

  • Traverse to the folder DCTM_HOME$ / dba/config/<Repository Name>
  • Copy the ldap configuration file ldap_*.cnt
  • Paste this file on the Target Content Server on the same location as above


Repository Database restore on Target

Before restore verify that the repository service on the Target server is stopped.

Restore with the backup of Source database we took above.


Database Level Configurations on Target


1)  Before Login to the Target Database Server and execute following procedures against repository database

  • sp_change_users_login 'AUTO_FIX', '<docbase database user >'
  • sp_changedbowner 'sa'
2)  Execute all the UPDATE queries created above
      pre_migration_build_update_queries.txt

3)  Execute below queries as well
  • delete dm_sysobject_s where r_object_id = (select r_object_id from dm_public_key_certificate_s where key_type = 1) 
  • delete dm_sysobject_r where r_object_id = (select r_object_id from dm_public_key_certificate_s where key_type = 1) 
  • delete dm_public_key_certificate_s where key_type = 1 
  • delete dm_sysobject_s where r_object_id = (select r_object_id from dm_cryptographic_key_s where key_type = 1)
  • delete dm_sysobject_r where r_object_id = (select r_object_id from dm_cryptographic_key_s where key_type = 1)
  • delete dm_cryptographic_key_s where key_type = 1

4)  Execute below mentioned query against repository database and very carefully update all the path values having 5.3 with 6.7 manually ( Use Edit top 200 rows feature against dm_location_s table)

  • select file_system_path from dbo.dm_location_s

Documentum Level Upgrade/Configurations on Target


1) LDAP Password Regeneration

  • Open command prompt in administrator mode
  • Change directory to D$:\Documentum\product\6.7\bin
  • Execute command
 dm_encrypt_password.exe -file D:\Documentum\dba\config\<repository>\<ldap config file name> -encrypt <Installation Owner password>

where <repository> à Repository name, <ldap config file name> à ldap_*.cnt, <Installation Owner password> à Installation Owner password needs to be replaced before executing the query


2) Repository Upgrade

Launch Documentum Server Manager and upgrade the Target repository.


4 comments:

  1. Dear Nitesh,

    Thank you for the guide. I will test it out.

    I would like to confirm, is it DCTM 5.3 SP3 or SP6?

    Can we migrate even without upgrade patches?

    ReplyDelete
  2. This is 5.3 sp6. First we migrated from 5.3 sp3 to 5.3 sp6 using similar approach.

    ReplyDelete
  3. Dear Nitesh,

    Good article and thanks for posting this

    Can we use steps you have done above for below source and target versions listed, please appreciate your response

    SOURCE : Docbase 53 sp5 32 bit windows 2003 server (sql server database 2000)

    TARGET: Docbase 67 sp2 64 bit on windows 2008 server R2 (Sql server database 2008 sp3)

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete