Hello,

After, the posts Documentum : Moving Content Files via Administration Method MIGRATE_CONTENT (1/3) and Documentum : Moving Content Files via Records Migration Job (2/3) concerning respectively the content’s migration via MIGRATE_CONTENT administration method and via Records Migration Job, I propose to focus on content’s migration via Migration Policy.
 
Reminder, Content Server supports three ways to move content files:

  • 1. MIGRATE_CONTENT administration method
  • 2. Records migration job
  • 3. Migration Policy (need of Documentum Content Storage Services license)

 
 
 

3. MIGRATION POLICY (JOB)
 

The content migration policies needs Content Storage Services license and are implemented as jobs. These jobs automate the movement of content files from one storage area to another by:

  • specify the target storage area which wil store the selected content files
  • specify the selection criteria for the content to be moved
  • specify how many content files you want to move in one execution
  • specify the maximum number of files to move in one execution

 
 

Content Storage Services / Centera
In addition to the standard services described above, Content Server also offers the following optionally licensed functionalities. It is possible to add an optional storage policy engine via Content Storage Services (CSS) to automate storage allocation and migration based on policies. For example, frequently accessed content can be stored in a high-performance storage environment while rarely accessed content can be migrated to a more economical storage environment based on configured policies.

  • Content Services for EMC Centera (CSEC) adds support for Centera storage for guaranteed retention and immutability. Centera storage is suitable for storing large amounts of infrequently changing data that needs to be retained for a specific period.
     
  • Content Storage Services (CSS) enables the use of content storage and migration policies, which automate the assignment of content to various storage areas. CSS can be used for optimizing the use of storage infrastructure in the enterprise. CSS also provides features for content compression and de-duplication.
    In DA, under “Store Management / Migration Policies”:

    Store Management:
    + Storage
    + Assignment Policies
    + Migration Policies

 
 
The procedure of creation is detailed from page 322 in the “Administrator Version 7.2 User Guide” http://www.emc.com/collateral/TechnicalDocument/docu57878.pdf, however, you would find below several important points:

  • The selection of objects for migration is possible via:
    • the selection criteria in the rules section of migration policy job to migrate documents from one store to another,
    • OR selection of migrating objects older than months based on creation date, modify date or access date of the document,
    • OR specification of a DQL predicate that could be a valid where clause to migrate specific objects:

      DQL query selection / Move content objects only(dmr_content)
      WHERE : any parent_id IN (SELECT r_object_id from my_document (ALL) WHERE any r_aspect_name = 'my_aspect_java') AND storage_id NOT IN (select r_object_id from dm_ca_store where name='centera_store_no_retention')

     

  • The migration policy job does not update the r_modify_date and r_modifier fields of target objects type with the dm_query based on dm_document
     
  • The migration policy job moves also the renditions of content.
     
  • Migration policies are jobs that execute the MIGRATE_CONTENT administration method. The Records policy jobs use the system Administration method dm_MoveContent.
     

Here, an example of execution report available in :

SELECT * FROM dm_sysobject WHERE folder('/Temp/Jobs/My_ArchivingMigrationPolicy') ORDER BY r_creation_date DESC;

Connected To MY_DOCBASE_DEV.MY_DOCBASE_DEV
My_ArchivingMigrationPolicy Tool In Progress at 11/01/2016 09:54:00
My_ArchivingMigrationPolicy Tool Completed at 11/01/2016 09:54:20.  Total duration was 0 minutes.
Calling SetJobStatus function...

 
--- Start d:\Documentum\dba\log\xxxxxx\sysadmin\My_ArchivingMigrationPolicyDoc.txt report output ----
My_ArchivingMigrationPolicy Report For DocBase MY_DOCBASE_DEV As Of 11/01/2016 09:54:02
   
 
Parameters for MoveContent:
-----------------------------
-custom_predicate is set to  any parent_id IN (SELECT r_object_id from my_document WHERE any r_aspect_name = 'my_aspect_java') 
-target_store is set to centera_store_no_retention
-target_object_type is set to dmr_content
-remove_original_content is set by the job/method to T
-max_migrate_count is set to 0
-batch_size is set to 500
-renditions is not set.  The system will default to
-parallel_degree is set to 0
-Trace Level is set to 0
-Inbox messages will be queued to MYUSEROWNER


Number of content objects migrated successfully
-----------------------------------------------
2


----- Start content migration log ------------------------

2016-11-01T09:54:02.625000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Begin Content Migration."
2016-11-01T09:54:02.625000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "TARGET_STORE : centera_store_no_retention, SOURCE_STORE : <Not Specified>, OBJECT_ID : <Not Specified>, QUERY : any parent_id IN (SELECT r_object_id from my_document WHERE any r_aspect_name = 'my_aspect_java'), SYSOBJECT_QUERY : FALSE, MAX_MIGRATE_COUNT : 0, BATCH_SIZE : 500, LOG_FILE : d:\Documentum\dba\log\080220c58052dca7_move_content.log, REMOVE_ORIGINAL : TRUE, RENDITIONS : Primary, PARALLEL_DEGREE : 0, SOURCE_DIRECT_ACCESS : FALSE, TYPE_TO_QUERY : 1, JOB_NAME : <Not Specified>, ALL_VERSIONS : FALSE, IGNORE_CONTENT_VALIDATION_FAILURE : FALSE"
2016-11-01T09:54:02.625000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "select r_object_id from dmr_content where any parent_id IN (SELECT r_object_id from my_document WHERE any r_aspect_name = 'my_aspect_java') AND ANY (parent_id in (select r_object_id from dm_sysobject where r_lock_owner != ' '))"
2016-11-01T09:54:18.132000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "query execution complete"
2016-11-01T09:54:18.132000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "SELECT r_object_id FROM dmr_content WHERE any parent_id IN (SELECT r_object_id from my_document WHERE any r_aspect_name = 'my_aspect_java') ORDER BY r_object_id ASC"
2016-11-01T09:54:18.600000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "query execution complete"

