Cross-Platform PDB Migration

About Cross-Platform PDB Migration

PDB migration is performed on the same system where the workspace server for SAS IT Resource Management 3.3 is executed.
The procedure for cross-platform PDB migration applies to the following scenarios:
  • The PDB is being migrated from SAS 8.2 (for SAS IT Resource Management 2.6 PDBs) to SAS 9.1.3 or later.
  • The PDB is being migrated from a different platform (or server host) than that used by the SAS IT Resource Management 3.3 software. For example, the PDB might be on a Windows file system, but the IT data mart will reside on a UNIX file system.
  • A more subtle example is if the PDB is on a Windows file system using a 32-bit Windows operating system, and the IT data mart is on a Windows file system using a 64-bit Windows operating system.
In any of these cases of different platforms, the PDB must first be moved to the new platform, and then PDB migration can be performed. The process to do this has three basic steps:
  1. Export the PDB and SITELIB SAS libraries into a transferable format.
  2. Transfer the exported libraries to the target system.
  3. Import the PDB and SITELIB libraries from the export package into new SAS libraries on the target system.
Each step of this process is explained in the following topics.

Export the PDB and SITELIB SAS Libraries

Because the format of SAS libraries differs by operating platform and SAS release, a portable format of the PDB and SITELIB SAS libraries must be created on the SAS IT Resource Management 2.6 or 2.7 system. A tool to assist with this task is included as a member in the SAS IT Resource Management 3.3 SASMISC directory. This member is called RMPDBEXP.SAS. To export the libraries, perform the following steps:
  1. Transfer the RMPDBEXP.SAS member from the SAS IT Resource Management 3.3 system into a location where it can be used from the SAS IT Resource Management 2.6 or 2.7 system.
    The RMPDBEXP.SAS member resides in the following locations on your SAS IT Resource Management 3.3 server tier:
    Windows Specifics: <sasroot>\itmsmvadata\sasmisc
    UNIX Specifics: <sasroot>/misc/itmsmvadata
    z/OS Specifics: <high-level-qualifier>.ITRM.CPMISC
    Note: The directory names and locations for SAS IT Resource Management macros did not change between SAS IT Resource Management 3.1.1 and SAS IT Resource Management 3.2. The directory names and locations for SAS IT Resource Management macros did change for SAS IT Resource Management 3.3.
  2. For Windows or UNIX operating environments, run a SAS session with the following code:
    options nofmterr;
    /* include from the appropriate location */
    %include ‘rmpdbexp.sas’;
    /* activate the PDB and SITELIB in readonly mode */
    %cpstart(mode=batch,
        access=readonly,
        mxglib=MXG-format-library,
        mxgsrc=(‘mxg-userid-sourclib’ ‘mxg-mxg-sourclib’),
        pdb=<2.6_pdb>|<2.7_pdb>,
        sitelib=<2.6_sitelib>|<2.7_sitelib>);
    %rmpdbexp(targetLocation=<directory of export>);
    For z/OS operating environments, run a SAS session with the following code:
    options nofmterr;
    /* include from the appropriate location */
    %include ‘rmpdbexp.sas’;
    /* activate the PDB and SITELIB in readonly mode */
    %cpstart(mode=batch,
        access=readonly,
        mxglib=MXG-format-library,
        mxgsrc=(‘mxg-userid-sourclib’ ‘mxg-mxg-sourclib’),
        pdb=<2.6_pdb>|<2.7_pdb>,
        sitelib=<2.6_sitelib>|<2.7_sitelib>);
    %rmpdbexp(targetLocation=<high-level-qualifer>);
Note: The TARGETLOCATION parameter of %RMPDBEXP is a writable directory (for UNIX or Windows). For z/OS, the TARGETLOCATION parameter only supports a high-level qualifier in the traditional file system, where a set of transport files is written out.
One transport file is created for each library that is needed. The file is named with the libref name and an extension of .cpo. Thus, if the user specifies targetLocation=/itrm/Transports, the following transport files are created:
  • /itrm/Transports/admin.cpo
  • /itrm/Transports/collect.cpo
  • /itrm/Transports/day.cpo
  • /itrm/Transports/detail.cpo
  • /itrm/Transports/dictlib.cpo
  • /itrm/Transports/month.cpo
  • /itrm/Transports/sitelib.cpo
  • /itrm/Transports/week.cpo
  • /itrm/Transports/year.cpo
Note: For z/OS, the export files that are created can be allocated in advance if the default space settings are insufficient. The DCB parameter for the files must have the following attributes: RECFM=FB, LRECL=80, and BLKSIZE=8000.

Transfer the Exported Libraries

After the libraries have been exported, the .cpo files need to be moved to the target platform. This can be accomplished by doing a binary FTP transfer or similar copy operation. If the target platform is z/OS, these transport files must reside in the traditional z/OS file system. In addition, these files must have the following DCB attributes: RECFM=FB, LRECL=80, and BLKSIZE=8000.

Import the PDB and SITELIB SAS Libraries

When the .cpo files are on the target platform, they need to be unloaded into SAS libraries on the target platform. A tool to assist with this is included as a member in the SAS IT Resource Management 3.3 SASMISC directory. This member is called RMPDBIMP.SAS. The RMPDBIMP.SAS member resides in the following locations on your SAS IT Resource Management 3.3 server tier:
Windows Specifics: <sasroot>\itmsmvadata\sasmisc
UNIX Specifics: <sasroot>/misc/itmsmvadata
z/OS Specifics: <high-level-qualifier>.ITRM.CPMISC
To perform this operation, invoke the RMPDBIMP.SAS macro as shown in the following example:
options nofmterr; 
%rmmxgini; 
/* include from the appropriate location */ 
%include ‘rmpdbimp.sas’; 
%rmpdbimp(targetLocation=c:\itrm\Ready2Migrate, sourceLocation=c:\itrm\Transports); 
The following information applies to the previous example.
  • The TARGETLOCATION parameter of %RMPDBIMP is a writable directory (for Windows or UNIX environments) or a high-level qualifier (for traditional z/OS environments) where the respective libraries will be created.
  • On z/OS, the SOURCELOCATION parameter must specify a high-level qualifier in the traditional file system.
  • On z/OS, the TARGETLOCATION parameter can specify a directory in the hierarchical file system. If you specify a high-level qualifier in the traditional file system for this parameter, the following error is observed:
    ERROR: targetLocation= must specify a hierarchical location
  • If the directory specified by the TARGETLOCATION parameter does not exist, it is created.
  • Upon successful execution of RMPDBIMP.SAS, the directory specified by the TARGETLOCATION parameter is the value to specify as the PDB parameter on the %RMPDB2DM macro.
  • Upon successful execution of RMPDBIMP.SAS, the SITELIB directory beneath the location specified by the TARGETLOCATION parameter is the value to specify as the SITELIB parameter to the %RMPDB2DM macro.