Is 901SP1 IIR 02 Installation en
Is 901SP1 IIR 02 Installation en
Is 901SP1 IIR 02 Installation en
THIS MANUAL CONTAINS CONFIDENTIAL INFORMATION AND IS THE SUBJECT OF COPYRIGHT, AND
ITS ONLY PERMITTED USE IS GOVERNED BY THE TERMS OF AN AGREEMENT WITH INFORMATICA
CORPORATION, OR ITS SUBLICENSORS. ANY USE THAT DEPARTS FROM THOSE TERMS, OR BREACHES
CONFIDENTIALITY OR COPYRIGHT MAY EXPOSE THE USER TO LEGAL LIABILITY.
Introduction 5
Support Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
IIR Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Software Prerequisites 8
Network Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
ODBC Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Software Installation 9
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Database Configuration 13
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
ODBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
SQL scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Optional Synchronizer Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Cost Based Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Creating Users and Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Recommended Oracle Instance Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 18
UDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Database Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Collate Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Create a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Creating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Select Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
User Defined Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ODBC / CLI Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Common Configuration Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
DB2 on z/OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Microsoft SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Create a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Define an ODBC Data Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Create Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3 CONTENTS
Sybase ASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Create a User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Create Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Set the Bulkcopy DB Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Define the ODBC Data Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Generic ODBC Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
ODBC Configuration 30
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ODBC Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Microsoft SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Sybase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
UDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Testing Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Database Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
UNIX Notes 34
Establishing an environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Test the ssapid utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Index 35
CONTENTS 4
Introduction
This manual describes the installation of Informatica’s Identity Resolution product.
5 INTRODUCTION
Support Matrix
Not all combinations of Platform, Operating System and DBMS are supported. Please refer
to the Product Availability Matrix for a definitive listing.
Platforms
IIR Client and Server software is supported on the following hardware platforms:
HP/PA-RISC
Itanium
RS/6000
SUN/SPARC
Operating Systems
IIR Client and Server software is supported on the following Operating Systems:
Windows NT 4/2000/2003/XP
Databases
SQL databases with generic ODBC drivers (unsynchronized source access only).
Support Matrix 6
IIR Components
IIR requires the installation of Server Components, Client Components and optionally Developer Com-
ponents.
IIR Core modules are installed together with the IIR Server Components. They include the System
Loader, Table Loader, Update Synchronizer and IIR Nucleus.
IIR Server Components include the Search Server, Console Server, Rulebase Server and Connection
Server.
IIR Client Components include the Console Client, Search Client, Rulebase Editor and the Custom
Search Client API.
The optional IIR Developer Components include C and Perl client program examples. They are in-
stalled together with the IIR Client Components.
Depending on the user’s requirements, the Core, Server and Client Components may be installed on
one computer, or separated with the Core and Server Components on one computer and the Client
Components on another.
The Core and Server Components are typically installed on the same computer as the user’s database.
7 INTRODUCTION
Software Prerequisites
This chapter describes the software prerequisites for an IIR installation.
Network Protocols
The IIR Clients and Servers require a TCP/IP network connection.
ODBC Drivers
IIR uses the ODBC protocol to access SQL databases. ODBC drivers for databases used as either a source
or target must be pre-installed and configured according to the manufacturer’s specifications.
The only exception is the ODBC driver provided by Oracle Corp. It does not need to be installed be-
cause IIR ships with a custom driver named ssaoci for Oracle access, which works on both Windows
and UNIX platforms. That is, IIR does not use the ODBC driver provided by Oracle.
Browsers
The HTTP server generates pages compatible with Netscape 4, Internet Explorer 5 and Firefox 1.0 (or
later versions)
8
Software Installation
Overview
The installation process is divided into four main steps:
Follow the product specific installation instructions to complete the installation process.
Instructions for the first three steps are found in the I NFORMATICA IR P RODUCT I NSTALLER manual.
The Post Installation steps are described in the following chapters of this manual.
9 SOFTWARE INSTALLATION
Post Installation Steps
Overview
The IIR server software components were installed by running the Informatica IR Product Installer.
Once copied to disk, various customizations must be performed to complete and verify the installation.
Creation of database objects (schema, tables, etc.) as described in the Database Configuration section
of this manual.
Configuration and testing of ODBC connections as described in the ODBC Configuration section of
this manual.
Database configuration
Ensure that the tasks described in the Database Configuration section of this manual have been com-
pleted.
If a new odbc.ini file was created, its validity must be tested by following the steps described in the
Testing Connectivity section of the ODBC Configuration chapter.
Select a Web-Browser
On UNIX platforms, edit $SSABIN/ssabrz and uncomment one of the statements that sets the envi-
ronment variable SSABRZ to an appropriate Web browser.
Regression Test
A short test is run to verify the installation by loading a predefined System and verifying its search and
synchronization results.
Once these tests have finished successfully, IIR is ready for user defined systems. For more detailed
information on running the Console Client/Server software, refer to the relevant sections in the O PER -
ATIONS manual.
Before conducting the Regression test, ensure that the license server is running. Refer to the instructions
in I NFORMATICA IR P RODUCT I NSTALLER manual to start the license server.
10
Windows
The Informatica IR Product Installer creates two shortcuts in the Informatica program group that
are used to run the regression test.
First, start IIR Server (Configure mode) followed by the IIR Console Client (Admin
mode). Follow the prompts and provide a user-id, password and service name (previously configured
in odbc.ini).
UNIX
IIR Server processes are launched in Configure Mode in order to run a predefined System and verify
its search and synchronization results.
First, establish environment variables as described in the Establishing an Environment section of the
UNIX Notes chapter of this manual.
Start a Console Client in Admin mode. If running the Console Client on a Win32 computer, start the
client as described in the Windows section above. If running the Console Client on the Unix computer,
run the following script:
$SSABIN/idsconc -a
When the Console Client starts for the first time, it will prompt for the user-id, password and service
name of the Rulebase to be used for the test.
Miscellaneous Topics
Enabling UDB
Support - post-priori The Informatica IR Product Installer creates a shortcut named "IIR Server - Start"
for launching the IIR Server. If UDB support was chosen, this shortcut will launch a batch file that starts
the IIR Server (idsup.bat) in a UDB command window (d2cmd.exe); For example:
C:\SQLLIB\bin\db2cmd.exe /C C:\InformaticaIR\bin\idsup.bat
C:\WINNT\system32\CMD.EXE /C C:\InformaticaIR\bin\idsup.bat
If UDB support is required at a later stage, this shortcut must be manually modified to launch the
db2cmd.exe instead of cmd.exe.
Miscellaneous Topics 12
Database Configuration
This chapter describes the steps required to prepare a database for use by IIR software. Before starting,
the following questions must be answered:
Which databases contain the User Source Tables to be indexed by IIR (known as a source-database)?
Is the Update Synchronizer to be used? The Update Synchronizer allows the IIR Tables to be kept
synchronized with the User Source Tables (see the I NTRODUCTION or O PERATIONS manual for more
information).
General Information
Terminology
Database objects (tables, indexes, triggers, etc.) accessed and created by IIR fall into two logical groups:
Source Database
Target Database
The source and target databases may be the same physical database, or they may be different, but we
make a distinction between them for this discussion.
The Source Database contains User Source Tables (UST). These are owned and maintained by an exist-
ing application system. IIR is used to create fuzzy indexes for these tables.
IIR accesses the USTs using a user id that has been given SELECT privileges on those tables. This user
id is known as the SSA_SRC user id in the following discussion. The SSA_SRC user id is specified in
the select_by or merge_from clauses to tell IIR how to connect to the Source Database.
If the IIR indexes are to be synchronized with changes made to the USTs using triggers, the SSA_SRC
user id will need privileges to create triggers on the USTs. The triggers will store information about
UST rows that have been added, deleted or updated into a Transaction Table. This table lives in the
Source Database in SSA_SRC’s schema.
The Target Database contains Identity Tables (IDT) and Identity Indexes (IDX). They are created and
maintained by IIR utilities using the SSA_TGT user id.
If the IDTs and IDXs are to be synchronized, a Two-Phase-Commit table is created in the SSA_TGT
schema.
The Table Loader and Synchronizer use the SSA_SRC user id to access the USTs and Transaction Table,
and the SSA_TGT user id to update the Target Database.
13 DATABASE CONFIGURATION
ODBC
IIR uses the ODBC protocol to access source and target databases. Only a limited subset of ODBC verbs
are required for unsynchronized source access, so most generic ODBC drivers will suffice.
Target support requires tables to be created and mass loaded using native DBMS utilities. These capa-
bilities require specific SQL dialects and DBMS extension features to be used. IIR currently supports
the use of Oracle, Microsoft SQL Server, UDB/DB2 and Sybase ASE for synchronized source / target
databases.
SQL scripts
SQL scripts are provided as a way of documenting the minimum set of privileges required. Since they
are generic samples, they must be customized before use to meet site specific standards.
The scripts use a default userid of SSA, hereafter known as the "SSA userid". If a different userid is to
be used, the scripts must be edited appropriately.
It is expected that the installation will be performed by an experienced DBA with the appropriate
authority to create users and assign privileges.
The SQL scripts are located in database specific directories in the server installation’s
%SSATOP%\dbscript\<db> directory, where <db> is ora, msq, syb or udb.
Please copy the scripts to another location prior to customizing them, since the original scripts may be
overwritten by updated versions when a Fix CD is applied.
The creation of Synchronizer objects for some databases is optional. However, if you intend to run
the standard regression test as part of the installation process (which is highly recommended to con-
firm that your installation is working correctly), the Synchronizer objects must be created because the
regression test will exercise the Update Synchronizer.
Oracle
IIR supports Oracle version 8.1.7 and above, although v9.2 (or above) is required to access Unicode
data.
IIR has been designed to use the Cost Based Optimizer (CBO). Some Oracle features that IIR uses only
work with the CBO (such as Index Organized Tables). Update Synchronization also requires the use of
CBO when accessing the User Source Tables, as the SQL is too complicated to be well optimized by the
Rule Based Optimizer (RBO).
If your existing applications have been optimized to use the RBO, you can enable CBO just for IIR by
setting the database initialization parameter Optimizer_Mode=Rule and collecting statistics for the
USTs. When IIR accesses the USTs, it specifies an optimizer hint of CHOOSE, so that if statistics exist,
it will use the CBO. Existing applications will continue to use the RBO due to the default set by the
initialization parameter.
Oracle 14
Creating Users and Tables
The Update Synchronizer requires access to various Oracle features: triggers, procedures, sequences
and tables. These are created by the supplied installation scripts.
The number of database objects created and privileges required depend on whether or not the database
is a source or target database, and whether synchronization is required. The following table shows
these dependencies:
DB Type /
Use Privileges IIR Objects 1 Created by
Source / CREATE SESSION -
NOSYNC SELECT ON TABLE (UST)
Target / CREATE SESSION IDS_FDT_META idstbora.sql
NOSYNC CREATE TABLE IDS_FDT_RECID idstbora.sql
UNLIMITED TABLESPACE IDS_RB_GROUPS idstbora.sql
IDS_CONV idsconv*.sql
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> Relate
Source / CREATE SESSION IDS_FDT_META idstbora.sql
NOSYNC CREATE TABLE IDS_FDT_RECID idstbora.sql
UNLIMITED TABLESPACE IDS_RB_GROUPS idstbora.sql
CREATE SEQUENCE IDS_UPD_SYNC_TXN updsyncu.sql
CREATE PROCEDURE <Triggers> Table Loader
CREATE ANY TRIGGER
SELECT ON TABLE
Target / CREATE SESSION IDS_FDT_META idstbora.sql
SYNC CREATE TABLE IDS_FDT_RECID idstbora.sql
UNLIMITED TABLESPACE IDS_RB_GROUPS idstbora.sql
IDS_2PC updsynci.sql
IDS_UPD_SYNC_NSA updsynci.sql
IDS_CONV idsconv*.sql
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> relate
1 This is not intended to be an exhaustive list. Only major components are listed. Refer to the scripts for a definitive list of
database objects created at install time. The O PERATIONS manual, Database Object Names section provides further details.
15 DATABASE CONFIGURATION
Creating Users on Source Databases
Create a new SSA_SRC user using the supplied script idsuseru.sql in each Source database. This is
the set of privileges required:
If the source tables are to be synchronized, the following privileges are also required:
The script must be modified to specify a user id, password and default table space. Replace the strings
#UID#, #PWD# and #TS# with the selected values.
The script may be modified to specify additional privileges and/or restrict the amount of table space
quota. The default is to grant unlimited table space quota.
The IIR System Loader creates triggers on the User Source Tables when it starts extracting data from
them. It connects to the Source database using the SSA_SRC user id. As the source tables are usually
owned by another user, the SSA_SRC user id must have CREATE ANY TRIGGER privilege (at least
while the Table Loader runs).
The SSA_SRC user id used to read User Source Tables requires SELECT privileges on those tables. Refer
to the D ESIGN G UIDE manual, User Source Table section for details.
If the IIR tables are to exist in a separate database from the User Source tables create a new SSA_TGT user
"ssa" in the target database using the supplied script idsuseri.sql. The set of privileges required
are:
The script must be modified to specify a user id, password and default table space. Replace the strings
#UID#, #PWD# and #TS# with the selected values.
The script may be modified to specify additional privileges and/or restrict the amount of table space
quota. The default is to grant unlimited table space quota.
Oracle 16
Creating IIR Control Objects
To create the IIR control objects, run the idstbora.sql script using the SSA_SRC or SSA_TGT
userid/password (as appropriate) for each
In each source database containing User Source Tables to be synchronized (even if the target tables are
in the same database),
Run the updsyncu.sql script with the SSA_SRC user id.
Note: The updsyncu.sql script should never be run against a UST database after the synchronizer
has been used to synchronize that UST database. Doing so will result in a loss of synchronization. The
Synchronizer can detect this situation and will issue an error message if this occurs.
Create public synonyms for the objects created in (i) to enable them to be shared. This is done by
running updsyncg.sql using a DBA user id (or any user id that has CREATE PUBLIC SYNONYM
authority). Before running this script, ensure that the SSA_SRC user id specified in the script (defaults
to "ssa") is correct.
In each target database to be synchronized, run the following script using the SSA_TGT user id:
updsynci.sql
In each target database, run one of the following scripts (dependent on your Oracle version) using the
SSA_TGT user id:
Prior to running these scripts, each one must be edited to adjust the CONNECT and SPOOL statements.
#SSA# must be replaced by the connection string of the target database (e.g. ssa/ssa@service).
#SSAWORKDIR# is the path to a directory that is to contain the log file.
Run the following scripts in each target database that will be searched using the PL/SQL Search API.
%SSABIN%\ssasep.sql
%SSABIN%\ssaseb.sql
%SSABIN%\ssasec.sql
Refer to the Calling from PL/SQL section of the D EVELOPER G UIDE manual for complete instructions.
17 DATABASE CONFIGURATION
Recommended Oracle Instance Parameters
UDB
UDB must be installed prior to the installation of IIR.
Two sets of scripts are provided and the appropriate set should be used based on your database plat-
form. The scripts are for
Database Parameters
UDF_MEM_SZ to at least 256. Note: with DB2 version 8, the UDF_MEM_SZ configuration parameter
became ASLHEAPSZ.
Collate Identity
When using UDB version 8, the COLLATE IDENTITY option must be enabled at database creation
time.
The Collation Sequence can be changed from its default value (System) to the required one (Identity),
with the Create Database Wizard or the command line.
At Step 6 (Specify the locale for this database), check Identity instead of System, which is the default.
UDB 18
Create a User
Create a new user "ssa" with password "SSA". As a UDB database server uses operating system au-
thentication, the user must be created using operating systems tools. The details of this process vary
from platform to platform. See your System Administrator for assistance.
The SQL scripts mentioned in the subsequent sections assume the userid is ’ssa’. If this userid is
changed each script will also need to be modified.
UDB has two bulk load mechanisms, LOAD and IMPORT. LOAD is the faster mechanism. By default
IIR uses the LOAD mechanism but this requires that the IIR user has one of the following privileges:
sysadm
dbadm
If you wish to use the IMPORT utility instead of the LOAD facility, the Loader-Definition option
of Conventional-Path must be specified in your SDF.
DB Type /
Use Privileges IIR Objects Created by
Source / CONNECT -
NOSYNC
Target / CONNECT IDS_FDT_META idstbudb.701
NOSYNC CREATETAB IDS_FDT_RECID idstbudb.701
LOAD IDS_RB_GROUPS idstbudb.701
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> Relate
Source / CONNECT IDS_FDT_META idstbudb.701
SYNC CREATETAB IDS_FDT_RECID idstbudb.701
LOAD IDS_RB_GROUPS idstbudb.701
IDS_UPD_SYNC_TXN updsyncu.701
<Triggers> Table Loader
Target / CONNECT IDS_FDT_META idstbudb.701
SYNC CREATETAB IDS_FDT_RECID idstbudb.701
LOAD IDS_RB_GROUPS idstbudb.701
ALTER IDS_2PC updsynci.701
IDS_UPD_SYNC_NSA updsynci.701
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> relate
19 DATABASE CONFIGURATION
Creating Tables
In each database that will hold either IIR Tables or User Source Tables run the idstbudb.xxx, the
updsyncu.xxx and the updsynci.xxx scripts with the SSA userid to create the IIR control tables
and the Update Synchronizer tables. For example, the idstbudb.sql script would be run as:
Note: Unlike Oracle, the udbsyncu.sql and udbsynci.sql scripts need to be run against all UDB
databases regardless of whether they are source or target, synchronized or not. Otherwise, errors will
occur at bind time.
Note: The udbsyncu.sql script should never be run against a UST database after the synchronizer
has been used to synchronize that UST database . Otherwise a loss of synchronization will result.
Select Privileges
The userid used to access User Source Tables must be granted SELECT privileges on those tables. Refer
to the D ESIGN G UIDE manual, User-Source-Table section for details.
If the source tables are to be synchronized, then the userid must be granted ALTER privileges as well.
Install the User Defined Function (UDF) on all source and target databases.
To allow IIR to synchronize with the source database, it is necessary for a source environment to be
configured to run triggers and stored procedures/user defined functions.
Note: The installation process on UNIX platforms requires the use of some environment variables
which are defined later in the install process. This step should be deferred until you are instructed to
perform this step in the UNIX Installation section of the manual. It is documented here to ensure that
the UDF installation procedure is in only one place in the manual.
Windows
Copy the dynamic load library ssaudf16.dll from the lib directory on the installation CD to
the UDB server’s shared library directory (which is called function and is normally found under
sqllib).
UNIX
Copy the shared library ssaudf16 found in the lib directory of the installation to UDB’s shared
library directory. (You can pick up the environment variable DB2DIR by running db2profile.) For
example:
cp $SSALIB/ssaudf16 $DB2DIR/function
UDB 20
ODBC / CLI Driver
A UDB/DB2 CLI driver must be installed. Refer to the relevant UDB/DB2 manuals for full details.
UNIX
Edit the db2cli.ini file, which can be found in $INSTHOME/cfg. Add the following lines:
[data-source]}
DBALIAS=alias}
where data-source is the name of your data source and alias is the database alias as you would
specify it on a db2 connect statement.
Windows
Push Add. . .
Select IBM DB2 ODBC from the list of possible database sources
Input your data source name, database alias and an optional description. Press OK
When using UDB for the first time, you may encounter some problems as a result of an incomplete
UDB installation.
Check that the UDF has been copied in the function directory and that the library path is correctly set
to include the correct lib directory.
21 DATABASE CONFIGURATION
SQL Code -1224
The database agent was not forced off by the system admin
The database manager has not already allocated the maximum number of agents
The database agent was not terminated due to an abnormal termination of a key database manager
process.
The following instructions allow you to connect to your local machine as though it was a remote client.
On the client:
code db2 catalog tcpip node <NodeName> remote <hostname> server db2cDB2
The server name must match the name of the DB2 connection port service which you specified in
/etc/services.
(this will prevent the SQL1334N error that can occur when the database name is the same as the
database alias)
db2stop
db2start
UDB 22
DB2 on z/OS
IIR supports DB2 on z/OS as a source database only. Two User Defined Functions (UDF) are provided
in a dataset file named ssa.xmit.ids901.ssaudf. This file is not supplied as part of the standard
release package and must be requested from Global Customer Support if required.Transfer the dataset
to your mainframe system using ftp in binary mode. For example
Note: When using the z/OS ftp client, use the LOCSITE command instead of "quote site".
The dataset is provided in TSO TRANSMIT format and must be unpacked using the TSO RECEIVE
command. For example:
Alternatively, the TSO command may be run from JCL by invoking the TSO interpreter IKJEFT1A. For
example:
Now copy the two PDS members (named SSAUDF and II4TOUL) into the appropriate DB2 load library
(probably called DB2HLQ.RUNLIB.LOAD) so that they can be called by DB2.
Two sets of scripts are provided and the appropriate set must be used depending on your Microsoft
SQL Server version:
23 DATABASE CONFIGURATION
Create a User
Create a new user named "ssa" with a password of "ssa". The user must not be a database owner. A
database owner is any member of the
tables created by them will appear in the database as if they were created by user dbo. If the ssa user is
a database owner, the IIR will not be able to find any database objects that it creates.
The ssa user will need to create tables and stored procedures. Use Enterprise Manager to set up the
necessary authority by right clicking on Database | Properties | Permissions. Check "Create
Table" and "Create SP".
The IIR Table Loader creates triggers on the User Source Tables. Therefore, the ssa userid used to
access the USTs requires the db_ddladmin role to allow it to issue DDL commands.
SQL Server 2005 users will need to create a schema named ssa and define it to be the default schema
for user ssa.
An ODBC Data Source must be defined on the machine that the Search Server will be running on to
allow it to connect to SQL Server. It is defined with the ODBC Data Source Administrator, which is
usually started from Control Panel | Administrative Tools | Data Sources (ODBC).
To create an ODBC Data Source, select the "User DSN" tab and click Add. If an "SQL Server" driver is
not on the list of available drivers, ensure that Microsoft SQL Server client software has been installed
on the machine.
Specify a Data Source Name. This name is known as the "Service Name" in IIR terminology.
Specify the "SQL Server authentication" option, connecting as user ssa.
Specify a "default database" for the user.
Ensure that "Use regional settings when outputting currency, numbers, dates and times" is not
checked.
Verify that the user can connect by clicking "Test Data Source. . . "
All access to database servers is via ODBC, with the exception of the IIR Table Loader that bypasses
ODBC to directly load data into the Microsoft SQL Server. ODBC Data Sources need to be created for
each database server / database that you wish to access.
Permissions
The ssa user must have select permission on all User Source Tables that your systems will access.
To grant select permission, launch Enterprise Manager, locate the table(s) under the databases folder,
right click on Properties for the table(s), then the Permissions tab. Check the select permission for
the ssa user.
DB Type /
Use Roles IIR Objects Created by
Source / db_datareader -
NOSYNC
Target / db_datareader IDS_FDT_META idstbmsq.sql
NOSYNC db_datawriter IDS_FDT_RECID idstbmsq.sql
db_ddladmin IDS_RB_GROUPS idstbmsq.sql
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> Relate
Source / db_datareader IDS_FDT_META idstbmsq.sql
SYNC db_datawriter IDS_FDT_RECID idstbmsq.sql
db_ddladmin IDS_RB_GROUPS idstbmsq.sql
IDS_UPD_SYNC_TXN msqsyncu.sql
IDS_UPD_SYNC msqsyncp.sql
<Triggers> Table Loader
Target / db_datareader IDS_FDT_META idstbmsq.sql
SYNC db_datawriter IDS_FDT_RECID idstbmsq.sql
db_ddladmin IDS_RB_GROUPS idstbmsq.sql
ALTER IDS_2PC msqsynci.sql
IDS_UPD_SYNC_NSA msqsynci.sql
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> relate
Create Tables
Two sets of scripts are supplied for use with Microsoft SQL. One set is for Microsoft SQL 2000, and
ends with the extension ".sql". The other set is for Microsoft SQL 2005 and 2008 and ends with the
extension ".msq".
Several scripts must be customized and run to create control tables for IIR.
25 DATABASE CONFIGURATION
In each database that will hold either IIR Tables or User Source Tables run the idstbmsq.sql script
where -U represents the SSA userid, -P is the corresponding password and -S is the Microsoft SQL
Server name.
Do this in each database containing User Source Tables to be synchronized (even if the IIR Tables are in
the same database).
Warning: The table ’IDS\_FDT\_META’ has been created but its maximum row
size (9171) exceeds the maximum
number of bytes per row (8060). INSERT or UPDATE of a row in this table
will fail if the resulting row
length exceeds 8060 bytes.
Customize the msqsyncp.sql script by modifying the INSERT statement at the end of the
script to change the database name from "master" to the database containing the tables created by
msqsyncu.sql. The stored procedure is run by the users who update the source tables that have IIR
triggers on them. As these users may or may not have the same default database as SSA, the database
is explicitly identified in the stored procedure.
Run the msqsyncu.sql and msqsyncp.sql scripts with the SSA userid in each Source database.
Run the msqsynci.sql script with the SSA userid in each Target database that will be synchronized.
Note: msqsyncu.sql should never be run against a UST database after the synchronizer has been
used to synchronize that database. Doing so will result in a loss of synchronization.
Sybase ASE
IIR supports Sybase ASE 12.5 and above. Sybase must be installed prior to the installation of IIR.
Create a User
Create a new SSA_SRC user in each Source database. The supplied script, sybuseru.sql, may be
used for this purpose.
This user must not be a database owner. A database owner is any member of the
Database owners are mapped to the special user called dbo and any tables created by them will appear
in the database as if they were created by user dbo. If the ssa user is a database owner, the IIR will not
be able to find any database objects that it creates.
Sybase ASE 26
Create Tables
Several SQL scripts must be customized and run to create control tables for IIR.
In each database that will hold either IIR Tables or User Source Tables run the idstbsyb.sql script
where -U represents the SSA userid, -P is the corresponding password and -S is the Sybase ASE Server
name.
Do this in each database containing User Source Tables to be synchronized (even if the IIR Tables are in
the same database).
Warning: Row size (9163 bytes) could exceed row size limit, which is 8108
bytes.
Customize the sybsyncp.sql script by modifying the two INSERT statements at the end of the
script to change the database name and user from "master.ssa" to the database and user containing
the tables created by sybsyncu.sql. The stored procedure is run by the users who update the source
tables that have IIR triggers on them. As these users may or may not have the same default database
as SSA, the database is explicitly identified in the stored procedure.
Run the sybsyncu.sql and sybsyncp.sql scripts with the SSA_SRC userid in each Source
database.
Run the sybsynci.sql script with the SSA_SRC userid in each Target database that will be syn-
chronized.
Note: sybsyncu.sql should never be run against a UST database after the synchronizer has been
used to synchronize that database. Doing so will result in a loss of synchronization.
The number of database objects created and privileges required depend on whether or not the database
is a source or target database, and whether synchronization is required. The following table shows
these dependencies:
DB Type /
Use Privileges IIR Objects 2 Created by
Source / -
NOSYNC
Target / CREATE TABLE IDS_FDT_META idstbsyb.sql
NOSYNC IDS_FDT_RECID idstbsyb.sql
IDS_RB_GROUPS idstbsyb.sql
table continued on next page
2 This is not intended to be an exhaustive list. Only major components are listed. Refer to the scripts for a definitive list of
database objects created at install time. The O PERATIONS manual, Database Object Names section provides further details.
27 DATABASE CONFIGURATION
table continued from previous page
DB Type /
Use Privileges IIR Objects Created by
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> Relate
Source / CREATE TABLE IDS_FDT_META idstbsyb.sql
NOSYNC CREATE PROCEDURE IDS_FDT_RECID idstbsyb.sql
IDS_RB_GROUPS idstbsyb.sql
IDS_UPD_SYNC_TXN sybsyncu.sql
IDS_UPD_SYNC_IDENT sybsyncu.sql
3
<Triggers> Table Loader
Target / CREATE TABLE IDS_FDT_META idstbsyb.sql
SYNC CREATE PROCEDURE IDS_FDT_RECID idstbsyb.sql
IDS_RB_GROUPS idstbsyb.sql
IDS_2PC sybsynci.sql
IDS_UPD_SYNC_NSA sybsynci.sql
<Rulebase> Console
<IDTs> Table Loader
<IDXs> Table Loader
<IDLs> relate
The Target database must have the select into/bulkcopy/pllsort option enabled. This can be
done using the sp_dboption utility.
An ODBC Data Source must be defined on the machine that the Search Server will be running on, one
for each Sybase ASE server that the Search Server will connect to.
Windows
On Windows an ODBC Data Source is defined by using the ODBC Data Source Administrator, which
is usually started from Control Panel | Administrative Tools | Data Sources (ODBC).
To create an ODBC Data Source, select the "User DSN" tab and click Add.
3 In the case of Sybase ASE, Triggers are not automatically added by the Table Loader. Instead, Table Loader writes the
required Trigger code to a text file. The DBA is responsible for incorporating this generated code into the Source Table’s triggers.
Sybase ASE 28
Select "Adaptive Server Enterprise" from the list of available drivers and click Finish. (If an "Adaptive
Server Enterprise" entry is not in the list of available drivers, ensure that Sybase ASE client software
has been installed on the machine.)
In the tabbed dialog which is presented next, most defaults are suitable, but you must:
Specify a Data Source Name. This name is known as the "Service Name" in IIR terminology.
All access to database servers is via ODBC, with the exception of the IIR Table Loader that bypasses
ODBC to directly load data into the Microsoft SQL Server. ODBC Data Sources need to be created for
each database server / database that you wish to access.
Unix
On Unix an ODBC Data Source is defined by modifying the file odbc.ini in the directory $SYBASE.
(i.e. the top level directory where the Sybase ASE client software is installed, e.g. /opt/sybase). An
entry must be added to this file for each Data Source to be used. Here is a sample entry:
[sybase_dsn]
description=Sybase ASE 15.0 On SSA55
server=SYB150LINX86
port=5000
server and port define the connection parameters to be used by the ASE ODBC Driver to connect to
the ASE Server.
The ODBC drivers for your DBMS must be installed and configured appropriately prior to the installa-
tion of IIR. %SSABIN%\odbc.ini must be configured to include an entry for each Data Source Name.
Refer to section ODBC Configuration on page 30.
29 DATABASE CONFIGURATION
ODBC Configuration
IIR uses ODBC to access source and target databases. At run time, the database layer will attempt
to load an appropriate ODBC driver for the type of database to be accessed. The name of the
driver is determined by reading a file named odbc.ini and locating a configuration block match-
ing the database service specified in the connection string. For example, the database connection string
odb:99:scott/tiger@ora920 refers to a service named ora920.
A configuration block for ora920 might look like this. The service name appears in square brackets:
[ora920]
ssadriver = ssaoci9
ssaunixdriver = ssaoci9
server = ora920.mydomain.com
The odbc.ini file is located by searching a list of directories, specified using environment variables,
in the following order:
1. ODBCINI
2. HOME
3. SSABIN
We recommend creating the primary configuration file in SSABIN and using ODBCINI or HOME as
overrides, if necessary.
Syntax
A configuration block has the following form:
[Service_Name]
DataSourceName = ODBC_DSN
ssadriver = ODBC_Driver
ssaunixdriver = ODBC_Driver
server = Native_DB_Service
where
Service_Name is the name of the service used in the IIR connection string. That is, the name following
the @ symbol. Service_Name is an arbitrary name (user selectable).
ODBC_DSN is the Data Source Name (DSN) defined in your ODBC configuration. It is an optional
parameter. If not specified, ODBC_DSN defaults to Service_Name. All database drivers, except Oracle,
require a valid DSN. Therefore, if this parameter is omitted, Service_Name must be a valid DSN.
ODBC_Driver is the name of the ODBC driver used to communicate with the DSN. The driver name
must not include a path or extension (or lib prefix on UNIX). The directories containing the driver and
its dependent libraries must be included in your path. The ssadriver tag is used to specify the name
of the Windows version of the driver, whereas ssaunixdriver is used on UNIX platforms.
30
Native_DB_Service is the name of the database service configured in your DBMS setup. IIR specifies
the Native_DB_Service name when running database utilities (such as the command line SQL processor
and Mass-Loader) which connect to the database using proprietary DB protocols instead of ODBC.
For Oracle databases, use the Net*8 TNS alias name defined in tnsnames.ora. For UDB, specify a
Database Alias from the list displayed by db2 list database directory and for MSQ/Sybase,
use the server name associated with the -S parameter of the bcp utility.
A sample configuration file named odbc.ini.ori is found in the bin directory of the Server compo-
nents installation.
ODBC Drivers
Most DBMSs provide a generic ODBC driver for data access. In some cases, drivers are not available
on all platforms. For example, Oracle does not provide an ODBC driver for UNIX platforms, despite
shipping one for Windows. Microsoft’s ODBC Driver and Driver Manager are only available on the
Windows platform. UDB provides drivers for both Windows and UNIX (although named differently),
but no Driver Manager.
To solve these problems, IIR provides
Installing and configuring ODBC drivers is platform and database dependent. Unless the driver is
provided by IIR (as is the case for Oracle), you should follow the instructions provided by your database
manufacturer in order to install them.
On Windows platforms, use Control Panel | Administrative Tools | Data Sources
(ODBC) to create a DSN and associate it with a driver and database server.
Oracle
Oracle 10g
When using the ssaoci9 driver with Oracle 10g client software, the connectivity test (see Testing Con-
nectivity below) may fail on some UNIX platforms. This occurs because the driver has been linked
with libclntsh.so.9.0, which is not distributed with Oracle 10g. Oracle normally provides back-
ward compatibility by adding symbolic links to redirect requests for older versions of the library to the
current version. Unfortunately, by default, this practice is restricted to minor versions only (e.g. 9.0
⇒ 9.2). To overcome the problem, locate the appropriate Oracle lib directory (lib, lib32 or lib64)
and add a symbolic link. This allows the dependency for libclntsh.so.9.0 to be satisfied by the
current Oracle 10 client library (which is compatible). For example,
cd $ORACLE_HOME/lib32
ln -s ./libclntsh.so libclntsh.so.9.0
31 ODBC CONFIGURATION
Example Configuration
[ora10g]
ssadriver = ssaoci9
ssaunixdriver = ssaoci9
server = ora10g.mynet8tns.name
Microsoft provides a Windows ODBC driver named sqlsrv32. It is configured by adding a new Data
Source Name (DSN) using Control Panel | Administrative Tools | Data Sources (ODBC).
Refer to the appropriate Microsoft manuals for specific details.
The ODBC_Driver name is sqlsrv32 and the Native_DB_Service is the server name (-S parame-
ter of the osql and bcp utilities).
[production]
DataSourceName = msq2003
ssadriver = sqlsrv32
server = mySQLServer
The SQL Server Native Client (sqlncli.dll) may be used as an alternative driver.
Sybase
Sybase provides ODBC drivers, named sybdrvodb, for multiple platforms. Refer to the appropriate
Sybase manuals for installation specifics.
[production]
DataSourceName = ase150
ssadriver = sybdrvodb
ssaunixdriver = sybdrvodb
{server = mySybaseServer
UDB
IBM provides ODBC drivers for both Windows and UNIX platforms, named db2cli and db2 respec-
tively. Basic installation instructions are found in the ODBC / CLI Driver section of the UDB Pre-
requisites chapter this manual. Refer to your UDB manual set for full details.
[test-udb]
DataSourceName = udb8
ssadriver = db2cli
ssaunixdriver = db2
server = UDB_database_alias
ODBC Drivers 32
Drivers on AIX platforms
On AIX platforms the UDB driver is libdb2.a(shr.o) for 32 bit installations and
libdb2.a(shr_64.o) for 64 bit installations.
Testing Connectivity
The dblist utility may be used to test your ODBC configuration by connecting to a database whose
connection string is provided with the -d parameter. An example of the output associated with a
successful connection appears below:
$SSABIN/dblist -c -dodb:99:ssa/SSA@ora920
Maximum connections per module: 1024
Linked databases: odb: sdb:
Driver Manager: ’Informatica ODBC Driver Manager <revision>’
ODBC Driver: ’ssaoci9 SSADB8 2.7.0.00GCCLIBC2Feb 1 2010 14:22:57’
DBMS Name: ’Oracle DBMS (9.2.0.6.0)’
Native DB type: ’ora’
*** Connection successful ***
Database Connections
IIR uses a modular architecture to overcome connection limits. The database module, named
libssadbm.so, supports a fixed number of connections, typically 1024. However, it may be copied
using the naming convention outlined below, to provide additional connections. n copies of the mod-
ule will support n times the connections supported by a single copy. The copies must be named
libssadbmnnn.so (or .sl on HP-UX PA-RISC machines) where nnn=001, 002,. . .
To determine how many connections a single module provides, run $SSABIN/dblist -c. For exam-
ple:
$SSABIN/dblist -c
Maximum connections per module: 1024
Linked databases: odb: sdb:
Based on the example above, if support for 3000 connections is required, two additional copies should
be made:
cp $SSABIN/libssadbm.so $SSABIN/libssadbm001.so
cp $SSABIN/libssadbm.so $SSABIN/libssadbm002.so
33 ODBC CONFIGURATION
UNIX Notes
Establishing an environment
All scripts require a valid environment. To establish one, please perform the following steps:
POSIX compliant shells may terminate the script when any undefined environment variables
are referenced. If this occurs, add the command set +u as the second line of the script and
source it again.
$SSABIN/ssapid $$
You should see output containing a process-id and some additional system dependant information. For
example:
735024109 -bash
If nothing is shown then the utility did not work. One likely reason for this is that a non-standard ps
utility was found in your search PATH before the standard UNIX ps utility. If the system does not have
a ps utility that supports the -p option, then the ssapid script should be modified to suit your ps
utility. Please contact Informatica Corporation Technical Support if this is the case.
Uninstall
On UNIX platforms, run the script $SSATOP/uninstall to remove the installation directory. Indi-
vidual sub-products cannot be removed separately.
Note: All servers and utilities must be shut down prior to uninstalling the software.
34
Index
AIX, 5
Bind, 20
Configure Mode, 10
HP-UX, 5
Solaris, 5
SQL Code
-1224, 21
-444, 20
SSA_SRC
user id, 12
SSA_TGT
user id, 12
ssapid, 33
UDB, 5, 10, 17
User Defined Function, 19
35