Synchronize Dictionary Manually

The merge process synchronizes the dictionary information based on the dictionary name in the source and target database. If the source dictionary name is not available in target database, then manual synchronization is required.

To synchronize the dictionary data manually on the target database:

  1. Log in as the Oracle Argus Safety schema owner using sqlplus on the target safety database.
  2. Locate the new ENTERPRISE_ID value created from import process using the following sql:
    SELECT VALUEFROM cmn_profile_globalWHERE section = 'DATABASE' AND KEY = 'MERGING_TO_MULTITENANT';
    
  3. Set the context value to new Enterprise_id
    Exec pkg_rls.set_context('admin',< Value of New Enterprise ID>,'ARGUS_SAFETY');
    
  4. Locate the list of Dictionaries ID's where Dictionary synchronization pending due to missing Dictionaries on Target database. If the following sql results in NO ROWS, then no further action is required.
    Select dict_idFrom cfg_dictionaries_enterpriseWhere enterprise_id = <Value of New Enterprise ID>And global_dict_id = -1;
    
  5. Log in as the Oracle Argus Safety schema owner using sqlplus on the source safety database.
  6. Locate the dictionary name of each Dictionary ID where the dictionary does not exist on the target database using the following sql:
    Select name from cfg_dictionaries_global where dict_id in (<List of Dict ID values (comma separated) from Step 4);
    
  7. Load the missing dictionaries on the target database.
  8. Set the context to new enterprise_id using following sql on target database.
    Exec pkg_rls.set_context('admin',<Value of new ENTERPRISE_ID> ,'ARGUS_SAFETY');
    
  9. Update GLOBAL_DICT_ID data in the target database using the following SQL:
    UPDATE CFG_DICTIONARIES_ENTERPRISE
    SET GLOBAL_DICT_ID = <Dictionary Global Dict ID value from target database>
    WHERE ENTERPRISE_ID = <New ENTERPRISE_ID created in Target Database>
    AND DICT_ID = <Value of Dict ID in New ENTERPRISE with Dictionary name>
    AND GLOBAL_DICT_ID =-1;