Change Documentum content server installation owner account in Windows.

When you install Documentum Content Server the OS user account that you used to login to the OS becomes your installation owner. You usually never run in to situations to change the installation owner account, but we had to update when we clone docbase for building other environments. It was fairly easier when I changed in Linux in the past but I found it little bit painstaking when it comes to Windows.

To change the installation owner on Windows OS:

  1. Log in as the Windows OS as administrator.
  2. Stop services for all repositories and connection brokers.
  3. Stop all Content Servers on the host.
  4. Stop all connection brokers on the host.
  5. Set the value for the new installation owner in the install_owner parameter in the server.ini file located at %DOCUMENTUM%\dba\config\repository_name\server.ini.
  6. Change the permissions in the data, dba, product, and share subdirectories of the DOCUMENTUM installation root directory:
  7. In Windows Explorer, select the directory.
  8. Right‑click the directory to display a menu and select Properties from the menu.
  9. Select the Security tab on the Properties dialog box.
  10. Click Add to add the new installation owner to the list of those with permissions on the directory. You are prompted for the new owner’s domain.
  11. Give the new owner Full Control permission.
  12. Check Replace Permissions on Subdirectories and Replace Permissions on Existing Files.
  13. Delete the old installation owner from the list of those with access permission on the directory.
  14. Click OK.
  15. Edit the Registry to reflect the change in ownership:
  16. In the following key: HKEY_LOCAL_MACHINE\SOFTWARE\Documentum\Server\version_No  Change the value of DM_OLDADMIN_USER to the new owner.
  • If the new owner is in a different domain, change the value ofDM_DMADMIN_DOMAIN to the domain of the new owner.
  •  In the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DmServerdocbasename, change the   install_owner parameter in the value for Imagepath to the new owner.

17. For each repository in the installation, use regedt32 to change the security permission on the following Registry keys:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Doumentum\Server\version_No.
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Documentum
  • HKEY_LOCAL_MACHINE\SOFTWARE\Doumentum\Docbases\docbase_name
  1. Select the key and right‑click it to display a menu.
  2. Select Security > Permissions.
  3. Add the new installation owner with Full Control.
  4. Delete the old installation owner.
  5. For each Content Server, set the appropriate startup information:
  6. Select Control Panel > Services.
  7. Select the Service: Documentum Docbase docbase_name.
  8. In the Startup dialog box, type the new owner and owner’s password under — Log On as: this account.
  9. Move the Documentum and Documentum docbase docbase_name in the Start menu from Windows\Profiles\old_owner\Start Menu\Programs\ –>>to->> Windows\profiles\new_owner\Start Menu\Programs
  10. Update the r_install_owner and r_install_domain parameters in the server_config object to reflect the new installation owner.

We can verify/update by running following SQL statement(s).

SELECT * FROM dm_server_config_s ;

UPDATE dm_server_config_s SET r_install_owner = ‘………’;

11. Restart Windows Server.

In addition to the above steps – you will have to execute following queries to update the installation owner name with new installation owner.

1) Just to be safer, get the counts of objects that uses our  old user account
===============================================================
select count(*) from dm_sysobject_s where acl_domain = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_lock_owner = ‘oldAdmin’;

select count(*) from dm_sysobject_s where owner_name = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_creator_name = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_modifier = ‘oldAdmin’;

select count(*) from dmi_queue_item_s where sent_by = ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where name = ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where supervisor_name = ‘oldAdmin’;

select count(*) from dmi_queue_item_s where sign_off_user= ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where dequeued_by= ‘oldAdmin’;

select count(*) from dm_router_s  where supervisor_name= ‘oldAdmin’;

select count(*) from dm_router_r  where task_owner = ‘oldAdmin’;

select count(*) from dm_router_r where r_sign_off_user= ‘oldAdmin’;

select count(*) from dm_acl_s where owner_name= ‘oldAdmin’;

select count(*) from dm_acl_r  where r_accessor_name = ‘oldAdmin’;

select count(*) from dm_group_r  where users_names = ‘oldAdmin’;

select count(*) from dm_group_r  where i_all_users_names = ‘oldAdmin’;

select count(*) from dm_group_s  where owner_name = ‘oldAdmin’;

select count(*) from dmi_registry_s  where user_name = ‘oldAdmin’;

select count(*) from dm_registered_s where table_owner = ‘oldAdmin’;

select count(*) from dmi_type_info_s  where acl_domain = ‘oldAdmin’;

select count(*) from dm_activity_r  where performer_name = ‘oldAdmin’;

select count(*) from dm_workflow_s  where r_creator_name = ‘oldAdmin’;

select count(*) from  dm_workflow_s  where supervisor_name = ‘oldAdmin’;

select count(*) from  dm_workflow_r  where r_last_performer = ‘oldAdmin’;

select count(*) from  dmi_workitem_s  where r_performer_name = ‘oldAdmin’;

select count(*) from dmi_workitem_r  where r_ext_performer = ‘oldAdmin’;

select count(*) from dm_type_s  where owner = ‘oldAdmin’;

