Saturday 21 February 2009

Rename a Docbase

Why to Rename?

Renaming the Docbase is helpful in the following situation:

1.During Migration
2.Setting up new content server environment
3.Data refresh

Often, Documentum Administrators need to setup a new content server environment, other than Production, like, Staging, Test, UAT etc.... Also need a time to time refresh of data in order to have maintain an up to date UAT environment or a Staging environment.

Administrators usually take a snapshot of the production. It would be quite helpful to have a different docbase names in different environments.

Administrators tasks:

1. Restore the database on the target database server with a new name (or same as in source).
2. Change the docbase owner (if required)
3. Run following queries

Update acl_domain

Update dm_sysobject_s set acl_domain='NewDocbaseName' where acl_domain='OldDocbaseName'

Update Object_Name docbase_config_object

Update dm_sysobject_s set object_name = 'NewDocbaseName' where object_name='OldDocbaseName' --> implies change of AEK.key

Update dm_sysobject_s set owner_name= 'NewDocbaseName ' where owner_name='OldDocbaseName'

Update r_host_name:
update dm_server_config_sset r_host_name = 'newservername' where r_host_name = 'oldservername'

Update r_install_domain:

update dm_server_config_s set r_install_domain = 'newservername' where r_install_domain = 'oldservername'

Update web_server_loc:

update dm_server_config_sset web_server_loc = 'newservername' where web_server_loc = 'oldservername'

Update projection_targets:

update dm_server_config_rset projection_targets ='newservername' where projection_targets = 'oldservername'

Update projection_notes:

update dm_server_config_rset projection_notes = 'newservername' where projection_notes = 'oldservername'

Update target_server on jobs:

update dm_job_s set target_server = 'newdocbase_name.newdocbase_name@newservername' where target_server = 'olddocbase_name.olddocbase_name@oldservername'

Update user_os_domain:

update dm_user_s set user_os_domain = 'newservername' where user_os_domain = 'oldservername'

Update user_login_domain:

update dm_user_s set user_login_domain = 'newservername' where user_login_domain = 'oldservername'

Check if any user_global_uique_id has the old server name:

Select user_name, user_global_unique_id from dm_user_s where user_global_unique_id like 'oldservername:%'

If so update them by:

update dm_user_s set user_global_unique_id = ':user_name' where user_global_unique_id = 'newservername:user_name'

Update Mount point

update dm_mount_point_s set host_name='newservername' where host_name = 'newservername'
Update dm_location_s:

select file_system_path
from dm_location_s where file_system_path like 'D:\Documentum\data\olddocbase%'

Update each entry with the new docbase name.

Update do_mail, do_method links in the dm_server_config

Developer Tasks:
In order to make sure that name change doesn't affect the client applications, developers should not hard code following in code

1. Docbase name
2. Docbase owner name (get it from the IDfSession)
3. ACL domain of public ACLs

No comments:

Post a Comment