SAS Scalable Performance Data Server 4.5 Administrator's Manual

Table of Contents

Advertisement

Quick Links

SAS
Scalable Performance
®
Data Server
4.5
®
Administrator's Guide

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Scalable Performance Data Server 4.5 and is the answer not in the manual?

Questions and answers

Summary of Contents for SAS Scalable Performance Data Server 4.5

  • Page 1 Scalable Performance ® Data Server ® Administrator’s Guide...
  • Page 2 ® The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS Scalable ® Performance Data Server 4.5: Administrator’s Guide. Cary, NC: SAS Institute Inc. ® ® Scalable Performance Data Server 4.5: Administrator’s Guide Copyright © 2009, SAS Institute Inc., Cary, NC, USA All rights reserved.
  • Page 3: Table Of Contents

    Configuring SPD Server Client Software ........Testing Your SPD Server Installation Using SAS ......
  • Page 4 SPD Server Command Reference ......... . SPD Server and the SAS Management Console .......
  • Page 5 SAS Management Console ........
  • Page 6 Introduction ............Overview of the SAS Scalable Performance Data Server Backup and Restore Utilities .
  • Page 7: Product Notes

    Part 1 Product Notes Chapter 1 SPD Server 4.5 Product Notes ........
  • Page 9: Chapter 1 • Spd Server 4.5 Product Notes

    The SPD Server 4.5 installation includes client modules that are compatible with SAS 9.2. • SPD Server 4.5 is not compatible with SAS versions earlier than SAS 9.2. Refer to the appropriate SPD Server UNIX or Windows installation guide for more information about SAS software requirements for use with SPD Server 4.5.
  • Page 10: Spd Server 4.5 Platform Support Changes

    An SPD Server host can read user format catalog files that were created by SAS running on Windows, or on the same machine as the SPD Server host. The spdsls list utility has been enhanced to add a option.
  • Page 11: Installation

    Part 2 Installation Chapter 2 SPD Server Pre-Installation and System Requirements Guide ..Chapter 3 SPD Server UNIX Installation Guide ......Chapter 4 SPD Server Windows Installation Guide .
  • Page 13: Chapter 2 • Spd Server Pre-Installation And System Requirements Guide

    System Requirements ..........AIX Requirements and Tuning for 64-bit SPD Server For complete information about AIX tuning for SAS SPD Server, see the white paper selection available on SAS Institute's external Web site at: www.sas.com/partners/ directory/ibm/papers.html...
  • Page 14: Required Patches

    Chapter 2 • SPD Server Pre-Installation and System Requirements Guide • Minimum System Configuration: HP-PA 2.0 server system with minimum 2Gb memory. Kernel Tuning Requirements The following kernel parameters are for HP-UX 11.11 and HP-UX 11.23. They need to be adjusted on the HP server system where you will run SPD Server.
  • Page 15: Solaris On Sparc Requirements And Tuning For 64-Bit Spd Server

    System Requirements Solaris on Sparc Requirements and Tuning for 64- bit SPD Server System Requirements The following kernel parameter needs to be adjusted on Solaris server systems where you will run SPD Server. • rlim_fd_max = Process limit for open files. Adjust the parameter to accommodate the maximum number of the number of concurrently open SPD tables multiplied by the maximum number of partitions in an SPD Server table.
  • Page 16: Windows Requirements And Tuning For 32-Bit Spd Server

    Windows Requirements and Tuning for 32-bit SPD Server System Requirements • Required OS level: Windows NT 4.0 Service pack 3 or greater • Minimum System Configuration: NT server system. SPD Server 4.5 Client Requirements System Requirements • Required SAS level: SPD Server 4.5 requires SAS 9.2.
  • Page 17: Chapter 3 • Spd Server Unix Installation Guide

    SAS LIBNAME Assignment Failed ........
  • Page 18: Sas Scalable Performance Data Server 4.5 And Sas Deployment Wizard

    SAS Scalable Performance Data Server (SPD Server) 4.5 can be installed as part of your initial SAS 9.2 installation. Or, SPD Server 4.5 can be installed as an add-on product to an existing SAS 9.2 installation. In either case, the SPD Server 4.5 installation is facilitated by the SAS Deployment Wizard.
  • Page 19: Packing List For Spd Server Distribution

    Server. The spdsserv.parm file is located in the root directory of your SPD Server host installation. For more information about the WORKPATH= option and configuring servers for performance, see the SAS Scalable Performance Data (SPD) Server 4.5: User's Guide.
  • Page 20 Performance Data (SPD) Server 4.5: User's Guide documentation. This guide provides SPD Server LIBNAME and data set usage and syntax options. • verify.sas is a SAS installation verification job. You should run it after you install SPD Server. • spdsinst.sas demonstrates the simple use of WHERE clauses and WHERE planner output.
  • Page 21: Upgrading Spd Server 3.X To Spd Server 4.5

    • process_perf_log is a Perl script that processes a Performance Server log and server log into data that can be read into a SAS data set for post-performance analysis. The parameters are detailed in the script. • PerfDataSample.sas is used to read a processed Performance Server log into a SAS data set.
  • Page 22: Upgrading Spd Server 4.X To Spd Server 4.5

    Chapter 3 • SPD Server UNIX Installation Guide Upgrading SPD Server 4.x to SPD Server 4.5 Overview of Upgrading from SPD Server 4.x to SPD Server 4.5 SPD Server 4.x tables are compatible for use with SPD Server 4.5. No conversion is required to use SPD Server 4.x tables with SPD Server 4.5.
  • Page 23 SPD Server password file, following the add command. You should see content similar to the following: SAS Scalable Performance Data Server Host 4.50 Password Manager Utility Copyright (c) 1996-2009 by SAS Institute Inc, Cary NC 27513 Enter command > groupdef admingrp Group admingrp defined Enter command >...
  • Page 24 Chapter 3 • SPD Server UNIX Installation Guide thought and planning. You should decide how to organize your existing disk storage to best exploit the capabilities of the SPD Server. For more information, see “SPD Server Host Commands” on page 27 and the libsamp.parm file.
  • Page 25 Configuring SPD Server Host Software for Your Site # addition, the SPDS server listen port and operator port # must be surfaced through the firewall. If you are not # running through a firewall allow the server to choose # these ports. # SRVLPORT is the SPDS server listen port;...
  • Page 26 Chapter 3 • SPD Server UNIX Installation Guide # port number. If not explicitly specified it # will default to the "spdssnet" service in /etc/services /bin/sleep 2 if [ -z "$SNSPORT" ]; then spdssnet 1>$SNSLOG 2>&1 & else spdssnet -listenport $SNSPORT 1>$SNSLOG 2>&1 & •...
  • Page 27 Configuring SPD Server Host Software for Your Site The LOGFILE= and LOGTIME= spdsserv options are enabled by default with the following shell variables: LOGFILE=spdsserv Specifies the spdsserv process log file prefix. LOGTIME=00:00 Specifies the time of day to cycle the log file. These settings enable automatic log filename generation and cycling by specifying the log file prefix and the log file cycle time of day.
  • Page 28: Verify That Spd Server 4.5 Is Running

    3. The rc.perf script is an example script to start the Performance Server. Verify That SPD Server 4.5 Is Running If you connected to SPD Server through a SAS connection, verify that both the SPD Server Name Server (spdsnsrv) and the SPD Server host (sdpsserv) processes are running. Issue the UNIX ps command.
  • Page 29: Configuring Spd Server Client Software

    Once the SPD Server environment is configured and running, you need to complete other installation functions on the SAS clients that will use SPD Server. This might include the system that is actually running SPD Server. Therefore, some of these steps might have already been performed during the installation of the SPD Server host.
  • Page 30: Testing Your Spd Server Installation Using Sas

    If you are running SAS with an existing SPD Server installation, this service name is probably already defined. You can either define another service name for the SAS client to use (for example, sp45name) or you can directly include the SPD Server port number in your SAS statements.
  • Page 31 LIBNAME definition in the sample libnames.parm file was not changed during installation. Watch the SAS log for error messages. You might see failures to properly one or more required SPD Server components. Examples of common error messages are displayed. If you receive one of the following error messages, check your -PATH option to confirm...
  • Page 32: Spd Server Command Reference

    Chapter 3 • SPD Server UNIX Installation Guide 4. Verify that SQL Pass-Through services are working in SPD Server by submitting the following SAS commands: %let spdshost=serverNode; %let spdsport=port; %include 'InstallDir/samples/verptsql.sas'/source2; are described in Step 2. serverNode port SPD Server Command Reference SPD Server operation revolves around the executable files described in the packing list.
  • Page 33: Spd Server Host Commands

    Name Server to use. -licensefile lic-file License file keys are generated by SAS and provided to you. With this release of SPD Server, you receive an SPD Server license key for each machine where you license SPD Server. Each key must be entered into the license file by the SPD Server administrator.
  • Page 34 Most sites do not need to modify the default values . For more information about the InstallDir/site/spdsserv.parm parameter file, see "Setting Up SPD Server Parameter Files" in the SAS Scalable Performance Data (SPD) Server 4.5: User's Guide.For more information about setting up server parameters, see“Introduction”...
  • Page 35: Snet Server Commands

    SNET Server Commands -auditfile fileSpec Enables audit logging for the server and automatic audit log file creation by the audit process. specifies a path or filename specification that is used to generate fileSpec the complete audit file path. For example, if you specified fileSpec /audit/ , the generated name would appear as:...
  • Page 36: Spd Server 4.5 And The Sas Management Console Utility

    This client application uses an extensible plug-in architecture, allowing you to customize the console to support a wide range of administrative capabilities. When you install SAS 9.2 and SPD Server 4.5, you are prompted to install the SAS Management Console utility. For more information about SAS Management Console, see“Introduction”...
  • Page 37 SPD Server Lightweight Directory Access Protocol (LDAP) Authentication Table 3.1 Parameters for spdsserv.parm Parameter Description Values Default Setting (NO)LDAP: LDAP/NOLDAP NOLDAP directs user authentication to LDAP Server LDAPSERVER: a valid IP address LOCAL_HOST LDAP Server IP address LDAPPORT: 0-65536 LDAP_PORT LDAP Server port number LDAPBINDMETH: "LDAP_AUTH_SIMPLE"...
  • Page 38: Notes For Spd Server Administrators

    SPD Server utility programs much easier. SAS recommends that you run your SPD Server environment using the same UNIX user ID that was used to install SPD Server on the server machine. The user ID should also be the SPD Server administrator's user ID.
  • Page 39: Spd Server User Ids

    LDAP Password Authentication Here are some options for establishing the appropriate UNIX user ID for your SPD Server processes: Establish a dedicated UNIX account for the SPD Server administrator. Always execute the rc.spds script from that account. The rc.spds script that starts the SPD Server processes should use the setuid bit. It does not matter who executes the script, the user ID of the shell executing the script is the script owner.
  • Page 40: Troubleshooting

    SPD Server password file. SAS LIBNAME Assignment Failed On the SAS side, first attempts to diagnose a failure depend on the error messages from the SPD Server LIBNAME engine through the SAS LOG output. In most circumstances you should be able to diagnose the reason for the failure from this message.
  • Page 41 5. Invalid SPD Server user password specified in the LIBNAME statement. In this case, the SPD Server user ID is derived from the UNIX user ID running the SAS session. The SPD Server password file has an entry for this SPD Server user ID, but the password is not xxx.
  • Page 42: Using Setinit To Extend Spd Server Software

    Chapter 3 • SPD Server UNIX Installation Guide Using SETINIT to Extend SPD Server Software When you receive SPD Server, licensing information is pre-initialized. When you renew the license, you receive a new license to replace your existing license. You must restart SPD Server to use the new license.
  • Page 43: Chapter 4 • Spd Server Windows Installation Guide

    SAS LIBNAME Assignment Failed ........
  • Page 44: Sas Scalable Performance Data Server 4.5 And Sas Deployment Wizard

    SAS Scalable Performance Data Server (SPD Server) 4.5 can be installed as part of your initial SAS 9.2 order, or SPD Server 4.5 can be installed as an add-on to an existing SAS 9.2 order. In either case, your SPD Server 4.5 installation will be facilitated by the SAS Deployment Wizard utility.
  • Page 45 SQL Pass-Through from C and C++ applications to SPD Server. • spds.dll is the application extension library that is accessed via the SAS ODBC Driver. directory contains the following files of interest: samples\ •...
  • Page 46 Performance (SPD) Data Server 4.5: User's Guide. This guide provides SPD Server LIBNAME and data set usage and syntax options. • verify.sas is a SAS installation verification job. You should run it after you install SPD Server. • spdsinst.sas demonstrates the simple use of WHERE clauses and WHERE planner output.
  • Page 47: Validating Default Port And Library Assignments

    • spdssnet.bat is the SPD Server SNET server start-up batch file. • spdsserv.bat is the SPD Server start-up batch file. directory contains the SAS Management Console files that support SPD spdssmc\ Server. Validating Default Port and Library Assignments After you install SPD Server on your Windows server, you are almost ready to verify your installation.
  • Page 48: Initializing The Password Manager Database

    Chapter 4 • SPD Server Windows Installation Guide Initializing the Password Manager Database Before you can start SPD Server, you must initialize the SPD Server Password Manager database from the SPD Account Manager. To open the SPD Account Manager, use the Windows Start button to select:Programs SPD Server 4.5 SPD Account...
  • Page 49 Installing SPD Server as a Service When you configure SPD Server in the Services window for the first time, the Status column for the servers will be blank, and the Startup Type column will be set to Manual. Most users want to configure SPD Server to automatically start and stop the Name Server, Data Server, and SNET server.
  • Page 50: Configuring Spd Server Software On Your Windows Host

    1. You must configure the libnames.parm file with all of the LIBNAME domains that you use to store SAS tables and catalogs. Declaring all of your LIBNAME domains requires thought and planning and best exploits the parallel processing capabilities of SPD Server.
  • Page 51 MIN and MAX variable list. • minmax*.sas shows how to use a MIN and MAX variable list on an SPD Server table. • paralleljoin*.sas shows the use of the SQL Parallel Join performance enhancement.
  • Page 52: Upgrading Spd Server 3.X To Spd Server 4.5

    SPD Server 4.x host. Installing and Configuring SPD Server Clients SPD Server client software makes SAS LIBNAME connections and performs user-specific functions on the SPD Server host. SPD Server client software is installed with SAS 9.2. It contains the following SAS modules: •...
  • Page 53: Testing Your Spd Server Installation Using Sas

    (for example, sp45name) or you can directly include the SPD Server port number in your SAS statements. 2. The SPD Server host can be accessed via the SAS ODBC driver, the SAS JDBC driver, and SAS htmSQL. Each of these drivers can be downloaded from the support link of the SAS Web at http://support.sas.com...
  • Page 54: Spd Server Command Reference

    DATA step queries of the test data set. If any one of these queries fails to produce the expected result, the SAS job is canceled. The job verify.sas assumes the SAS librefs TEST and TESTRL are assigned from Step 2 above.
  • Page 55: Name Server Commands

    Name Server to use. -licensefile lic-file License file keys are generated by SAS Institute and supplied to you. With this production release of SPD Server, you receive an SPD Server license key for each machine where you license the SPD server and that key must be entered into this license file by the SPD Server administrator.
  • Page 56 Chapter 4 • SPD Server Windows Installation Guide SAS job which processes the audit log and produces a report is provided. Check samples for information about processing the audit log and generating the report. To \audit.sas enable the audit trail log, use the spdsserv command with the -auditfile option.
  • Page 57: Spd Server And The Sas Management Console

    SPD Server ACL support, you will need to create and populate the SPD Server password file before starting the SPD Server environment. You can use the psmgr utility or the SAS Management Console to manage passwords. For more detailed information, see the Help section on “The Password Manager Utility psmgr”...
  • Page 58: Lightweight Directory Access Protocol (Ldap) Authentication

    SPD Servers are running. The User ID and password information must be stored on an LDAP server that the SPD Server can access. The User ID must also be entered into the SPD Server's password database through PSMGR or the SPD Server 4.5 SAS Management Console Utility to record all other SPD User information.
  • Page 59: Notes For Spd Server Administrators

    SPD Server User IDs The LDAPBINDDN parameter is the "Distinguished Name" (DN), or the location in the LDAP Server's database where the client's information is stored. The form of this string is "ID= , rdn1=RDN1, rdn2=RDN2, ...". "ID" is the identifier for the Relative Distinguished Name of a User ID that exists in the LDAP Server database.
  • Page 60: Troubleshooting

    SPD Server password file. SAS LIBNAME Assignment Failed On the SAS side, first attempts to diagnose a failure depend on the error messages from the SPD Server LIBNAME engine via the SAS LOG output. In most circumstances you...
  • Page 61 5. Invalid SPD Server user password specified in the LIBNAME statement. In this case, the SPD Server user ID is derived from the UNIX user ID running the SAS session. The SPD Server password file has an entry for this SPD Server user ID, but the password is not xxx.
  • Page 62: Using Setinit To Extend Spd Server Software

    Chapter 4 • SPD Server Windows Installation Guide 10? libname foo sasspds 'test' server=sunspot.spdsname user='xxx' passwd='xxx'; ERROR: Error on server libname socket. ERROR: SPD server has rejected login from user xxx.. ERROR: Error in the LIBNAME or FILENAME statement. Using SETINIT to Extend SPD Server Software When you receive SPD Server software, the licensing information is pre-initialized.
  • Page 63: Migration

    Part 3 Migration Chapter 5 SPD Server 3.x to SPD Server 4.5 Conversion Utility ....
  • Page 65: Chapter 5 • Spd Server 3.X To Spd Server 4.5 Conversion Utility

    SPD Server 3.x software. SPD Server 4.x tables use architectures that utilize SAS 9 metadata. SPD Server 3.x tables use architectures that utilize SAS 8 metadata. The two metadata architectures are not compatible.
  • Page 66: Overview Of The Spdsconv Utility

    SPD Server 4.4 environment to recreate the SPD Server 3.x index files for use with SPD Server 4.4. If you choose to create the SAS job file to recreate SPD Server 3.x indexes for use in SPD Server 4.4, the code will resemble the following: %let SPDSIASY=YES;...
  • Page 67: Using Spdsconv

    SPD Server 3.x datasets that you intend to convert prior to running the conversion. After the SAS job file recreates the SPD Server 3.x indexes for use with SPD Server 4.4, all remnants of the SPD Server 3.x table are deleted. The SPDSCONV utility does not perform ACL checks during the conversion.
  • Page 68: Spdsconv Utility Examples

    Chapter 5 • SPD Server 3.x to SPD Server 4.5 Conversion Utility creates a SAS job in the log directory for each SPD Server 3.x table conversion where indexes are present. When run, the SAS job recreates the indexes on the SPD Server 4.4 table.
  • Page 69: Converting Tables And Recreating Indexes

    Suppose you want to convert all tables in the sales domain. You also want SPDSCONV want to create SAS jobs that you can run to recreate the indexes after the table conversion completes. You want the SAS jobs put into the directory $HOME/salesv9. You also want a verbose output of the conversion.
  • Page 70 Chapter 5 • SPD Server 3.x to SPD Server 4.5 Conversion Utility...
  • Page 71: Configuration

    Chapter 7 Administering and Configuring SPD Server Using the SAS Management Console ..........
  • Page 73: Chapter 6 • Using The Spd Server Name Server To Manage Resources

    Setting Up asiacpu, the Asia Departmental Server ......Which SAS Program Statement Runs Where? ......
  • Page 74 When your network uses an SPD Server name server, the users do not have to remember which machine houses a particular domain. Users only need to remember that the SAS domain named 'world' contains the tables that they need. The machine that stores the domain can even change without the users' knowledge and the users' SAS programs will continue to run as before.
  • Page 75 Which SAS Program Statement Runs Where? with the name server. When a SAS LIBNAME statement contains the domain name 'asia' in combination with the appropriate name server, it will locate SPD Server tables in the directory on machine asiacpu. The SAS LIBNAME statement that invokes the...
  • Page 76 Chapter 6 • Using the SPD Server Name Server to Manage Resources...
  • Page 77: Chapter 7 • Administering And Configuring Spd Server Using The Sas

    The SAS Management Console ........
  • Page 78: Accessing The Spd Server Manager In Sas Management Console

    For example, you can use SAS Management Console to create a metadata definition for a SAS library that specifies information such as the libref, path, and engine type (such as sasspds). After SAS Management Console stores the metadata definition for the library in the repository on the SAS Metadata Server, any other application can access the definition to access the specified library.
  • Page 79: Connecting To An Spd Server

    SPD Server . Connecting to an SPD Server Select Connect on the Users tab of the SAS Management Console window to open the Connect to SPD Server window: The Connect to SPD Server window contains input fields for the following components.
  • Page 80: Users And Groups

    Users tab. Users and Groups Overview of Managing Users and Groups Use the Users and Groups tabs in the SAS Management Console window to access either individual user or user group configuration information. Groups Tab On the Groups tab of the SAS Management Console window, click List to display the existing defined groups.
  • Page 81: Users Tab

    Users and Groups Users Tab On the Users tab of the SAS Management Console window, click List to display the defined users and groups. The window contains the following components: User Name - the name of the user. This field cannot be changed directly. To change a user name, delete the user and then add a new user.
  • Page 82: Adding A User

    "no limits". Adding a Group To add a group using the Groups tab of the SAS Management Console window, click Add. Enter a group name in the Add Group window and click Add. The group name is...
  • Page 83: Acl Manager

    Overview of the ACL Manager Deleting a User To delete a user using the Users tab of the SAS Management Console window, select the user from the list and click Delete. The user is deleted and the list is updated.
  • Page 84: Listing Acl Resources

    SPD Server host. Listing ACL Resources Click List ACL in the ACL Manager of the SAS Management Console window to display the ACL resources that have been defined. The ACL Manager display contains the following components: Owner - the resource owner.
  • Page 85: Adding An Acl Resource

    Adding an ACL Resource To add an ACL resource, click Add ACL in the ACL Manager of the SAS Management Console window, and then complete the values in the Add ACL window.
  • Page 86: Deleting An Acl Resource

    Chapter 7 • Administering and Configuring SPD Server Using the SAS Management Console LIBNAME - select if the resource is a LIBNAME resource. R, W, A, C - select the appropriate default and group permissions to grant Read, Write, Alter, and Control as appropriate.
  • Page 87: Server Manager

    Refresh Domains Server Manager Overview of the Server Manager The Server Manager folder in the SPD Management utilities in the SAS Management Console window is used to refresh the server's configuration and to run selected SPD Server utilities. You must connect to an SPD Server host machine before you can use the SPD Management utilities.
  • Page 88: Refresh Parms

    Chapter 7 • Administering and Configuring SPD Server Using the SAS Management Console Refresh Parms Click Refresh Parms in the Server Manager to reload the current spdsserv.parm file. The spdsserv.parm file controls server configuration and options. Perform Commands To run an SPD Server operator command or utility function, click Perform Command in the Server Manager.
  • Page 89: Spd Process Profiler

    Command to run a spdsbkup command: SPD Process Profiler The SPD Management folder in SAS Management Console contains an SPD Process Profiler utility. Use the SPD Process Profiler to view server resources that are monitored by the SPD Server Performance Server.
  • Page 90 Chapter 7 • Administering and Configuring SPD Server Using the SAS Management Console The SPD Server Performance Server gathers SPD Server process performance information and distributes it across the SPD Management section of the SAS Management Console. The SPD Server process performance information consists of memory and resource allocations that are attributable to users and SPD Server processes that are spawned by an SPD Server Name Server.
  • Page 91: Proxy Manager

    Performance Server ” on page 141. If the SAS Management Console user also connects to the same SPD Server Name Server via the ACL Manager, the Password Manager, or the Server Manager, the User information that is displayed will be the SPD Server user name that was used to connect with the LIBNAME statement.
  • Page 92: Proxy Refresh

    Chapter 7 • Administering and Configuring SPD Server Using the SAS Management Console You can filter, sort, reorder, and hide Proxy Manager table columns to display proxies of interest. You perform filtering and sorting by clicking on the column headings and selecting the appropriate choice from the menu.
  • Page 93: Proxy Cancel

    Proxy Cancel Proxy Cancel Click Cancel to cancel all proxies in the selected libref. The proxy's activity is immediately halted, and any open data connections are immediately closed. Clicking Cancel to stop a proxy from accessing a data set or a given domain is recommended when the interrupt operation is unacceptably delayed.
  • Page 94 Chapter 7 • Administering and Configuring SPD Server Using the SAS Management Console...
  • Page 95: Chapter 8 • Spd Server Sql Query Rewrite Facility

    Chapter 8 SPD Server SQL Query Rewrite Facility Overview of the SQL Query Rewrite Facility ......Configuring Storage Space for the SQL Query Rewrite Facility .
  • Page 96: Sql Query Rewrite Facility Options

    Chapter 8 • SPD Server SQL Query Rewrite Facility concurrent SPD Server users. Why is only one domain enough? The SQL Query Rewrite Facility uses the SPD Server TEMP=YES option setting when accessing the LIBNAME domain for intermediate result tables. The TEMP=YES option creates a processing environment where multiple SPD Server users can concurrently create tables with no name or resource contention issues.
  • Page 97 _QRW Option: the performance of the SQL query execution. The SQL Query Rewrite Facility is enabled by default. Examples: Disable SQL Query Rewrite Facility: execute(reset no_qrwenable) by sasspds; /* Disable query rewrite */ execute(reset _qrwenable=0) by sasspds; /* Another way to disable */ Re-enable SQL Query Rewrite Facility: execute(reset _qrwenable) by sasspds;...
  • Page 98 Chapter 8 • SPD Server SQL Query Rewrite Facility...
  • Page 99: Chapter 9 • Using Spd Server With Other Clients

    Chapter 9 Using SPD Server With Other Clients Overview ............Using Open Database Connectivity (ODBC) to Access SPD Server Tables .
  • Page 100: Using Open Database Connectivity (Odbc) To Access Spd Server Tables

    Using Open Database Connectivity (ODBC) to Access SPD Server Tables Read this section if you do not have Base SAS software on the network client, but you want to access SPD Server tables on the network, using an ODBC compliant program, such as...
  • Page 101: Installing Obdc Drivers On The Server

    Configuring ODBC on the Client • You need to view or change SPD Server tables using Windows tools you are familiar with. Installing OBDC Drivers on the Server Instructions for installing the OBDC driver are included in the download package. Configuring ODBC on the Client 1.
  • Page 102: Preparing Your Client Machine For Odbc Installation

    SPD SNET server are still supported. Note that connections via the SPD SNET server are not supported in the SAS 9 ODBC Driver software. If you intend to connect via the SPD SNET Server you must install the...
  • Page 103: Primary And Secondary Libname Domains

    Configuring an ODBC Data Source to Connect Directly to an SPD Server Once the SAS ODBC driver is installed, you will need to configure your ODBC data source. When you open the ODBC manager, you'll get a display screen that allows you to enter information that points the OBDC driver to the data on the SPD Server.
  • Page 104: Configuring An Odbc Data Source For Spd Snet

    Configuring an ODBC Data Source for SPD SNET Once the SAS ODBC driver is installed, you will need to configure your ODBC data source. When you open the ODBC manager, you'll get a display screen that allows you to enter information that points the OBDC driver to the data on the SPD Server.
  • Page 105: Using Jdbc (Java) To Access Spd Server Tables

    Using JDBC (Java) to Access SPD Server Tables Read this information if you do not have Base SAS software on the network client, but you want to use the power of the Java programming language to query SPD Server tables from any client on the network that has a browser.
  • Page 106: How Is Jdbc Set Up On The Server

    Chapter 9 • Using SPD Server With Other Clients • The audience for the information understands Web browsing and wants point-and-click access to the information. • You want to distribute the information over the World Wide Web. • Your planned application requires the power of the Java programming language. How Is JDBC Set Up on the Server? JDBC is usually set up on the server at the time the SPD Server is installed.
  • Page 107: Jdbc Code Examples And Tips

    This must not be altered. Line 7: • Sets the foreign database property on the JDBC driver. This means that the server is not SAS and JDBC should not create a DataBaseMetaData object. See the examples below for how to get around this.
  • Page 108: Using Htmsql To Access Spd Server Tables

    Using htmSQL to Access SPD Server Tables Read this section if you do not have Base SAS software on the network client, but you want to use the point-and-click convenience of a Web page to query SPD Server tables from any browser-enabled client on the network.
  • Page 109: How Is Htmsql Set Up On The Server

    How Is htmSQL Set Up on the Client? • You want to distribute the information across your corporate intranet through a Web page. • The clients on your network are varied: UNIX boxes, Windows PCs, and workstations. One thing they might have in common is browser access to your intranet. •...
  • Page 110: Using Sql C Api To Access Spd Server Tables

    Using SQL C API to Access SPD Server Tables Read this section if you do not have Base SAS software on the network client but you want to provide your network client machines with the capability of accessing SPD Server tables, using SQL query methods.
  • Page 111: Chapter 10 • Configuring Disk Storage For Spd Server

    Chapter 10 Configuring Disk Storage for SPD Server Introduction ............SPD Server Component File Types and Sizes .
  • Page 112: Creating Spd Server Component Files

    Chapter 10 • Configuring Disk Storage for SPD Server Table Metadata .mdf Very small Table Data .dpf Large 1 to many Segmented Index(es) .idx Medium to Large 0 or more Global Index(es) .hbx Medium to Large 0 or more Creating SPD Server Component Files Which Component Files Are Created for SPD Server Tables? At a minimum, an SPD Server table consists of two component files, the metadata .mdf file and the data .dpf file.
  • Page 113 Example 2: Using ROPTIONS= to Store SPD Server Table Data and Index Component Files in Other File Systems 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;...
  • Page 114: Recommended: Use Roptions

    '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.
  • Page 115 Recommended: Use ROPTIONS= In contrast, when you (the administrator) use OPTIONS=, a keyword that is syntactically the same as ROPTIONS=, you are not overriding a user specification. Instead, you are supplementing the user-specified options. In this case, if a user specifies an option, the user's setting is implemented.
  • Page 116 Chapter 10 • Configuring Disk Storage for SPD Server...
  • Page 117: Chapter 11 • Setting Up Spd Server Parameter Files

    Chapter 11 Setting Up SPD Server Parameter Files Introduction ............Syntax for the -PARMFILE Option .
  • Page 118: Introduction

    Chapter 11 • Setting Up SPD Server Parameter Files SPD Server User IDs and Passwords That Are Not In Their Default Location in the LDAP Database ....... SPD Server User IDs and Passwords That Are Not In Their Default Location in the LDAP Database and in the LDAP Server That Is Using TCPIP_PORT .
  • Page 119: Spdsserv.parm Options

    GRPBYROWCACHE= spdsserv.parm Options BINBUFSIZE= controls the amount of memory that is used for each bin buffer during sorting. Each bin is equal to the value that is specified for SORTSIZE. When the sort operation overflows a single sort bin, SPD Server writes the contents of the bin to disk and then merges the bin contents to produce the final, sorted results.
  • Page 120: Idle_Timeout

    Chapter 11 • Setting Up SPD Server Parameter Files share the memory that is specified using GRPBYROWCACHE to cache groups in memory; each thread receives 1/MAXWHTHREADS= of the cache. Once a thread accumulates enough distinct groups to fill its cache, the groups are moved to secondary bins.
  • Page 121: Ldapport

    MAXGENNUM= LDAPPORT= specifies the TCP/IP port that is used to communicate with the LDAP server. The default value is LOCAL_HOST or port 389. Usage LDAPPORT=<ldap_server_tcpip_port_number> <port-number-or-port-name> ; LDAPBINDMETH= indicates the LDAP authentication security level. The default value for LDAPBINDMETH= is ANONYMOUS. The ANONYMOUS value is not recommended for use with secure environments.
  • Page 122: Maxsegratio

    Chapter 11 • Setting Up SPD Server Parameter Files Usage MAXGENNUM=<ldap_server_binddn_string> <maximum-number-of-member-tables> ; MAXSEGRATIO= controls segment candidate pre-evaluation for WHERE clause predicates with a hybrid index. The WHERE clause planner pre-evaluates the segment candidates for the predicate. Only the segment candidates are searched to resolve the WHERE clause. Some queries can benefit from no pre-evaluation, based on the ratio of the number of segments containing candidates, to the total number of segments in the file.
  • Page 123: [No]Ldap

    SPD Server 4.5 (with SAS 9) performs normal server-side processing of tables, ignoring the CEI of the table. SAS 9.2, however, will read the CEI value of the table and performs transcoding for any pertinent character data in the rows returned from SPD Server.
  • Page 124: Raniobufmin

    Chapter 11 • Setting Up SPD Server Parameter Files RANDOMPLACEDPF in SPD Server 4.5, include a NORANDOMPLACEDPF statement in your spdsserv.parm file. Usage RANDOMPLACEDPF; RANIOBUFMIN= specifies the minimum random I/O buffer size. The specified value becomes the minimum I/O buffer size that is used by the proxy when it performs random I/O and table requests. Usage RANIOBUFMIN=<ldap_server_binddn_string>...
  • Page 125: Spd Server Parameter File Configurations For Ldap

    LDAP Server and SPD Server Host That Are Running On Different Machines WORKPATH= specifies the LIBNAME proxy path for work files. If you think that the work files might overflow a single file system, you can specify multiple paths. When specifying multiple paths, enclose the complete path statement in double quotation marks.
  • Page 126: Spd Server Parameter File Configurations For Auditing

    Chapter 11 • Setting Up SPD Server Parameter Files SPD Server User IDs and Passwords That Are Not In Their Default Location in the LDAP Database For this configuration, assume that you want to perform LDAP user authentication, but the SPD Server user IDs and passwords are not in their default locations in the LDAP database.
  • Page 127 SQLAUDLEN= /audit/spds_mmddyyyy.spdsaudit where mmddyyyy is taken from the system date when the audit log file is created. WHAUDLEN= Specifies the maximum size of the WHERE clause in the audit log when proxy auditing is enabled in SPD Server, and when the WHEREAUDIT option is specified. Usage: WHAUDLEN=<maximum-number-of-characters-in-WHERE-clause>...
  • Page 128 Chapter 11 • Setting Up SPD Server Parameter Files...
  • Page 129: Chapter 12 • Setting Up Spd Server Libname Parameter Files

    Chapter 12 Setting Up SPD Server Libname Parameter Files Introduction ............Domain Naming Syntax for Libnames.parm .
  • Page 130: Domain Naming Syntax For Libnames.parm

    The libnames.parm file is the preferred method to declare domains for use in SPD Server. Users can connect to domains by submitting SAS code to SPD Server after a session has started. The example SAS code below connects to the first domain that was declared...
  • Page 131: Datapath

    The difference between non-reserved and reserved option statements is that non-reserved option statements can be altered by subsequent libref statements that are submitted to SPD Server via SAS code. Use the roption (reserved option) specification to ensure that the domain options that you declare in libnames.parm cannot be modified by subsequent libref statements submitted...
  • Page 132: Consistency In Nomenclature

    Chapter 12 • Setting Up SPD Server Libname Parameter Files Usage: WORKPATH=('/work1/spds123' '/work2/spds123' '/work3/spds123' '/work4/spds123') METAPATH= Specifies a list of paths that are allocated to contain overflow SPD Server metadata if the designated metadata space that is allocated in the PATHNAME= option statement becomes full.
  • Page 133: Domain Access Options

    LIBACLINHERIT= The non-intuitive names example uses different names for the declared domain name, pathname, data pathname, and index pathname. The structure is technically valid, but is also unnecessarily complex. In summary, it is a good idea to use the same name that is declared as a LIBNAME domain as the destination directory name for pathname, data path, and index path specifications.
  • Page 134 LIBACLINHERIT=YES allows the owner to grant privileges to users to create objects in the domain, and WRITE access can be used to inherit write access to the owner's resources. The following is an example of SAS code submitted to SPD Server using LIBACLINHERIT. The example begins by showing information in the libnames.parm file where domain names and paths are declared.
  • Page 135 LIBACLINHERIT= /* LIBNAME access for user anonymous */ PROC SPDO library=libinher ; /* Admin owns these ACLs */ set acluser admin ; /* Add a LIBNAME ACL to d1 */ add acl / libname ; /* Modify LIBNAME ACL Domain d1 /* Allow users in Group 1 /* read-only access to domain modify acl / libname read ;...
  • Page 136: Dynlock

    Chapter 12 • Setting Up SPD Server Libname Parameter Files PROC PRINT data=a_noher.admins_table ; title 'without libaclinher' run ; DYNLOCK= Overview of Dynamic Locking Dynamic locking is an SPD Server feature that allows multiple users concurrent access to SPD Server tables. The tables can be concurrently accessed by multiple users for reading and writing, while maintaining the integrity of the table contents.
  • Page 137: Organizing Domains For Scalability

    Data Table Space Dynamic locking is not a replacement for using record-level locking in cases where the user requires SAS-style record-level integrity across multiple clients. Reading a record using dynamic locking does not guarantee that the record cannot change before a subsequent read or update is executed.
  • Page 138: Index Table Space

    Chapter 12 • Setting Up SPD Server Libname Parameter Files To ensure reliability, data table space is typically organized into RAID 1+0 or RAID-5 disk configurations. Very large warehouses should consider a RAID-5 configuration with a second storage array to mirror the data. Index Table Space When a domain is declared in a LIBNAME statement, index tables are stored in the space defined in the PATHNAME= specification, unless the INDEXPATH= option is specified.
  • Page 139: Domains And Data Spaces

    Overview of Domains and Data Spaces Work space refers to the area on disk that SPD Server software uses to store required files when the available CPU memory cannot contain the entire set of calculations. During events like these, some utility files are written to disk. Work space is important to scalability. Tasks such as large sorts, index creation, parallel group-by operations, and SQL joins can require dedicated work space to store temporary utility files.
  • Page 140: Permanent Table Space

    Chapter 12 • Setting Up SPD Server Libname Parameter Files Permanent Table Space In SPD Server, large production, inventory, and sales data storage areas work best using permanent table space. A rolling five-year sales data table by division and company is an example of an SPD Server structure that is best suited to permanently allocated space on the enterprise computers.
  • Page 141: Semi-Permanent Table Space

    Temporary Table Space permanent table space should be accessible to the specific group (such as analysts) of regular SPD Server users. The SPD Server administrator can use the libnames.parm file to configure paths that map to an area of reserved disk space on a host computer, creating a safe place for permanent tables with limited user access.
  • Page 142: Example Libname.parm File Configurations

    Chapter 12 • Setting Up SPD Server Libname Parameter Files creating temporary table spaces is to use the optional TEMP=YES specification when the LIBNAME domain statement is issued in submitted SPD Server job code. All tables residing in temporary table space are lost at the end of the SPD Server user session, when temporary table space is automatically deleted.
  • Page 143: Example 3: Query-Rewrite Domain Configuration

    Example 3: Query-Rewrite Domain Configuration The INDEXPATH= is designed to take advantage of multiple file systems. SPD Server 4.5, index components can take advantage of the SPD Server RANDOMPLACEDPF feature. The RANDOMPLACEDPF feature enables administrators to configure smaller disk partitions for index space, which benefits SPD Server backup and recovery operations. The WORKPATH= specified for the Example 2 SKULIST domain allows domain users to override the default workpath, if any, specified in the spdsserv.parm file.
  • Page 144: Example 4: Multiple Domain Types And Paths Configuration

    MINPARTSIZE=128M; TMPDOMAIN=QRW; WORKPATH=('c:\temp\work1'); Example 4: Multiple Domain Types and Paths Configuration Example 4 uses a combination of libnames.parm, spdsserv.parm, and user-issued SAS code submitted to SPD Server to create multiple domains that house the following: • permanent production tables •...
  • Page 145 Example 4: Multiple Domain Types and Paths Configuration '/data04/usertbls' '/data05/usertbls' '/data06/usertbls' '/data07/usertbls' '/data08/usertbls' '/data09/usertbls') INDEXPATH=('/idx01/usertbls' '/idx02/usertbls' '/idx03/usertbls' '/idx04/usertbls' '/idx05/usertbls')"; Finally, more libnames.parm file code defines the domain named SPDTEMP, which contains temporary table space that is automatically deleted at the end of the SPD Server session.
  • Page 146 Chapter 12 • Setting Up SPD Server Libname Parameter Files SAS code submitted to SPD Server by the user connects to the PROD, USERTBLS, and SPDTEMP domains, and configures SPDTEMP as a temporary domain space. Tables in the SPDTEMP domain will be automatically deleted at the end of the SPD Server session.
  • Page 147: Chapter 13 • Setting Up Spd Server Performance Server

    SPD Server. The purpose of the SPD Server Performance Server is to gather SPD Server process performance information and to post it to the SPD Server Management section of the SAS Management Console application. The SPD Server performance information consists of memory and resource allocations by users, and SPD Server processes spawned by an SPD Server Name Server.
  • Page 148: Starting The Spd Server Performance Server

    The display of memory and resource allocations in the SPD Process Profiler allows SPD Server Administrators to use the SAS Management Console as a handy view point to review which SPD Server processes are occupying host computing resources, how the resources are distributed across users and processes at a given point in time, and whether the resource uses and distributions are appropriate for your computing environment.
  • Page 149 • SNP is the process-ID number of the SPD Server SNet server. • PLP is the listening port number that SAS Management Console will use to contact the Performance Server • LOG is the path specification that you want to write the profile log to.
  • Page 150 X server where to display the window for the Performance Server program. 3. The sample script uses the default SAS Name Server port ( NSPORT) and SAS SNet port (SNPORT) assignments. If your SPD Server installation uses different NSPORT and SNPORT assignments, you must update the NSPORT and SNPORT settings in the sample script to the port addresses that are used in your SPD Server installation.
  • Page 151 Sample Rc.perf Script NSPORT=6100 SNPORT=6101 DEBUG= PARGS="-c 0" # parse parameters while [ $1 ]; do #echo "Parsing Option $1 of length ${#1}" case "$1" in -nsport) if [ $# -lt 2 ]; then echo "$1 parameter value not specified" exit 1 NSPORT=$2 shift;;...
  • Page 152: Performance Server Log File

    SPD Server Name Server log files, they will be parsed and formatted for SAS processing. There is a sample SAS script for importing the parsed log file data. The SAS script is located .../samples/perfmon/PerfDataSample.sas in your SPD Server installation. .
  • Page 153: Security

    Part 5 Security Chapter 14 ACL Security Overview ......... Chapter 15 Managing SPD Server Passwords, Users, and Table ACLs .
  • Page 155: Chapter 14 • Acl Security Overview

    Chapter 14 ACL Security Overview ACL Security Overview ..........SPD Server ACL Security Model .
  • Page 156: Acl Security Overview

    Chapter 14 • ACL Security Overview ACL Security Overview SPD Server uses Access Control Lists (ACLs) and SPD Server user IDs to secure domain resources. You obtain your user ID and password from your SPD Server administrator. SPD Server also supports ACL groups, which are similar to UNIX groups. SPD Server administrators can associate an SPD Server user as many as five ACL groups.
  • Page 157: Enabling Acl Security

    SAS Management Console, if it is installed and configured for SPD Server. In either of the two environments, the system administrator can prevent logins under the anonymous user ID by placing user 'anonymou' in the user ID table with a password unknown to the SAS users.
  • Page 158 /disk3/marketing /disk4/ directories must exist and the user ID that invokes spdssrv must have read and clinical write access to them. The following LIBNAME statements connect SAS clients to the data areas: LIBNAME open sasspds 'public' host='samson' user='employee' prompt=yes; LIBNAME pres sasspds 'clinical'...
  • Page 159: Disabling Acl Security

    ACL group to the LIBNAME domain to have READ access to the domain. This permits these users to perform SAS LIBNAME assignments to the domain. Users not belonging to the owner's ACL group will not even be permitted to make LIBNAME assignments to the 'clinical' domain.
  • Page 160: Controlling Spd Server Resources With Proc Spdo And Acl Commands

    SPDO and ACL Commands Using PROC SPDO Overview of PROC SPDO PROC SPDO is the SAS procedure for the SPD Server operator interface. PROC SPDO runs only on systems where the SAS is installed. PROC SPDO Command Set To invoke PROC SPDO, submit: PROC SPDO LIB=libref ;...
  • Page 161: Acl Concepts

    ACL Concepts 2. If a resource is owned by the same ACL group as the accessor, the accessor gets the resource's GROUP permissions. 3. If the resource is owned by a different ACL group than the accessor, the accessor gets the resource's UNIVERSAL permissions.
  • Page 162 Chapter 14 • ACL Security Overview When defining user-specific ACL permissions, you can use an ACL group wherever you can use an explicit SPD Server user ACL. Using an ACL group grants privileges to the ACL group instead of only to a specific SPD Server user. Column Security SPD Server allows you to control access to table contents at the column level through the use of ACLs.
  • Page 163: Overview Of The Acl Command Set

    LIBNAME domain. Two-Part Resource Name Two-part names identify a column entry within a table. Use the normal SAS convention of table.column when specifying the table and column that you want to secure. When issuing SPDO commands, you can use two-part names in any context that defines, modifies, lists, or deletes table-related ACLs.
  • Page 164: Set Acltype Memtype

    Chapter 14 • ACL Security Overview or member type at any point in a command sequence, and then continue with additional ACL commands in the new scope. SET ACLTYPE memtype; Sets the member type for subsequent ACL operations. Valid values are DATA, CATALOG, VIEW, and MDDB.
  • Page 165: Add Acl Examples

    ADD ACL Examples C=cat Identifies the specified ACL names acl1 acl2... as the names of catalog entries in the catalog cat. You pair this value with the T= option. T=type Identifies the catalog entry type to associate with the specified ACLs acl1 acl2... when you specify the C=cat option.
  • Page 166: Modify Acl And Modify Acl _All

    Chapter 14 • ACL Security Overview Add Generic ACL for Catalog Entries This ACL for catalog entries, MYCAT.MY*.CATAMS, grants universal READ and group READ access. set acltype catalog; add acl my c=mycat t=catams/generic read groupread; MODIFY ACL and MODIFY ACL _ALL_ MODIFY ACL acl1 acl2...
  • Page 167: Modify Acl Examples

    MODIFY ACL Examples NOGROUPALTER Removes group ALTER access. GENERIC Specifies that acl1 acl2... are generic ACLs. LIBNAME Identifies the special LIBNAME domain ACL. C=cat Identifies the selected ACLs as names of catalog entries from the catalog cat. This value must be paired with the T= option. T=type Identifies the catalog entry type used to qualify the selected ACLs when the C=cat option is specified.
  • Page 168: List Acl And List Acl _All

    Chapter 14 • ACL Security Overview Modify Generic Column ACL This modifies generic column ACL, MINE*.SALARY, to add explicit READ and WRITE access for a given user. modify acl mine.salary/generic debby=(y,y,n,n); Modify ACL for a Catalog This modifies catalog MYCAT to remove universal READ and group WRITE access. set acltype catalog;...
  • Page 169: List Acl Examples

    LIST ACL Examples LIST ACL Examples List All ACL Entries This lists all ACL entries for the current ACL type setting. list acl _all_; List a Generic ACL This lists a generic ACL entry for MINE*. list acl mine/generic; List All Column ACLS for a Table This lists all column ACLs for table MINE_JAN2003.
  • Page 170: Delete Acl And Delete Acl _All

    Chapter 14 • ACL Security Overview DELETE ACL and DELETE ACL _ALL_ DELETE ACL acl1 acl2... [C=cat T=type] /options DELETE _ALL_[C=cat T=type] /options; Deletes existing ACLs for resources acl1 acl2... where ACL entries acl1 acl2... can be one- part resource names or two-part table.column names. Specifying _ALL_ deletes all existing resource ACLs for which you have control access.
  • Page 171: Symbolic Substitution

    Symbolic Substitution Example Delete All Column ACLs on a Table This deletes all column ACLs on table KBIKE. delete acl kbike._all_; Delete All Column ACLs on All Tables This deletes all column ACLs on all tables. delete acl _all_._all_; Delete a Catalog ACL This deletes an ACL on the catalog RBIKE.
  • Page 172 Chapter 14 • ACL Security Overview connect to sasspds (dbq="path1" server=host.port user='anonymous'); /* queries comparing literal rows are /* only selected if the symbolic /* substitution evaluates as 'true' select * from connection to sasspds( select * from mytable where "@SPDSUSR" = "SOMEUSER"); select * from connection to sasspds(...
  • Page 173: Acl Security Examples

    ACL Security Examples "@SPDSSPEC" = "TRUE") by sasspds; /* Create a view to worktable that allows users /* to access only rows where the column "usergrp" /* matches their group. The userID BOSS can access */ /* any group records where the column "userid" is /* "BOSS"...
  • Page 174 Chapter 14 • ACL Security Overview pathname=/IDX1/spdsmgr/colsec owner=boss ; LIBNAME=onepath pathname=/IDX1/spdsmgr/onepath ; Password database List: User Level Entry Type Group ----------------------------------- ADMINGRP GROUP ENTRY GROUP1 GROUP ENTRY GROUP2 GROUP ENTRY GROUP3 GROUP ENTRY GROUP4 GROUP ENTRY PRODGRP GROUP ENTRY ADMIN1 user ID ADMINGRP ADMIN2...
  • Page 175 ACL Security Examples add ACL / libname ; modify ACL / LIBNAME prodgrp=(y,y,y,y) group1=(y,y,n,n) group2=(y,n,n,n) group3=(y,n,n,n) ; /* Give spedific users access to */ /* the domain */ modify ACL / LIBNAME user7=(y,n,n,n) admin1=(y,n,n,n) ; list ACL _all_ ; quit ; The ID 'prod2' is in the group which has permissions to control the LIBNAME ACL.
  • Page 176 Chapter 14 • ACL Security Overview /* The ACLSPECIAL= statement allows */ /* the user 'admin1' to operate under */ /* the user ID 'prod1', allowing the */ /* ACLs to be modified. */ set acluser prod1 ; modify ACL / LIBNAME admingrp=(y,n,n,n) ;...
  • Page 177 ACL Security Examples end; run; /* Set up libname access for user anonymous */ PROC SPDO library=libinher; /* set who will own these ACLs */ set acluser admin; /* Add a libname ACL to d1 */ add acl / LIBNAME; /* Modify libname ACL Domain d1 /* Allow users in Group 1 read-only */ /* access to the domain...
  • Page 178 Chapter 14 • ACL Security Overview server=zztop.5129 user='anonymous'; PROC PRINT data=a_inher.admins_table; title 'with libaclinher'; run; PROC PRINT data=a_noher.admins_table; title 'without libaclinher'; run; Anonymous User Account The SPD Server uses a general ID that is called 'anonymous'. Any person that can connect to the server can do so using the anonymous user ID.
  • Page 179 ACL Security Examples LIBNAME user1 sasspds 'onepath' server=zztop.5162 user='user1' password='spds123' IP=YES ; PROC PRINT data=user1.anonymous_table (obs=10) ; title 'user1 reading anonymous_table' ; run ; /* Tables created by user ID anonymous */ /* can have ACLs PROC SPDO library=john ; /* assign who owns the ACL */ set acluser anonymous ;...
  • Page 180 Chapter 14 • ACL Security Overview title 'mary reading anonymous_table' ; run ; /* Mary can't write to anonymous_table */ data mary.anonymous_table ; do i = 1 to 100 ; output ; end ; run ; Read Only Tables A common security measure in SPD Server assigns an SPD Server ID to act as the owner of a domain and to provide control over it.
  • Page 181 ACL Security Examples /* create two tables */ data d1.admin1_table1 ; do i = 1 to 100 ; output ; end ; run ; /* admin1 has write priviliges to */ /* the domain data d1.admin1_table2 ; do i = 1 to 100 ; output ;...
  • Page 182 Chapter 14 • ACL Security Overview 'read admin1_table1 by user1' ; run ; PROC PRINT data=user1d1.admin1_table2 (obs=10) ; title 'read admin1_table2 by user1' ; run ; /* Test access for a user in group2 */ LIBNAME user2d1 sasspds 'd1' server=zztop.5162 user='user2' password='spds123' IP=YES ;...
  • Page 183 ACL Security Examples LIBNAME user1d1 sasspds 'd1' server=zztop.5162 user='user1' password='spds123' IP=YES ; PROC PRINT data=user1d1.admin1_table2 (obs=10) ; title 'read admin1_table2 by user1' ; run ; /* Test access for a user in group2 */ LIBNAME user2d1 sasspds 'd1' server=zztop.5162 user='user2' password='spds123' IP=YES ;...
  • Page 184 Chapter 14 • ACL Security Overview add ACL / LIBNAME ; /* Allow any user in same group */ /* as admin to read, write, or /* alter tables in the domain modify ACL / LIBNAME admingrp=(y,y,y,n) group1=(y,n,n,n) group2=(y,n,n,n) group3=(y,y,n,n) group4=(y,y,n,n) ;...
  • Page 185 ACL Security Examples data d1.admin1_table2 ; do i = 1 to 100 ; output ; end ; run ; /* generic ACL allows all users to /* read the tables PROC SPDO library=d1 ; /* assign who owns the ACLs */ set acluser admin1 ;...
  • Page 186 Chapter 14 • ACL Security Overview /* in the same group as admin2 need /* to read tables created by admin2. add ACL / generic read groupread groupalter ; list ACL _all_; /* admin (same group) can read the /* table PROC PRINT data=d1.admin2_table (obs=10) ;...
  • Page 187 ACL Security Examples password='spds123' IP=YES ; This example assumes that the Table prod1_table is already loaded in the domain and that the groups who use the table have access. PROC SPDO library=d2 ; /* assign who will owns these ACLs */ set acluser prod1 ;...
  • Page 188 Chapter 14 • ACL Security Overview set acluser prod1 ; There is no need to issue an add ACL command for prod1_table. Deleting a table or replacing a table does not delete the ACLs. The ACL for that table remains until: •...
  • Page 189 ACL Security Examples prodgrp=(y,y,y,y) group1=(n,n,n,n) group2=(n,n,n,n) group3=(n,n,n,n) group4=(n,n,n,n); list ACL _all_ ; run ; /* Modify ACL for tables to be refreshed */ PROC SPDO library=d2 ; /* set who owns the ACLs */ set acluser prod1 ; /* Modify table ACL to revoke read and */ /* control by user IDs in same group, */ /* which prevents locks during table */ /* refreshes.
  • Page 190 Chapter 14 • ACL Security Overview run ; ACL Special Users SPD Server user IDs have two levels, 0 through 3 and 4 through 7. Level 4 through 7 user IDs can log in as an SPD Server 'super user' that can: •...
  • Page 191 ACL Security Examples list ACL _all_ ; quit; Column-Level Security The goal of column-level security is to allow only privileged users to access sensitive columns of tables that other users cannot read. LIBNAME user1 sasspds 'onepath' server=zztop.5161 user='user1' password='spds123'; LIBNAME user2 sasspds 'onepath' server=zztop.5161 user='user2' password='spds123' aclgrp='group2';...
  • Page 192: Dictionary.pwdb And Dictionary.acls

    Chapter 14 • ACL Security Overview run; /* Example of every BUT user2 in */ /* group2 being allowed to read /* column salary PROC SPDO library=user1 ; /* Assign who owns the ACLs */ set acluser; /* Clean Up Column ACL */ delete ACL t.salary;...
  • Page 193: Example - Listing The Users In The Password Database Using Sql Pass-Through

    Example - Listing ACL Objects using SQL Pass-Through othgrps char(40) Label = 'Other Groups' expire char(6) Label = 'Expire Period' mod_date char(32) Label = 'Password Last Modified' log_date char(32) Label = 'Last Login' timeout char(6) Label = 'Timeout Period' strikes char(6) Label = 'Failed Login Attempts'} DICTIONARY.ACLS {owner char(8) Label = 'Owner' group char(8) Label = 'Group' defacs char(56) Label = 'Default Access'...
  • Page 194: Using Spd Server With An Internet Firewall

    SPD Server clients communicate with the SPD Server Name Server via the SPD Server Name Server listen port. The Name Server listen port is used by clients (such as Base SAS) when LIBNAME and SQL CONNECT statements are issued. The LIBNAME and SQL CONNECT statements must be able to pass through a firewall.
  • Page 195: Spd Server Auditing

    SPD Server auditing provides a way to log access to SPD Server resources, or to log implicit or explicit SQL pass-through queries that are submitted to SPD Server. Separate audit logs are created for proxy auditing and SQL audit logging. SPD Server includes three SAS programs (auditwithwhere.sas, auditraw.sas, and auditsql.sas) in the /samples directory of...
  • Page 196: Proxy Auditing

    Chapter 14 • ACL Security Overview your SPD Server installation. These programs enable you to input the audit logs into SAS tables. Then, you can query the SAS tables to determine access to SPD Server tables and resources. Proxy Auditing Proxy auditing provides a means to determine access to SPD Server resources.
  • Page 197: Where Clause Auditing

    SQL Query Auditing • Read permissions that were granted to an SPD Server user to access a resource • Write permissions that were granted to an SPD Server user while accessing a resource • the ACLs that are associated with a resource WHERE Clause Auditing WHERE clause auditing provides an audit record that contains the following information: •...
  • Page 198 Chapter 14 • ACL Security Overview...
  • Page 199: Chapter 15 • Managing Spd Server Passwords, Users, And Table Acls

    SAS Management Console ..........Overview of SAS Management Console ....... .
  • Page 200: Invoking The Psmgr Utility

    Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs (directory path) where the table is located. The owner of the password table, typically the SPD Server administrator, can update the table. The password table contains the following attributes and capabilities for each system user: •...
  • Page 201: Adding New Users With Psmgr

    Adding New Users with psmgr 1. Start the SPD Server 3.x psmgr utility using your SPD Server 3.x password table. 2. Export your SPD Server 3.x password table. 3. Start the SPD Server 4.5 psmgr utility with a new table. 4.
  • Page 202 Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs 8. Enter the group name if the user is part of an ACL group, or skip this step by pressing Enter. For example: groupname The user debby is added. The temporary password is good for one logon. The second part changes the user's password.
  • Page 203: Psmgr Commands

    psmgr Command Details psmgr Commands The psmgr utility is an interactive program. It reads commands and operands from your computer, and prompts you for input when necessary. You can also send a file of commands to the utility, structuring each command so that no input is required. The commands and operands are positional, and they must be separated by blank spaces.
  • Page 204 Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs expiretime a password expiration time; or a dash (-), which indicates that no password expiration time is being specified. The expiration time requires the user to change his password before the specified number of days has expired.
  • Page 205 IP address from which the user must connect to the SPD Server. The IP address on which the SAS, ODBC, JDBC, or SQL client software is running must match the IP address that is entered in the password table.
  • Page 206 Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs Arguments username the user ID of an SPD Server user. timeoutperiod a password logon timeout period. The timeout period requires the user to successfully logon before the specified number of days has expired. The value, which is specified in days, represents the number of days from the last successful logon that the password is valid.
  • Page 207 psmgr Command Details The EXPORT command generates a single line in the flat file for each record in the password table. User passwords are encrypted in the table. What you see in the flat file is a representation of what is stored in the password table. When you have changes that affect many users, it might be easier to edit the flat file than to use the psmgr utility.
  • Page 208 Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs Note: If you use the groupmem command in batch mode, the syntax requires you to submit five groupname arguments. If you want to update the user ID with less than five ACL group members, replace the empty groupname arguments with “...
  • Page 209: Using A File As Input To Psmgr

    Using a File as Input to psmgr Example list bar This example might produce the following listing: USER AUTHORIZATION IP ADDRESS ---- ------------- ----------- RESET resets a password for a user. The RESET command resets a user's password after three consecutive failed attempts to connect to a server.
  • Page 210: Sas Management Console

    SAS Management Console Overview of SAS Management Console SPD Server supports the SAS Management Console. The SAS Management Console is an application that the SPD Server administrator can use to manage passwords and ACLs. Administrators that need to configure passwords and ACLs can choose between using the SAS Management Console or the traditional SPD Server management tools (PROC SPDO and the psmgr utility).
  • Page 211: Configuring Ldap Authentication

    Configuring LDAP Authentication record is required for each SPD Server user. SPD Server uses the psmgr utility's password database to perform user access control tasks and other tasks that are not related to user authentication. • Users that connect to an SPD Server must have corresponding logon information on the LDAP server.
  • Page 212 Chapter 15 • Managing SPD Server Passwords, Users, and Table ACLs...
  • Page 213: System Management

    Part 6 System Management Chapter 16 SPD Server Operator Interface Procedure (PROC SPDO) ..Chapter 17 SPD Server Index Utility Ixutil ........Chapter 18 SPD Server Table List Utility Spdsls .
  • Page 215: Chapter 16 • Spd Server Operator Interface Procedure (Proc Spdo)

    Commands to Nonexistent Users ........Special SPDO Commands Overview of SPDO Commands Note: For additional information on using PROC SPDO, see the chapter, "Controlling SAS Scalable Performance Data Server Resources with PROC SPDO and ACL Commands."...
  • Page 216: Libname Proxy Commands

    Chapter 16 • SPD Server Operator Interface Procedure (PROC SPDO) SPDO Command Examples 1. List the WORKPATH directory: spdscmd 'ls /spdswork/*.spds'; spdscmd 'dir d:\spdswork\*.spds'; 2. Clean up WORKPATH files: spdscmd 'rm /spdswork/*.spds'; spdscmd 'del d:\spdswork\*.spds'; LIBNAME Proxy Commands Overview of Proxy Commands To issue proxy commands, you must first select the SPD Server user proxy.
  • Page 217 LIBNAME Proxy Command Examples used with a data set name dsname, detailed information about the specified data set table is displayed. LIBNAME Proxy Command Examples 1. List all of the users for the server 'sunburn.6100': LIBNAME example sasspds host='sunburn' serv='6100' user='sassyl' passwd='abc123' aclspecial=YES;...
  • Page 218 Chapter 16 • SPD Server Operator Interface Procedure (PROC SPDO) 6. The user ANONYMOU performs a WHERE clause on the table BIGX. Show all of the open tables in LIBNAME FOO: showlibname FOO/data=_all_; LIBREF(FOO):Dataset name=BIGX LIBREF(FOO):ACL Owner=ANONYMOU LIBREF(FOO):ACL Defaults(R,W,A,C)=(N,N,N,N) LIBREF(FOO):WHERE clause read thread active 7.
  • Page 219: Privileged Oper Commands

    Privileged OPER Commands set user/locking anonymou threadid 7; NOTE: User ANONYMOU connected to record level proxy operator port with thread=7. 10. Show every LIBNAME for locking user ANONYMOU: showlibname _all_; LIBREF(LOCKING):Pathname assigned=/bigdisk/test/qabig1/ LIBREF(LOCKING):ACL Owner= LIBREF(LOCKING):ACL Defaults(R,W,A,C)=(Y,Y,Y,Y) 11. Show all of the open tables in LIBNAME LOCKING: showlibname LOCKING/data=_all_;...
  • Page 220: Truncate Command And Example

    OPER INTERRUPT command initiates a soft exit of the user proxy. The user receives a message in the SAS log that states that the job has been interrupted. If the job did not finish, then the results might be incomplete. However, the user LIBNAME will be intact, and the user proxy will still be viable.
  • Page 221: Refreshing Spd Server Parameter And Libname Files

    REFRESH Command Examples /* verify the contents of the created table */ PROC CONTENTS data=&domain..staceys_table ; run; /* SPDO Truncate command deletes the table */ /* data but leaves the table structure in */ /* place so new data can be appended */ PROC SPDO lib=&domain;...
  • Page 222: Commands To Nonexistent Users

    Chapter 16 • SPD Server Operator Interface Procedure (PROC SPDO) password='spds123' aclspecial=YES prompt=YES; PROC SPDO library=spds44; SET acluser admin; REFRESH PARMS; REFRESH DOMAINS; quit; Here is a more detailed example: /* Domain reftest is a pre-existing domain. /* Add domain reftest2 to libnames.parm and /* specify owner=admin LIBNAME=tmp pathname=c:\temp;...
  • Page 223 Commands to Nonexistent Users the user ends the SAS session, or disconnects from a LIBNAME and the user proxy. If you submit an OPER command to a user that is no longer in session, or to a user that has ended a locking user proxy, you get the following message: ERROR: Specified locking user no longer exists.
  • Page 224 Chapter 16 • SPD Server Operator Interface Procedure (PROC SPDO)
  • Page 225: Chapter 17 • Spd Server Index Utility Ixutil

    Chapter 17 SPD Server Index Utility Ixutil The Index Utility Ixutil ..........Ixutil Usage .
  • Page 226: Ixutil Options

    Chapter 17 • SPD Server Index Utility Ixutil <data set1,column1> < data set2,column2> ... ixutil -statjidx <data set_n,column_n> <physical path> ; -libpath Gather statistics about the join index parts. Pay attention to the average join row percentage, which indicates the average number of rows that are read by a parallel join work unit.
  • Page 227: Ixutil Examples

    Ixutil Examples Create a Hybrid Index Assume there is an SPD Server domain named my domain assigned to the directory on a machine named spot. A user has created a table with the following SAS program: spds libname my_data sasspds 'mydomain' server=spot.spdsname...
  • Page 228: Retrieve Disk Usage And Fragmentation Statistics

    The SAS program above creates a hybrid index for column X of the table named test, on the machine named spot, in the directory named /spds. Retrieve Disk Usage and Fragmentation Statistics Use the...
  • Page 229: Retrieve Index Distribution Statistics

    > ixutil -stats x -dsn test -libpath /spds -dist SAS Scalable Performance Data Server 4.5(TS M0) Build(Feb 26 2009, 11:50:08) Index File Utility Copyright (c) 1996-2008 by SAS Institute Inc, Cary NC 27513 USA Statistics for Index X: --------------------------------------------------- +--segment_size...
  • Page 230: Reorganize The Index

    > ixutil -reorg x -dsn test -libpath /spds SAS Scalable Performance Data Server 4.5(TS M0) Build(Feb 26 2009, 11:50:08) Index File Utility Copyright (c) 1996-2009 by SAS Institute Inc, Cary NC 27513 USA Reorg for Index x: Reorg successfully completed Ixutil completed successfully Running the index utility program again to get the statistics shows that the segment lists for all of the values have been aggregated (the avg_chunks_per_list is 1.0) and the unused...
  • Page 231: Create A Join Index

    SAS Scalable Performance Data Server 4.5(TS M0) Build(Feb 26 2009, 11:50:08) Index File Utility Copyright (c) 1996-2009 by SAS Institute Inc, Cary NC 27513 Ixutil completed successfully. Generate Join Index Statistics Now, get statistics on the join index that you created, using the...
  • Page 232: Delete The Join Index

    4.5(TS M0) Build(Feb 26 2009, 11:50:08) Index File Utility Copyright (c) 1996-2009 by SAS Institute Inc, Cary NC 27513 Ixutil completed successfully Parallel join work units are based on the ranges of the join keys. For example, range 0 will join ranges 1 through 100, range 1 can join range 101 to 200, and so on Ranges can overlap observations if the tables are not sorted by the join key.
  • Page 233: Chapter 18 • Spd Server Table List Utility Spdsls

    Chapter 18 SPD Server Table List Utility Spdsls SPD Server Table List Utility Spdsls ........Description .
  • Page 234 Only lists SAS 6.x data sets. Only lists SAS 8.x or SAS 9.x data sets. <LibPath> The complete path of an SPD Server LIBNAME directory.
  • Page 235 You can use the - l option of the spdsls command to display index, owner, and size information for component files in domain /bigdisk/sas/data/public as follows: spdsls -l -i -o -s /bigdisk/sas/data/public SAS Scalable Performance Data Server 4.5(TS M0) Build(Feb 26 2009, 11:51:36) - Domain List Copyright (c) 1996-2008 by SAS Institute Inc, Cary NC 27513 ANONYMOU 31196 /bigdisk/sas/data/public/cars.mdf.0.0.0.spds9...
  • Page 236 Chapter 18 • SPD Server Table List Utility Spdsls...
  • Page 237: Chapter 19 • Spd Server Backup And Restore Utilities

    Introduction ............Overview of the SAS Scalable Performance Data Server Backup and Restore Utilities .
  • Page 238: Introduction

    Help menu for each utility • offer an enhanced user interface and user messages. Overview of the SAS Scalable Performance Data Server Backup and Restore Utilities The standard file system backup and restore facilities that native operating systems provide are generally inadequate for backing up and restoring SPD Server tables.
  • Page 239: Using Utilities With Spd Server

    SPD Server session is a privileged user). • The user has ACLSPECIAL=YES privileges. To run the backup and restore utilities remotely using the SAS PROC SPDO spdscmd. The PROC SPDO spdscmd command requires similar access: either identical user IDs or ACLSPECIAL=YES user privileges.
  • Page 240: Spdsbkup - The Table Backup Utility

    If the spdsbkup return value is 1, one or more data sets could not be backed up. In that case, examine your SAS log for warning messages. If the spdsbkup return value is 2, a critical error caused an early process termination. Examine...
  • Page 241: Backup Requirements

    Example Libnames.parm Statements Backup Requirements Client Access to an SPD Server Domain The client that performs the backup does not have to execute on the same machine as the SPD Server. However, the client must be able to access the physical path of the SPD Server domain that is being backed up.
  • Page 242: Backup Usage

    Chapter 19 • SPD Server Backup and Restore Utilities Backup Usage spdsbkup -d <dom> -f <file> -h <host> [-hash] [-s <serv>] [-u <user>] [-fibfact <n>] [-p <passwd>][-t <mm/dd/yy:hh:mm:ss>] [-r <count>] [-a | -aonly] [-n] [-q] [-v] [-nv6warn] [-proj <dir>] [Table ...] spdsbkup -inc -d <dom>...
  • Page 243 Backup Options -aonly Only include the domain ACL files in the backup. No tables will be backed up. The SPD Server LIBNAME domain. Note: The system that performs the backup must be able to access the physical path for the domain locally or through a network connection. The prefix filename for the backup data file.
  • Page 244: Backup Return Values

    0, then the utility was successful. If the spdsbkup return value is 1, one or more data sets could not be backed up. In that case, examine your SAS log for WARNING information. If the spdsbkup return value is 2, a critical error caused an early process termination.
  • Page 245: Backup Table Of Contents File

    T, columns 1-32 are configured for ACL names. The table of contents file is formatted so that it can be used as a table of contents for a SAS backup file. The SAS format for the table of contents file is format lastfull datetime18.;...
  • Page 246: Backup User Messages

    After performing each SPD Server backup, you should append the resulting table of contents file to the SAS table of contents backup file. This is an important step because it saves the backup history, and assists later when restoring tables.
  • Page 247: Restore Requirements

    Restore Options • When an incremental backup is restored, only the incremental changes to the observations are applied. • When a full backup is restored, the table is created with the attribute settings that existed when the full backup was performed, and then all of the rows are added. Restore Requirements Before you can use the spdsrstr utility to restore a table, the following must be true: •...
  • Page 248 Chapter 19 • SPD Server Backup and Restore Utilities -aforce restore the backed up domain ACL files if they do not exist or overwrite the current files if they do exist. Note: This option should be used when restoring multiple files with the option to ensure that the domain ACL files are consistent with the last file restored.
  • Page 249: Restore Return Values

    If the spdsrstr return value is 1, one or more data sets could not be restored. In that case, examine your SAS log for WARNING information. If the spdsrstr return value is 2, a critical error caused an early process termination. Examine your SAS log for WARNING and ERROR information.
  • Page 250 SPD Server backup for each table and any ACL files in the domain. The table of contents file contains information for each table that was backed up. 2. Archive the SPD Server backup file and source in the table of contents file into a SAS table of contents table.
  • Page 251 The table of contents file contains information for each table that was either incrementally or fully backed up. 3. Archive the SPD Server backup file and source in the table of contents file into a SAS table of contents table.
  • Page 252: Using Proc Spdo To Back Up And Restore Spd Server Tables

    SPD Server. Output messages from the commands are echoed to the SAS log. In the next example, the SPD Server incremental backup and restore utilities reside in the SPD Server directory. The incremental backup and restore files are...
  • Page 253: Back Up And Restore Table Indexes Using Spd Server Full Backups

    Back Up and Restore Table Indexes using SPD Server Full Backups Use the following steps to use PROC SPDO to execute SPD Server backup and restore utilities: 1. Create an SPD Server LIBNAME, and specify 'special' privileges. libname backup sasspds 'test' host='sunny' serv='5150' user='admin'...
  • Page 254: Back Up And Restore Spd Server Table Indexes Using System Full Backups

    Chapter 19 • SPD Server Backup and Restore Utilities Back Up and Restore SPD Server Table Indexes using System Full Backups Back Up and Restore SPD Server Table Indexes Using System Full Backups Restoring indexes from system full backups and restores is not as clean as restoring indexes from SPD Server full backups and restores.
  • Page 255 Method 2 – Recreate the Index after the Table Is Restored The second method trades the resources that you save by not fully backing up the index files against the greater amount of time it can take to recreate the indexes fully, if the table must be restored.
  • Page 256 Chapter 19 • SPD Server Backup and Restore Utilities...
  • Page 257: Chapter 20 • Spd Server Directory Cleanup Utility

    Chapter 20 SPD Server Directory Cleanup Utility Introduction ............Using the Directory Cleanup Utility Spdsclean .
  • Page 258: Using The Directory Cleanup Utility Spdsclean

    Chapter 20 • SPD Server Directory Cleanup Utility Using the Directory Cleanup Utility Spdsclean The spdsclean program is a command-line utility. It supports a set of command-line options and parameters you use to specify the location and names of tables to convert, and behaviors that you want to control during the conversion process.
  • Page 259: Spdsclean Options That Modify Behavior

    Spdsclean Options that Modify Behavior -parmfile parmFile option to the spdsclean command runs cleanup on the specified SPD -parmfile Server environment that is defined in the named SPD Server parameter file. The cleanup action empties all directory resources that are defined in the SPD Server parameter file. All files contained in the WORKPATH= path list are deleted.
  • Page 260: Spdsclean Examples

    Chapter 20 • SPD Server Directory Cleanup Utility -lib11 setting enables deletion of the domain state file, .spdslib11. The default -lib11 setting is +lib11. +lib11 setting disables deletion of the domain state file. This is the default setting +lib11 for the lib111 variable. -verbose setting is equivalent to specifying ,enabling...
  • Page 261: Cleaning Residual Temporary Libname Domain Files

    Cleaning WORKPATH and LIBNAME Combinations If you want spdsclean to log the files it deletes, add the option to the command. -verbose spdsclean -parmfile /opt/spds45/site/spdsserv.parm -verbose Cleaning Residual Temporary LIBNAME Domain Files This spdsclean command cleans all of the residual temporary files from all of the LIBNAME domains that are defined in the specified.
  • Page 262: Cleaning Log Files

    Chapter 20 • SPD Server Directory Cleanup Utility spdsclean -parmfile /opt/spds45/site/spdsserv.parm -libnamefile /opt/spds45/site/libnames.parm -verbose Logging occurs for the WORKPATH and LIBNAME domain directories and for the files that were deleted from each. Cleaning Log Files This spdsclean command cleans the .spdslog files from the specified directory -logdir that are more than seven days old.
  • Page 263 Glossary Libnames.param File The libnames.parm file defines the SPD Server LIBNAME domains for the SPD Server environment. The libnames.parm file is a collection of LIBNAME statements. Each LIBNAME statement defines a storage domain that SPD Server uses with clients. You modify the libnames.parm file using the option with the spdsserv -libnamefile...
  • Page 264 Chapter 20 • SPD Server Directory Cleanup Utility...
  • Page 265: Chapter 21 • Spd Server Debugging Tools

    SPD Server environment. The debugging tools are for use with SPD Server 4.5 running on SAS 9.2. The debugging tools are organized into LIBNAME statement options for debugging, and server parameter file options for debugging.
  • Page 266: Spd Server 4.5 Server Parameter File Debug Options

    Chapter 21 • SPD Server Debugging Tools launches a debug image (spdsbased and spdsengd) which will enable a good traceback. CORE launches debug images and sets the SPD Server parameter file option for that proxy. This ensures a good core file. disables the debug image for the specified proxy, if one is present.
  • Page 267 RECORDFLAGS= ALTBINPATH= Description The ALTBINPATH= option specifies the path to an alternate executable binary file directory. An alternate binary file path allows system administrators to load a non- production copy of SPD Server without having to replace the production copy of SPD Server.
  • Page 268 Chapter 21 • SPD Server Debugging Tools and to produce a core file if an unexpected exception is encountered while running (bit flag 4). To perform all three actions, submit the sum of the bit flags (1+2+4) = 7 as the argument for your RECORDFLAGS= option statement: RECORDFLAGS= 7...
  • Page 269 Your Turn We welcome your feedback. • If you have comments about this book, please send them to yourturn@sas.com. Include the full title and page numbers (if applicable). • If you have comments about the software, please send them to...
  • Page 271 . s a s . c o m / s p n SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. ® indicates USA registration.

Table of Contents