select count(*) from dm_alias_set_s where owner_name = ‘oldAdmin’;
2)execute the following statements update user from old user to new user
update dm_sysobject_s set acl_domain = ‘newAdmin’ where acl_domain = ‘oldAdmin’;

update dm_sysobject_s set r_lock_owner = ‘newAdmin’ where r_lock_owner = ‘oldAdmin’;

update dm_sysobject_s set owner_name = ‘newAdmin’ where owner_name = ‘oldAdmin’;

update dm_sysobject_s set r_creator_name = ‘newAdmin’ where r_creator_name = ‘oldAdmin’;

update dm_sysobject_s set r_modifier = ‘newAdmin’ where r_modifier = ‘oldAdmin’;

update dmi_queue_item_s set sent_by = ‘newAdmin’ where sent_by = ‘oldAdmin’;

update dmi_queue_item_s set name = ‘newAdmin’ where name = ‘oldAdmin’;

update dmi_queue_item_s set supervisor_name = ‘newAdmin’ where supervisor_name = ‘oldAdmin’;

update dmi_queue_item_s set dequeued_by = ‘newAdmin’ where dequeued_by= ‘oldAdmin’;

update dm_router_s set supervisor_name = ‘newAdmin’ where supervisor_name= ‘oldAdmin’;

update dm_router_r set task_owner= ‘newAdmin’ where task_owner = ‘oldAdmin’;

update dm_router_r set r_sign_off_user = ‘newAdmin’ where r_sign_off_user= ‘oldAdmin’;

update dm_acl_s set owner_name = ‘newAdmin’ where owner_name= ‘oldAdmin’;

update dm_group_r set users_names = ‘newAdmin’ where users_names = ‘oldAdmin’;

update dm_group_s set owner_name = ‘newAdmin’ where owner_name = ‘oldAdmin’;

update dmi_registry_s set user_name = ‘newAdmin’ where user_name = ‘oldAdmin’;

update dm_activity_r set performer_name = ‘oldAdmintage’ where performer_name = ‘oldAdmin’;

update dm_workflow_s set r_creator_name = ‘newAdmin’ where r_creator_name = ‘oldAdmin’;

update dm_workflow_s set supervisor_name = ‘newAdmin’ where supervisor_name = ‘oldAdmin’;

update dm_workflow_r set r_last_performer = ‘newAdmin’ where r_last_performer = ‘oldAdmin’;

update dmi_workitem_s set r_performer_name = ‘newAdmin’ where r_performer_name = ‘oldAdmin’;

Update dm_type_s set owner = ‘newAdmin’ where owner = ‘oldAdmin’;

update dm_alias_set_s set owner_name = ‘newAdmin’ where owner_name = ‘oldAdmin’;

===============================================================
select count(*) from dm_sysobject_s where acl_domain = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_lock_owner = ‘oldAdmin’;

select count(*) from dm_sysobject_s where owner_name = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_creator_name = ‘oldAdmin’;

select count(*) from dm_sysobject_s where r_modifier = ‘oldAdmin’;

select count(*) from dmi_queue_item_s where sent_by = ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where name = ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where supervisor_name = ‘oldAdmin’;

select count(*) from dmi_queue_item_s where sign_off_user= ‘oldAdmin’;

select count(*) from dmi_queue_item_s  where dequeued_by= ‘oldAdmin’;

select count(*) from dm_router_s  where supervisor_name= ‘oldAdmin’;

select count(*) from dm_router_r  where task_owner = ‘oldAdmin’;

select count(*) from dm_router_r where r_sign_off_user= ‘oldAdmin’;

select count(*) from dm_acl_s where owner_name= ‘oldAdmin’;

select count(*) from dm_acl_r  where r_accessor_name = ‘oldAdmin’;

select count(*) from dm_group_r  where users_names = ‘oldAdmin’;

select count(*) from dm_group_r  where i_all_users_names = ‘oldAdmin’;

select count(*) from dm_group_s  where owner_name = ‘oldAdmin’;

select count(*) from dmi_registry_s  where user_name = ‘oldAdmin’;

select count(*) from dm_registered_s where table_owner = ‘oldAdmin’;

select count(*) from dmi_type_info_s  where acl_domain = ‘oldAdmin’;

select count(*) from dm_activity_r  where performer_name = ‘oldAdmin’;

select count(*) from dm_workflow_s  where r_creator_name = ‘oldAdmin’;

select count(*) from  dm_workflow_s  where supervisor_name = ‘oldAdmin’;

select count(*) from  dm_workflow_r  where r_last_performer = ‘oldAdmin’;

select count(*) from  dmi_workitem_s  where r_performer_name = ‘oldAdmin’;

select count(*) from dmi_workitem_r  where r_ext_performer = ‘oldAdmin’;

select count(*) from dm_type_s  where owner = ‘oldAdmin’;

select count(*) from dm_alias_set_s where owner_name = ‘oldAdmin’;
3) reset view
sqlplus>update dm_type_s set views_valid=0;
SQLPLUS>commit;

=========================================================================

I will try to add steps specific to Linux OS.

 

Leave a Reply

Your email address will not be published. Required fields are marked *