Tag Archives: -I

Here are a few thoughts on effectively working with IBM Infosphere, Information Server, DataStage surrogate key files, which may prove useful for developers.

Placement

The main thing about placement is that it be in a consistent location. Developers and production support teams should need to guess or look up where it is for every DataStage project. So, it is best to put the surrogate keys in same base path and that each project has its own subfolder to facilitate migrations and to reduce the possibility of human error. Here Is the patch structure, which is commonly use:

Path

/data/SRKY/<<Project Name>>

Parameter Sets

As a best practice, the surrogate key file path should be in a parameter set and the parameter used in the jobs, as needed. This simplifies maintenance, if and when changes to the path are required, and during migrations.

Surrogate Key Parameter Set Screenshot – Example Parameter Tab

Surrogate Key Parameter Set Screenshot

Surrogate Key Parameter Set Screenshot – Example Values Tab

Surrogate Key Parameter Set Screenshot – Example Values Tab

Surrogate Key Job Parameter Example Path using Parameter

Surrogate Key Job Parameter Example Path using Parameter

Permissions

DataStage must have permissions to:

The entire parent path

The project folder, and

The surrogate key files themselves.

To ensure the DataStage has access to the path and Surrogate files, ensure:

The ‘dsadm’ (owner) and ‘dstage’ (group) have access to folders in the path, with at least a “-rw-r–r–“ (644) permissions level. Keeping the permissions to a minimum can, for obvious reasons, prevent inadvertent overwrites of the surrogate key files; thus, avoiding some, potentially, serious cleanup.

The ‘dsadm’ (owner) and ‘dstage’ (group) have access to the surrogate key files

This productivity tip, is how we can quickly create a new surrogate key file in Linux. This example is leveraging native capabilities of Red Hat Enterprise Linux (RHEL) to skip a few commands, by using an existing surrogate key file to create a new surrogate file with a minimum of keys strokes and command line entries.

Creating a New Surrogate Key File From an Existing File

The basic process consists of just a few steps:

Navigate to the location of your existing surrogate key files

Copy an existing surrogate file

Empty the new surrogate key file

Navigate to the location of your existing surrogate key files

This step is preparatory step; you will need to look at the path variable for the project you are working with to know where to go. The actual path to the surrogate files your project can vary by project.

Copy an existing surrogate file

Assuming you have existing surrogate key files configured as needed, the use of the copy (cp) command can and the interactive and preserve options can eliminate the need to create the file, then set groups and permissions. The interactive (-i) option prevent you from overwriting an existing files, in case you made a filename typo and the preserver (-p) option preserve the specified attributes (e.g. ownership, and permissions).

Basic Command

Here is the command formats with interactive and preserve, either format works

cp -ip <<FileName to Be Copied>> <<New Filename>>

Here is the command formats with only preserve

cp -p <<FileName to Be Copied>> <<New Filename>>

Example Command

cp -ip srky blogexampl.srky

Copy Surrogate Key With Permissions

Empty the new surrogate key file

Setting the newly create surrogate key file to null will empty the file, so, DataStage can begin from the point configure in your DataStage job.