Running the Migration

If you server was operated in Former Typing mode on the previous release, migrate the content to support the default Unified Typing mode. Complete content migration should be performed before operating a V6R2017x server .


Before you begin:
  • Run the steps described in Recommendations.
  • The migration tool must directly access the database using JDBC. You must therefore update the boot file. To do so, add the JDBC URL of the database to the MATRIX-R file:
    ORACLEDB2SQL Server
    JDBC URLJdbcUrl=jdbc:oracle:thin:@${DatabasePrivIP}:${DataBasePort}:${DataBaseSID}

    Example: JdbcUrl=jdbc:oracle:thin:@localhost:1521:R2017xDB

    JdbcUrl=jdbc:db2:// ${DatabasePrivIP}:${DataBasePort}/${DataBaseSID}

    Example: JdbcUrl=jdbc:db2://machineName:60000/R2017xDB

    JdbcUrl=jdbc:sqlserver://${DatabasePrivIP};database=${DataBaseSID}

    Example: JdbcUrl=jdbc:sqlserver://machineName:1433;database=R2017xDB

    DriverInstalled by 3DExperience platform Installed within DB2Download and install the JBDC driver for SQL Server at the following address:

    www.microsoft.com/en-us/download/details.aspx?id=11774)

    MX_CLASSPATH variable-Set MX_CLASSPATH to point to the driver.

    Example: MX_CLASSPATH=$MX_CLASSPATH:/opt/ibm/db2/V10.1/java/db2jcc.jar

    Set MX_CLASSPATH to point to the driver.

    Example: MX_CLASSPATH=$MX_CLASSPATH;E:\JDBC\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar;

See Also
Procedure for Preparing the Migration
About the Unified Typing Migration Tool
  1. Start a MQL prompt.
  2. Run the following command to test the migration (without commit).

    exec prog emxNewTypingMigrationProgram [ -GenFiles | -updateImpacted <N> | [-Step n] [-Types fileTypes.ntmtypes | type[,type]] [-limit nlimit] [-tSize size] [-commit] ]] -dir dirLocation –filter Filter_String

    Where:
    #              -GenFiles     : Lets you optimize the number of CSV files and the number of lines per file. It generates
                                   CSV files for only custo types that have at least one object of that type in the server
                                   database. Must be executed once. 
                                   This option (or -GenAllFiles) must be executed once before other migration steps. 
                                   It lets you limit the number of csv files.;
                                   This option lets you reduce the number of files generated through an analysis of
                                   the database. It is not adapted to those of you who want to prepare files in a database
                                   that does not contain at least one object for each V1 type.
    #              -GenAllFiles  : Generates CSV for all custo types even if they do not have an object of that type  in
                                   the server database.;
                                   Must be specified to start the migration process.;
                                   This option (or -GenFiles) must be executed once before other migration steps.;
    #              -dir          : Directory where specification files must be generated or searched for.;
    #              -limit        : Maximum number of objects to treat at each run ;
    #                            : if not specified all objects are treated ;
    #               -tSize        : Maximum number of objects to treat per transaction;
    #                            : Default size is 1000; 
    #                            : Followed by a file name with the .ntmtypes extension OR Comma separated Types to migrate. used only for step 1 ;
    #                            : Each line of the file must contain one type or a list of comma separated types of data to migrate.
    #                            :  In this file, each line beginning with "#" is ignored. Use # to comment a line. 
    #                            : if not specified, all customer types on the server are treated;
    #              -types        : Followed by a file name with the .ntmtypes extension. ;
    #                              Each line of the file must contain one type or a list of comma separated types of data to migrate.
    #                              In this file, each line beginning with "#" is ignored. Use # to comment a line. 
    #                              OR
    #                            : Comma separated Types to migrate. used only for step 1 ;
    #                            : if not specified all customer types on the server are treated;
    #              -step         : Migration step :;
    #                            : 1 ==> Creates and adds migration and status extensions to objects of Types type;
    #                            : 2 ==> Changes type from old typing to Unified Typing and migrates SR;
    #                            : 3 ==> Adds extensions that the user wants to add to new typed objects;
    #                            : 4 ==> Does attribute mapping;
    #                            : 5 ==> Does some cleaning by removing the migration status;
    #                            : all ==> Performs all steps;
    #            -updateimpacted : When working in multi-process mode only: after the data migration, updates all paths (paths are not
    #                            : updated on the fly any longer.) <N> is the number of threads to use.
    #              -clean         : Removes the status extensions, and manages the orphaned semantic relations and
    #                               PLM exchange statuses.  
    #              -check         : Generates the objectTypesV1.csv file that lists all V1 type objects that exist in database ;
    #              -commit        : Commits the selected step.;
    #                             : if not specified, the selected step is simulated but not committed;	
    #              -filter        : Limits the number of objects to migrate using the MQL Where Clause. Do not use it in combination with
    #                             : -GenFiles or -GenAllFiles ; 
    #                             : Fiter elements should relate to characteristics common to everything that 
    #                             : is migrated by the process. You cannot apply a condition related to the BOs
    #                             : and another one to the connections.    
    
    
    Notes:
    • The -GenFiles and the -GenAllFiles options generate the mapping of the DS samples attributes automatically. For each Sample DS type named <DSSample> with at least one attribute, an extension named <DSSample>_NTMigExt is created along with attributes whose names are identical to the type ones. These extensions are added to a deployment extension especially created and named NTMigDSSamplesDepPack.
    • If in Read/Write mode, this package can be edited by the user to add/delete attributes using Model Customization. The extensions called <DSSample>_NTMigExt are automatically added to the objects of <DSSample> type.
    • CSV files of Sample types are pre-filled so that their attribute values are transferred to the attributes with the same names located on the <DSSample>_NTMigExt extension. If this choice is not suitable for the administrator, he can make appropriate changes.
    • For each type, the tool creates a deployment extension with the same attribute found on the DS sample. The name of the extension has this format : <Type Name>_NTMigExt, for example PLMProductDS_NTMigExt. If this choice does not suit the administrator, the files can be freely modified. The extensions can also be modified using Model Customization. They belong to NTMigDSSamplesDepPack package.

      For example, enter the following in a MQL prompt:
      set escape on;
      exec prog emxNewTypingMigrationProgram  -step numStep  -limit nLimit -dir dirLocation 
      –filter "project==const\"DEFAULT\" AND (Condition_1 OR Condition_2)" 
      exec prog emxNewTypingMigrationProgram  -step all -limit nLimit -dir dirLocation
      –filter "project==const\"DEFAULT\" AND (Condition_1 OR Condition_2)" 
      –filter "project==const\"DEFAULT\" AND (Condition_1 OR Condition_2)" 
      
  3. Run the command again to commit the migration. Use the option -commit.
    Notes:
    • Once the migration has been performed, the use of the Former Typing mode is prohibited.
    • The MQL Where Clause filter you enter shall not contain:
      • any of the following characters: “” or “;”.
      • clauses like “type==XXX” because “type==XXX” is already used by the tool at step 1 and an object cannot have two types (mql check).

When running step 1, either using -Step1 or -StepAll, a file called NTMigCorruptedObjects.csv can be generated. If this file exists in the output directory, it contains the list of objects that could not be migrated and that remained in the Former Typing mode. In this case, analyze the objects and contact the support if needed.