Previous Topic: TechniquesNext Topic: Techniques


Adoption/Unadoption

Adoption is used to assign common ancestry to an object for the purpose of migration. The original object ID of the adoptee is updated to the original object ID of the related object. Adoption serves two purposes:

The adopt function automatically unadopts component objects. Component objects that do not get adopted are given a new original object ID to sever any common ancestry they may have. Object IDs are assigned as they are to a subset. Incremental commits are not taken during the adopt function. Adopt of large models can cause DB2 to escalate its locks to the tablespace level, thereby causing contention.

With large models, unadoption does no incremental commits and therefore will lock many database pages before the process is completed. To accomplish the effect of incremental commits, you can selectively adopt large models rather than using the All option.

The following table lists the suggested order of adoption for specific object types and the prerequisites that are required for the adoption of the objects:

Object Type

Prerequisite

Subject areas

 

Entity types

 

Relationships

Entity types

Data records

Entity types, Relationships

Database

 

Tablespace

Databases

Work attribute sets

 

Business system

 

Commands

Business system

Templates

Business system

Exit States

 

Functions

Entity types and work attribute sets defined in views

Processes

Entity types and work attribute sets defined in views

BAA common action blocks

Entity types and work attribute sets defined in views

BSD common action blocks

Business system, entity types and work attribute sets defined in views

Procedure

Business system, entity types and work attribute sets defined in views

Dialog flow

Procedures, Exit states

Online load module

Business system

Window load module

Business system

User defined object class

 

User defined matrix

User defined object class

All other selectable objects do not have prerequisites and can be adopted in any order.

The unadopt function performs the opposite of an adoption. Uses for the unadopt feature include:

An unadopted model no longer has common ancestry with models in its prior family. This process is accomplished by replacing all original object IDs with unique IDs, but does not change the appearance of the model. Incremental commits are not taken during the unadopt function. Unadopt of large models can cause DB2 to escalate its locks to the tablespace level, thereby causing contention.