Concepts: MIGRATE Procedure


What Are the Specific Considerations for Each Member Type?

Note: More information on migrating various member types can be found elsewhere on the Migration Community pages.

  • Data Files

    • There are no specific considerations for data files. The MIGRATE procedure retains encryption, compression, deleted observations, all integrity constraints, created and modified date times, and migrates the audit trail and generations. Indexes and integrity constraints are rebuilt on the member in the target library. Migrated data sets take on the data representation and encoding attributes of the target library. The other attributes retain the values from the source library.

  • Views

    • There are three categories of views to be considered : DATA step views, SQL views, and SAS/ACCESS views. Each type of view has a certain format and considerations.

      • Note:

      • As with data files, migrated data views take on the data representation and encoding attributes of the target library. The other attributes retain the values from the source library.

      • Librefs used in the definition of a view are not changed when migrated. For example, LIB1.MYVIEW contains a view of the data set LIB1.MYDATA. When LIB1 is migrated, you get LIB2.MYVIEW and LIB2.MYDATA. LIB2.MYVIEW still refers to LIB1 not LIB2.

      • DATA Step View

        • in SAS 8, DATA step views gained the ability to store the source used to create the view. DATA step views that contain their source are migrated to SAS 9.1 and automatically recompiled under SAS 9.1 the first time the newly migrated DATA step view is accessed. DATA step views created before SAS 8, or DATA step views that do not contain their source, must be handled differently. Copy or move the source to SAS 9.1 and then recompile it. If the DATA step view does not contain the source, PROC MIGRATE writes a message to the log stating the view was not migrated.

      • SQL View

        • retains data in a transport format. Therefore, there are no problems to be considered when you migrate an SQL view.

      • ACCESS Views

        • written with Oracle, Sybase, or DB2 engines, will migrate by making use of the new CV2VIEW procedure specifically created to migrate these views. PROC MIGRATE calls PROC CV2VIEW, on your behalf . Views from SAS 6.09E (OS/390 or zOS) or SAS 6.12 (UNIX, Windows, OpenVMS Alpha) and later will migrate.

  • Catalogs

    • To migrate catalogs, PROC MIGRATE calls PROC CPORT and PROC CIMPORT on your behalf, making use of time- tested technology. You might notice CPORT and CIMPORT notes written to the SAS log during migration. Therefore, CPORT and CIMPORT restrictions apply, for example, catalogs in sequential libraries are not migrated.

    • Note: To migrate catalogs from an OpenVMS Alpha or OpenVMS VAX source library that were created prior to SAS 9 to a SAS 9 or later OpenVMS Alpha target library, the source library must be referenced through a SAS 8 server and used with the SLIBREF= option. (Any OpenVMS Alpha or OpenVMS VAX catalog created prior to SAS 9 cannot be accessed by SAS 9 until it is migrated using the SLIBREF= option because the pointer sizes change from 4 to 8 bytes on OpenVMS Alpha.)

    • Note: On HP/UX, Solaris, and SAS 8 AIX platforms, to migrate a 32-bit catalog to a 64-bit catalog with PROC MIGRATE, you must have access to the SAS 8 32-bitserver and Remote Library Services (RLS) from SAS/SHARE or SAS/ CONNECT software. For more information about using RLS, see Using Remote Library Services (RLS) to Migrate your Library Using Remote Library Services (RLS) to Migrate your Library on page 595. Note that you can manually convert your catalogs by using Chapter 13, The CPORT Procedure, on page 281 and Chapter 8, The CIMPORT Procedure, on page 213.

    • Note: SAS 6 catalogs on an AIX platform cannot be migrated using PROC MIGRATE. You must use PROC CPORT in SAS 6 on an AIX platform to put your source library catalogs into transport format and then use PROC CIMPORT in SAS 9.1 to put your catalogs (transport format) into the target library.

  • MDDBs

    • MDDBs will migrate to SAS 9.1 libraries. However, since you cannot access SAS 7 MDDBs with any SAS version other than SAS 7, they will not migrate.

  • Program Files

    • cannot be migrated. PROC MIGRATE writes a message to the SAS log saying it was not migrated. Using SAS 9.1, recompile stored compiled DATA step programs by submitting the source for a stored program to regenerate it in the target library. If the original source is not available, the DESCRIBE statement can be used to recover the source from the stored programs that contain their source code. The DESCRIBE statement must be used from the same version of SAS that created the stored program.

  • Item Stores

    • migrate unless they are from 32-bit to 64-bit.

    • Note: If either the target or the source library is assigned through a remote server, the item stores cannot be migrated. RLS (Remote Library Services) do not support item stores, therefore migrating item stores through RLS is not supported.