2016-11-01T09:54:18.678000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_MIGRATING_OBJECT]info:  "Migrating content object 060xxxxxxxxxxxxx4"
2016-11-01T09:54:18.709000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Executing query : SELECT ret.aging_method, max(ret.retention_date) AS max_ret_date,                                              min(ret.retention_date) AS has_null_date FROM                                              dmr_content_r cont, dm_sysobject_r sys, dm_retainer_s ret                                              WHERE cont.r_object_id = :p0 AND cont.parent_id = sys.r_object_id                                              AND sys.i_retainer_id = ret.r_object_id AND                                              ret.retention_date >= :p1                                              AND ret.r_retention_status=0 group by ret.aging_method"
2016-11-01T09:54:18.741000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Time taken to execute query (secs) : 0.039108"
2016-11-01T09:54:18.741000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "dmProcessTargetRetentionForMigration, retention(secs) : -1 enableEBR :0 Retention Hold : 0"
2016-11-01T09:54:19.692000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Updated the a_storage_type attribute(s) of 090220c5803b4df8 to centera_store_no_retention"
2016-11-01T09:54:19.739000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "select r_object_type from dm_sysobject (all) where r_object_id = '090220c5803b4df8'"
2016-11-01T09:54:19.770000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "query execution complete"
2016-11-01T09:54:19.786000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_PERF_REC]info:  "Total Time (secs)	Total Storage Time (secs)	Total Database Time (secs)	Storage Time for current file (secs)	Database Time for current file (secs)	Total Objects	Current file size	Xput (bytes/sec) for current file	Max storage time (secs)	Max database time (secs)	Max file size	Migration Xput (docs/sec)	Storage Xput (bytes/sec)	Total KBytes"
2016-11-01T09:54:19.786000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_PERF_REC]info:  "34.116	18.049	16.067	18.049	16.067	1	9392	275.016048774768	18.049	16.067	9392	0.0013117598780631	520.361238849798	9"
2016-11-01T09:54:19.786000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_MIGRATED_OBJECT]info:  "Migrated content object 060xxxxxxxxxxxxx4"

2016-11-01T09:54:19.848000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_MIGRATING_OBJECT]info:  "Migrating content object 060xxxxxxxxxxxxa2"
2016-11-01T09:54:19.880000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Executing query : SELECT ret.aging_method, max(ret.retention_date) AS max_ret_date,                                              min(ret.retention_date) AS has_null_date FROM                                              dmr_content_r cont, dm_sysobject_r sys, dm_retainer_s ret                                              WHERE cont.r_object_id = :p0 AND cont.parent_id = sys.r_object_id                                              AND sys.i_retainer_id = ret.r_object_id AND                                              ret.retention_date >= :p1                                              AND ret.r_retention_status=0 group by ret.aging_method"
2016-11-01T09:54:19.880000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Time taken to execute query (secs) : 0.0014391"
2016-11-01T09:54:19.880000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "dmProcessTargetRetentionForMigration, retention(secs) : -1 enableEBR :0 Retention Hold : 0"
2016-11-01T09:54:20.301000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "Updated the a_storage_type attribute(s) of 090220c5803c7590 to centera_store_no_retention"
2016-11-01T09:54:20.301000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "select r_object_type from dm_sysobject (all) where r_object_id = '090220c5803c7590'"
2016-11-01T09:54:20.301000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "query execution complete"
2016-11-01T09:54:20.301000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_PERF_REC]info:  "36.05	19.983	16.067	1.934	0	2	81735	42262.1509824199	18.049	16.067	81735	0.0554785020804438	4560.22619226342	88"
2016-11-01T09:54:20.301000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_MIGRATED_OBJECT]info:  "Migrated content object 060xxxxxxxxxxxxa2"
2016-11-01T09:54:20.332000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_MIGRATION_SUCCESS]info:  "Successful migration of batch (2 object(s))."
2016-11-01T09:54:20.332000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_OBJECTS_MIGRATED]info:  "2 object(s) successfully migrated."
2016-11-01T09:54:20.332000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_TOTAL_SKIPPED]info:  "0 objects skipped during migration"
2016-11-01T09:54:20.332000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT_PERF_FINAL]info:  "2 Objects Migrated. Total Storage Time(secs): 19.983, Total Database Time: 16.067, Total Content Size (KBytes): 88"
2016-11-01T09:54:20.332000	3600[6572]	01xxxxxxxxxxxxxxxxxx93	[DM_CONTENT_T_MIGRATE_CONTENT]info:  "End Content Migration."

----- End content migration log ------------------------

Report End  11/01/2016 09:54:20
--- End d:\Documentum\dba\log\xxxxxx\sysadmin\My_ArchivingMigrationPolicyDoc.txt report output ---


Best regards,

Huseyin