Using the Schema Mover

While best practices advocate separating schema and user data, it is possible to have user data in the schema area. You can separate schema and user data by using PROUTIL dump and load or bulkload qualifiers, Database Administration, the Data Dictionary, or ABL code. However, as long as schema remains in an area, the extents continue to hold disk space, even after the removal of data. To free this disk space, use the Schema Mover qualifier to PROUTIL to move the schema. Once the area's schema is moved, user data may be recovered and the area then truncated.

To move schema to a new area:

  1. Truncate the database's BI file. PROUTIL will send an error message if you do not.
  2. Back up the database.
    CAUTION: PROUTIL with the MVSCH qualifier is a non-recoverable utility. If the execution fails, you cannot connect to the database and must restore a backup.
  3. Execute the MVSCH command.

    Enter the MVSCH command as shown to begin the schema move, where dbname is the name of the converted database:

    proutil dbname -C mvsch 

As shown in Figure 1, after you convert your database to OpenEdge Release 12 using the PROUTIL CONV1112 command, Area 6 (NewDB.d1) contains both the database's schema and user data from the Release 11 database (OldDB.d1). Data may then be moved using PROUTIL binary dump and load, PROUTIL TABLEMOVE, or PROUTIL IDXMOVE. However, while schema remains in Area 6 (NewDB.d1), the area extents will continue to hold disk space, even after the data is moved.

Figure 1. PROUTIL CONV1112 without Schema Mover.

When you initiate the schema move by entering the syntax shown in Step 3 above, PROUTIL recreates the schema area and moves meta-schema into the area, named NewDB.d1. PROUTIL then renames the old schema area NewDB_7.d1 as "Old Default Area." User data from the old schema are remains in this area. With schema removed from the "Old Default Area," remaining user data may now be recovered and moved, and the area truncated to recover any unused space.

Note: Schema move only removes the schema from the "Old Default Area." It does not remove user data. User data must be moved before the area is truncated. Failure to move data prior to truncating the area will result in lost data.
Figure 2. PROUTIL CONV1112 with Schema Mover