Migrating a Data File with Indexes, Integrity Constraints, Audit Trails, or Generations

When you migrate an indexed data file using the MIGRATE procedure, the data set migrates first, then the index is applied. If errors occur while indexing a migrated data set, the data set will migrate without the index and a WARNING is written to the SAS log. If an index fails to migrate, resolve the error and recreate the index.

Similarly, for data files with integrity constraints and audit trails, the data file migrates first. However, if errors occur when applying integrity constraints to the migrated data file, or when migrating an audit trail or generations, the data file is removed from the target library and a NOTE is written to the SAS log. Even if MOVE was specified, the source library s data file will not be deleted.

But, when you migrate a data file that has referential integrity constraints using the MIGRATE procedure and the MOVE option, the data file migrates to the target library first, then the referential integrity constraints are applied. The source library is not deleted by the MOVE option because it contains referential integrity constraints. This causes an ERROR to be written to the SAS log even though the actual migration of the data file and referential integrity constraints was successful.

Migrating a Data Set with NODUPKEY Sort Assertion

The default behavior when migrating data sets that have NODUPKEY asserted in the attributes, is a WARNING written to the SAS log stating that the data set is still sorted, but the NODUPKEY sort assertion was removed on the target library s data set. This is the default behavior because under some conditions (see SAS Note http://support.sas.com/techsup/unotes/V6/1/1729.html) data sets that were sorted with the NODUPKEY option in prior releases might still retain observations with duplicate keys. If you use the default behavior to obtain the NODUPKEY sort assertion on the target data set, you must re-sort the migrated data set by the key variables in PROC SORT so that observations with duplicate keys are eliminated and the correct attributes are recorded. To avoid having to re-sort the migrated data set, use the KEEPNODUPKEY option. However, if you use the KEEPNODUPKEY option, you will need to examine your migrated data to determine if observations with duplicate keys exist. If so, you will need to re-sort the data set to have the data and NODUPKEY sort assertion match.

Migrating from 32-bit Library to 32-bit Library

Linux, z/OS, and some Windows platforms stayed at 32-bit access so there is no 64-bit migration needed for those platforms.

Migrating from a 32-bit Library to a 64-bit Library

If you are using SAS 8 or an earlier release on AIX, Solaris, or HP/UX platforms, you likely have 32-bit members in your libraries. In SAS 8.2, SAS for these platforms was available in either 32-bit or 64-bit. Previous to that release, only the Tru64 UNIX platform was 64-bit.

With SAS 9, you can read and write your 32-bit data files. You can read SQL views, ACCESS views, and MDDBs. If you need additional access, you should migrate your library. Other members must be migrated in order to be accessed.

As in other migrations, DATA step views that do not contain their source must be recreated and all stored DATA step programs must be recompiled from source. In addition, 32-bit item stores must be recreated with SAS 9.

The MIGRATE procedure automatically migrates the 32-bit members of the IN= source library to 64-bit members in the OUT= target library.

Note: The MIGRATE procedure does not handle migrating from 32-bit platforms to 64-bit platforms of another operating environment family, for example, from 32-bit UNIX to 64-bit Windows.

Migrating from a 32-bit Catalog to a 64-bit Catalog

On HP/UX, Solaris, and SAS 8 AIX platforms, to migrate a 32-bit catalog to a 64-bit catalog with PROC MIGRATE, you must have access to the SAS 8 32-bit server and Remote Library Services (RLS) from SAS/SHARE or SAS/CONNECT. Your catalogs are read through the 32-bit server connection and then written in 64-bit data representation in the target library. You must specify SLIBREF= in PROC MIGRATE when migrating from 32-bit to 64-bit. Note that you can manually convert your catalogs by using Chapter 13, The CPORT Procedure, on page 281and Chapter 8, The CIMPORT Procedure, on page 213.

SAS 6 catalogs on the AIX platform cannot be accessed by PROC MIGRATE [*] . For all other catalogs from the affected source platforms, use a SAS 8 server for the SLIBREF= specification.

Note: The MIGRATE procedure does not handle migrating from 32-bit platforms to 64-bit platforms of another operating environment family, for example, from 32-bit UNIX to 64-bit Windows.

Using Remote Library Services (RLS) to Migrate your Library

RLS (either SAS/SHARE or SAS/CONNECT) must be used with PROC MIGRATE to perform two important migration tasks :

  1. Migrating certain SAS 6/SAS 8 source libraries containing catalogs to 64-bit target libraries, even if they are on the same machine. The affected source platforms are:

    • 32-bit AIX

    • 32-bit HP/UX

    • 32-bit Solaris

    • all Alpha VMS All VAX VMS.

  2. Migrating from one physical machine to another when both machines are in the same host family.

Migration from one of the affected source platforms where the library contains members including catalogs to a 64-bit target library is the most complex migration scenario, but visualizing this scenario is the best way to understand the relationship between PROC MIGRATE and RLS. SAS data created on the affected source platforms are considered foreign files in 64-bit SAS and are subject to compatibility limitations. Migrating libraries using PROC MIGRATE removes these limitations. For a more complete explanation of the limitations, see "Upgrading from a 32-bit to a 64-bit platform" on the SAS Migration Community web site at http://support.sas.com/rnd/migration/planning/platform/64--bit.html. The following are two scenarios in which PROC MIGRATE is used with RLS:

  1. If your source library was created with one of the affected source platforms and your source library contains catalogs, you must use a 32-bit SAS 8 [*] server to migrate the catalogs, regardless of whether or not the source and target libraries are on the same machine. This can all be accomplished in a single PROC MIGRATE step by using the SLIBREF= option.

    In the example below, the source and target libraries are on the same machine. source and v8srv are library names that reference the same physical location. The only difference is that LIBNAME v8srv was defined in a separate SAS 8 session. LIBNAMEs source and v8srv are then defined in the current SAS 9.1 session. The SLIBREF= option determines where PROC MIGRATE gets any catalogs. PROC MIGRATE uses IN= to migrate the remaining members in the source library.

     libname source 'path to source library';  libname target 'some valid path on same machine';  libname v8srv server=srv1;    ***32-bit SAS 8 server where v8srv is defined;  proc migrate in=source out=target slibref=v8srv;  run; 
  2. If your source library and target library are on different machines, you can use RLS to migrate all files in the source library using a SAS 9.1 server, unless the source library was created by one of the affected source platforms and contains catalogs. If that is the case the catalogs must be migrated using a 32-bit SAS 8 [**] server.

    In the example below, the first two LIBNAME statements reference the same physical location from two different servers, but are defined in two different server sessions. As in the first example, the SLIBREF= option determines where PROC MIGRATE gets the catalogs. PROC MIGRATE gets the source library catalogs through a 32-bit SAS 8 server, and gets the other source library files from the same location, but through a SAS 9.1 server.

     ***srv1 is the SAS 9.1 server where v9_1srv is defined;  libname v9_1srv server=srv1;     ***srv2 is the 32--bit SAS 8 server where v8srv is defined;  libname v8srv   server=srv2;  libname target 'some valid path';  proc migrate in=v9_1srv  out=target slibref=v8srv;  run; 

[*] SAS 6 catalogs on the AIX platform cannot be migrated using PROC MIGRATE but the remaining members in the source library can migrate to the target library. To import SAS 6 catalogs on the AIX platform, use the PROC CPORT in SAS 6 to output your catalogs from the source library to transport format files. Then use PROC CIMPORT in SAS 9.1 to import the transport files into the target library. Use PROC MIGRATE to migrate the remaining members of your source library to the target library.

[*] SAS 6 catalogs on the AIX platform cannot be migrated using PROC MIGRATE but the remaining members in the source library can migrate to the target library. To import SAS 6 catalogs on the AIX platform, use the PROC CPORT in SAS 6 to output your catalogs from the source library to transport format files. Then use PROC CIMPORT in SAS 9.1 to import the transport files into the target library. Use PROC MIGRATE to migrate the remaining members of your source library to the target library.

[**] SAS 6 catalogs on the AIX platform cannot be migrated using PROC MIGRATE but the remaining members in the source library can migrate to the target library. To import SAS 6 catalogs on the AIX platform, use the PROC CPORT in SAS 6 to output your catalogs from the source library to transport format files. Then use PROC CIMPORT in SAS 9.1 to import the transport files into the target library. Use PROC MIGRATE to migrate the remaining members of your source library to the target library.




Base SAS 9.1.3 Procedures Guide (Vol. 1)
Base SAS 9.1 Procedures Guide, Volumes 1, 2, 3 and 4
ISBN: 1590472047
EAN: 2147483647
Year: 2004
Pages: 260

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net