SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 32570: PROC COPY might not honor the OBS= option

DetailsHotfixAboutRate It

Beginning in SAS 9.0, SAS introduced block I/O to copy blocks of data for faster performance. However, in certain situations, you might experience a program written for SAS 8 running slower in SAS 9.

Consider the following example, where the data set SUPERSIZE located in the LIB1 directory contains two billion observations.

options obs=0;
proc copy in=LIB1 out=LIB2;
  select SUPERSIZE;
run; 

Although the system option OBS= is set to zero, SAS reads all two billion observations of the input data set. This can take some time.

A hot fix is available to disable block I/O. With the hot fix applied, SAS uses a single observation read and write in the following instances:

PROC COPY or PROC APPEND with system options OBS= or FIRSTOBS= in effect, 
PROC APPEND where the BASE= does not exist, 
or PROC APPEND with a WHERE CLAUSE.  

In SAS 9.2, it is not necessary to apply the hot fix as this is the default behavior. Please see the SAS Procedures Guide for further information on conditions that disable block I/O.

Submitting the system option MSGLEVEL=I in your SAS session provides information in the SAS Log regarding block I/O. After applying the hot fix, the example above generates the following partial note in the SAS log:

INFO: Data set block I/O cannot be used because:

Although this is a partial note, its intent is informational and indicates that block I/O was suspended.

Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemBase SASMicrosoft Windows 2000 Datacenter Server9 TS M09.2 TS2M0
Microsoft Windows 2000 Server9 TS M09.2 TS2M0
Microsoft Windows 2000 Professional9 TS M09.2 TS2M0
z/OS9 TS M09.2 TS2M0
Microsoft® Windows® for 64-Bit Itanium-based Systems9 TS M09.2 TS2M0
Microsoft Windows Server 2003 Datacenter 64-bit Edition9 TS M09.2 TS2M0
Microsoft Windows Server 2003 Enterprise 64-bit Edition9 TS M09.2 TS2M0
Microsoft Windows 2000 Advanced Server9 TS M09.2 TS2M0
Microsoft Windows NT Workstation9 TS M0
Microsoft Windows Server 2003 Datacenter Edition9 TS M09.2 TS2M0
Microsoft Windows Server 2003 Enterprise Edition9 TS M09.2 TS2M0
Microsoft Windows Server 2003 Standard Edition9 TS M09.2 TS2M0
Microsoft Windows XP Professional9 TS M09.2 TS2M0
64-bit Enabled AIX9 TS M09.2 TS2M0
64-bit Enabled HP-UX9 TS M09.2 TS2M0
64-bit Enabled Solaris9 TS M09.2 TS2M0
HP-UX IPF9 TS M09.2 TS2M0
Linux9 TS M09.2 TS2M0
OpenVMS Alpha9 TS M09.2 TS2M0
Tru64 UNIX9 TS M09.2 TS2M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.