Configuring LIBNAME Domain Disk Space

The SPD Server system administrator defines the primary file system for each LIBNAME domain for the SPD Server user base. If desired, the system administrator can choose to define initial and overflow storage locations for the .dpf data component files as well as the two index component (.hbx and .idx ) files.

Example 1: Primary File System Storage for All Component Files

The primary file system is the base directory that you assign to the LIBNAME domain by issuing a PATHNAME= statement in the SPD Server LIBNAME parameter file, libnames.parm. Here is an example of a libnames.parm parameter file entry:
   spdsserv -acl
      -acldir InstallDir/site
      -nameserver samson
      -libnamefile libnames.parm
The following is an example of a libnames.parm file entry for a UNIX system:
LIBNAME=all_users 
  pathname=/disk1/peruser_tables;
The following is an example of a libnames.parm file entry for Windows:
LIBNAME=all_users 
  pathname=d:\peruser_tables;
When SPD Server users create new tables in a LIBNAME domain, there is a hidden system detail to consider. The metadata component (.mdf) must start in the primary file system. This detail is very important. If all of the available space in the primary file system is consumed, SPD Server cannot create new tables until disk space becomes available.
Example 1 stores all the component files: metadata, data, and index data in the primary file system. This can present a problem if you use large tables. Large tables can quickly fill up the primary file system.
We recommend storing the data and index components separately from the primary file system. Example 2 shows how to do this using ROPTIONS= with your LIBNAME statement in your libnames.parm file.

Example 2: Using ROPTIONS= to Store SPD Server Table Data and Index Component Files in Other File Systems

The following SPD Server code invokes the libnames.parm file:
   spdsserv -acl
      -acldir InstallDir/site
      -nameserver samson
      -libnamefile libnames.parm

Sample libnames.parm for a UNIX System
   LIBNAME=all_users pathname=/disk1/peruser_tables
      roptions="datapath=('/disk2/userdata' '/disk3/userdata'
                          '/disk12/userdata' '/disk13/userdata')
      indexpath=('/disk4/userindexes' '/disk5/userindexes'
                 '/disk14/userindexes' '/disk15/userindexes')";

Sample libnames.parm for a Windows System
   LIBNAME=all_users pathname=d:\peruser_tables
      roptions="datapath=('e:\userdata' 'f:\userdata')
         indexpath=('g:\userindexes' 'h:\userindexes')";
In Example 2, the PATHNAME= directory stores metadata files for SPD Server tables in the 'all_users' LIBNAME domain. The initial and overflow stores for the data and index files are directed to other file systems. In Example 2, users who create large tables will not quickly exhaust the primary file system. The reason: the primary file system is reserved for only very small metadata files. The larger data and index files will be stored in the other file systems specified with the DATAPATH= and INDEXPATH= options in the LIBNAME parameter file.

Example 3: Adding More File Systems to a Path Option When Its File System Is Full

   spdsserv -acl
      -acldir InstallDir/site
      -nameserver samson
      -libnamefile libnames.parm

Sample libnames.parm for a UNIX System
LIBNAME=all_users pathname=/disk1/peruser_tables
   roptions="datapath=('/disk2/userdata' '/disk3/userdata'
                       '/disk12/userdata' '/disk13/userdata')
   indexpath=('/disk4/userindexes' '/disk5/userindexes'
              '/disk14/userindexes' '/disk15/userindexes')";
Sample libnames.parm for a Windows System
LIBNAME=all_users
pathname=d:\peruser_tables
   roptions="datapath=('e:\userdata'
                       'f:\userdata'
                       'i:\userdata')
   indexpath=('g:\userindexes'
              'h:\userindexes'
              'j:\userindexes')";
In Example 3, SAS users can continue to create more SPD Server tables, as long as space is available for the metadata files in the primary file system. When the primary file system is exhausted, you might try to expand storage for the .mdf components by adding the METAPATH= specification to your ROPTIONS= value in your LIBNAME parameter file. Unfortunately, this will not solve your problem. Remember the SPD Server restriction mentioned earlier: all .mdf components must have their initial partition file created in the primary file system (the directory that was first specified by the PATHNAME= option for the LIBNAME domain).
To solve your problem, your only recourse in this situation is to create a new LIBNAME domain.