I already experienced the installation of a remote Content Server but it was my first decommissioning, and as usual the decommission is faster than the installation 😉 by the way, read this blog if you missed how to install a remote Docbase 🙂

First step is to delete all remote Docbases, then delete DocBroker, and at the end uninstall the Content Server. In my case, I have 4 Content Servers (ser, ser-0, ser-01, ser-1) and I would like to decommission the ser-1.

Now, let’s start.

1. Preparation

A. Stop Docbase(s) and DocBroker on ser-1

$DOCUMENTUM/dba/dm_shutdown_repo
$DOCUMENTUM/dba/dm_shutdown_repo1
$DOCUMENTUM/dba/dm_stop_DocBroker

Not mandatory because anyway the installer will stop it before deletion.

B. Review Projections on Client Applications
Review the projections of every client applications (e.g. DA, D2, D2-Config), to remove the reference to the uninstalled DocBroker. Keeping the old references will not cause any major issue, but the performance can be affected until the DocBroker is discarded.

C. Review Projections of the remaining CS nodes
Review the projections of the remaining CS nodes, to remove projections to the uninstalled DocBroker. Keeping the old projections will not cause any major issue, but CS will take longer to start, and some errors will appear in the logs. Don’t forget to review both server.ini and dm_server_config configuration object of each remaining node:

Projections in the server.ini file should be updated manually, the installer don’t remove a deleted target server.

cat $DOCUMENTUM/dba/config/repo/server.ini
...
[DOCBROKER_PROJECTION_TARGET]
host = ser
port = 1489
proximity=1
...

Projections in dm_server_config should be checked/updated manually for each docbase.

API> ?,c,select r_object_id, object_name from dm_server_config;
r_object_id			object_name
----------------	-----------
3d01e24080000102  	repo       
3d01e2408000b7b4  	ser-0_repo 
3d01e2408000c523  	ser-01_repo 
3d01e2408000c575  	ser-1_repo
(4 rows affected)

API> dump,c,3d01e2408000c523
...
USER ATTRIBUTES

  object_name                     : ser-01_repo
  ...
  projection_targets           [0]: ser-1
  projection_ports             [0]: 1489
  projection_proxval           [0]: 2
  projection_notes             [0]: Projecting to the fourth CS
  projection_enable            [0]: T
  ...

For all Docbases and all remaining nodes check if any is projected to the server to decommission, change the projection to another remaining node:

API> fetch,c,3d01e2408000c523
API> set,c,l,projection_targets[0]
SET> ser-0
...
OK
API> set,c,l,projection_ports[0]
SET> 1489
...
OK
API> set,c,l,projection_proxval[0]
SET> 2
...
OK
API> set,c,l,projection_notes[0]
SET> Projecting to the second CS
...
OK
API> set,c,l,projection_enable[0]
SET> T
...
OK
API> dump,c,l
...
USER ATTRIBUTES

  object_name                     : ser-01_repo
  ...
  projection_targets           [0]: ser-0
  projection_ports             [0]: 1489
  projection_proxval           [0]: 2
  projection_notes             [0]: Projecting to the second CS
  projection_enable            [0]: T
  ...
API> save,c,l
...
OK
API> reinit,c
...
OK
API> exit
Bye

Repeate the steps for other Docbases, if any.

2. Delete Docbase(s) and DocBroker

To delete a Docbase launch the installer by executing below script:

$DOCUMENTUM/product/7.3/install/dm_launch_cfs_server_config_program.sh

Then check “Delete content-file server” and click “Next”

Select the repository from the list (delete the global repository at the end) then click “Next”

If a docbase is shown twice (or more), see this blog to know the root cause and the solution.

Put the password of dmadmin and click “Next”

Wait… As said before the installer will stop the docbase if it is started.

CFS deleted, click “Done”

Repeat the operation for other docbases if any.

To create the configuration file which can be used for silent deletion, execute below script with parameter:

$DOCUMENTUM/product/7.3/install/dm_launch_cfs_server_config_program.sh -r cfs_server_config.properties

To delete a DocBroker launch the installer by executing below script:

$DOCUMENTUM/product/7.3/install/dm_launch_server_config_program.sh

Check “Connection broker” and click “Next”

Check “Delete a connection broker” and click “Next”

Click on “Yes” to confirm

Check “Finish configuration” and click “Next”

Repeate the steps for other DocBrokers, if any.

3. Uninstall the Content Server

To uninstall the CS, execute the following:

$DOCUMENTUM/uninstall/server/Uninstall

Click “Next”

As mentioned in the screenshot the files and folders create after the installation will not be removed, you have to do it manually if needed.

Wait..

Click “Finish” when the Finish button appear.

4. POST Uninstall

A. Disable and delete jobs
Disable and delete all jobs built specifically to act over the uninstalled CS node (like dm_logPurge). To make it easy delete all jobs contain the SERVER_NAME.

Select impacted jobs:

API> ?,c,select object_name from dm_job where object_name like '%ser-1%';
object_name                                                                                                                                                                      
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
dm_ContentWarningSER-1_repo                                                                                                                                         
dm_LogPurgeSER-1_repo                                                                                                                                            
dm_ContentReplicationSER-1_repo                                                                                                                                      
dm_DMCleanSER-1_repo                                                                                                                                                 
dm_DMFilescanSER-1_repo                                                                                                                                              
(5 rows affected)

Disable and delete them:

API> ?,c,update dm_job object set is_inactive=1 where object_name like '%SER-1%';
objects_updated
---------------
              5
(1 row affected)
[DM_QUERY_I_NUM_UPDATE]info:  "5 objects were affected by your UPDATE statement."

API> ?,c,delete dm_job object where object_name like '%SER-1%';
objects_deleted
---------------
              5
(1 row affected)
[DM_QUERY_I_NUM_UPDATE]info:  "5 objects were affected by your DELETE statement."

B. Review target of each job
Change the target server of jobs configured to run on the uninstalled CS node (if any). You can point them to one of the remaining nodes, or choose the “Any Running Server” option:

API> ?,c,select object_name from dm_job where target_server like '%SER-1%';
object_name                                                                                                                                                                      
----------------
(0 rows affected)

By the way, as you can see from the query above, no action needed if you configured your jobs correctly as explained in this blog.

C. Restart all the environment
If possible, restart all remaining Content Server and Client Applications also, in this way you are sure to start from a good basis.

Please don’t hesitate to ask or share your experience 😉