How to rebuild the DH__ and DH__WRITER databases via dmsmgr utility.

Document ID : KB000029521
Last Modified Date : 14/02/2018
Show Technical Document Details

These steps will remove the current DH__ and DH__WRITER databases on the Distribution Server and will create new blank ones that will get the full DMS database from the Tibco message bus. This is only vaild on r12.8 and above of Enterprise Manager where the DMS to DH communication uses Tibco.  This procedure is to fix any corruption issues with the DH__ database. This is typically seen when policyfetcher cannot connect the DH__ database seen in the endpoints policyfetcher.log file. You can also get DBIO errors when trying to selang and write to the database. This doesn't fix any Tibco communication issues.

The steps and example below have been written for Windows. This can also be used on Linux. 

Step #1

Stop ControlMinder via the secons -s command and backup the existing DH__ database typically found in the data folder. 

Example Path: C:\Program Files\CA\AccessControlServer\APMS\AccessControl\Data 

It is also recommended that you stop the CA ControlMinder Message Queue (Tibco) service. On Linux '/etc/init.d/ca-acrptmq stop' is the command to stop CA ControlMinder Message Queue. 

Step #2

Run the dmsmgr command to remove the existing DH__ and DH__WRITER database. 

dmsmgr -remove -dh DH__

*Note this command will remove both the DH__ and the DH__WRITER. 

Example: 

C:\Users\Administrator>dmsmgr -remove -dh DH__

CA ControlMinder dmsmgr v12.80.1432 - dmsmgr utility

Copyright (c) 2013 CA. All rights reserved.

Operation completed successfully

If you check the data folder again and see that both DH__ and DH__WRITER have been removed. You will also see them removed from services. 

Step #3

Run the dmsmgr command with the admin and desktop options to recreate the database with permissions. 

dmsmgr -create -dh DH__ -admin AD\AdminUser -desktop server123.forward.inc

Options: 

-admin user [,user...]]

(Optional) Defines internal users as administrators of the created DMS or DH.

-desktop hosts

(Optional) Defines a comma-separated list of computers that have TERMINAL access rights to the computer with the created DMS or DH.

Note: Whether specified or not, the terminal running the utility is always granted administration rights for the created DMS or DH.

Example: 

C:\Users\Administrator.ARMAA01>dmsmgr -create -dh DH__ -admin Ad\AdminUser -desktop server123.forward.inc

CA ControlMinder dmsmgr v12.80.1432 - dmsmgr utility

Copyright (c) 2013 CA. All rights reserved.

Creating new database:

  1. Building database file.

  2. Initialize new database.

  3. Open new database.

  4. Add classes to new database.

  5. No user-defined classes added to database.

  6. Add properties to classes.

  7. Add objects to class SeOS and class UACC.

  8. Add predefined objects to database.

  9. No user-defined properties added to database.

  10. Close new database files.

Successfully created new CA ControlMinder database.

Creating new database:

  1. Building database file.

  2. Initialize new database.

  3. Open new database.

  4. Add classes to new database.

  5. No user-defined classes added to database.

  6. Add properties to classes.

  7. Add objects to class SeOS and class UACC.

  8. Add predefined objects to database.

  9. No user-defined properties added to database.

  10. Close new database files.

Successfully created new CA ControlMinder database.

You must now synchronize the DMS and DH Policy Models (use sepmd -n or the subs selang command).

Operation completed successfully

You will now see the DH__ and the DH__WRITER database created. 

 

Step #4

Start ControlMinder via seosd -start (Windows) or seload (Linux). If you stopped the CA ControlMinder Message Queue (Tibco) service please to start it. You can use /etc/init.d/ca-acrptmq start on a Linux Server. 

Step #5

You can verify this worked by running the sepmd -L DMS__ command from the Enterprise Manager server. This will list the DH__@host you just removed and it will have a newly updated sync time. 

Example: 

Subscriber name                           Pending messages       Status          Last update time

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

DH__@server123.forward.inc          0                               synced          Mon Jan 19 09:19:44 2015

Step #6 (Optional) 

To also verify that your endpoints can now connect to the newly recreated DH database please find an appropriate endpoint and restart ControlMinder and check the policyfecther.log for connectivity.