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