1 juin 2014

Configuration des services PowerCenter dans l'Admin Console

Nous avons vu dans les articles précédents comment installer les clients et le serveur PowerCenter. Une fois les opérations d'installation terminées, l'administrateur pourra se connecter à la console d'administration ou utiliser la commande infacmd afin de commencer la création et la configuration des services nécessaires au bon fonctionnement des modules PowerCenter.
Nous allons décrire dans cet article la création des deux services nécessaires à la création et à l’exécution des jobs ETL:
- Repository Service
- Integration Service

Création du Repository Service:
Avant de créer un Repository Service, nous avons besoin d'un schéma de base de données pour les tables du Repository. Dans notre exemple, nous créons un schémas INFA_REP1 avec les privilèges suivants :
CREATE SESSION 
UNLIMITED TABLESPACE 
CREATE TABLE 
CREATE CLUSTER 
CREATE VIEW 
CREATE SEQUENCE 
CREATE PROCEDURE 
CREATE TRIGGER 
CREATE TYPE 
CREATE OPERATOR  
CREATE INDEXTYPE
 SQL:
 CREATE USER INFA_REP1
  IDENTIFIED BY <password>
  DEFAULT TABLESPACE USERS
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for INFA_REP1
  GRANT RESOURCE TO INFA_REP1;
  GRANT CONNECT TO INFA_REP1;
  ALTER USER INFA_REP1 DEFAULT ROLE ALL;
  -- 11 System Privileges for INFA_REP1
  GRANT UNLIMITED TABLESPACE TO INFA_REP1;
  GRANT CREATE INDEXTYPE TO INFA_REP1;
  GRANT CREATE OPERATOR TO INFA_REP1;
  GRANT CREATE TYPE TO INFA_REP1;
  GRANT CREATE TRIGGER TO INFA_REP1;
  GRANT CREATE SEQUENCE TO INFA_REP1;
  GRANT CREATE TABLE TO INFA_REP1;
  GRANT CREATE SESSION TO INFA_REP1;
  GRANT CREATE PROCEDURE TO INFA_REP1;
  GRANT CREATE CLUSTER TO INFA_REP1;
  GRANT CREATE VIEW TO INFA_REP1;
Nous utilisons la console d'administration pour créer le Repository Service INFA_REPSER1:
Nous configurons ensuite notre service:
Cliquer sur "Create"
Le contenu est créé et le Repository Service est en marche.

Remarques : 
- Il est tout à fait possible de créer le Repository Service en ligne de commande en utilisant la commande CreateRepositoryService de l'utilitaire Infacmd:
Syntax : infacmd CreateRepositoryService ... -so option_name=value option_name=value ...
- L'option "Enable version control" est à cocher si l'on souhaite que le versionning soit opérationnel (Check-in, Check-Out, View History...).
- On peut choisir de créer le contenu du Repository (tables, vues ...) immédiatement ou le créer plus tard en utilisant le menu Actions >> Create Contents:
 
- Le nom du Repository est le même que le nom du Repository Service.
- Si le compte INFA_REP1 n'a pas les privilèges nécessaires pour créer les objets de base de données et que l'on choisit de créer le contenu du Repository, une erreur survient lors de la création du contenu:
  
Il faudra affecter les bons privilèges à INFA_REP1 et recréer le contenu comme décrit ci-dessus.

Création de l'Integration Service: 
Pour créer l'Integration Service, il faut aller dans le menu Create >> Integration Service:
Il faut ensuite associer l'Integration Service à un Repository Service et choisir le mode de mouvement des données (ASCII ou UNICODE):
Choisir ensuite le code page :
 
Puis OK, l'IS est créé.

Problème d'incompatibilité de code page:
Si le code page choisi pour l'IS est incompatible avec celui du Service Process, l'IS ne démarre pas et renvoie l'erreur suivante:
En regardant dans la log, le message d'erreur est assez explicite:

LM_36011
Code page mismatch. Service process is running in code page [MS Windows Latin 1 (ANSI), superset of Latin1] whereas the service is configured in the Admin Console to run in code page [UTF-8 encoding of Unicode]
Il faut donc changer le code page de l'IS pour coller à celui du Service Process. Dans notre cas le code page est Windows Latin 1 puisque nous sommes sur du Windows. L'IS doit donc avoir le code page  Windows Latin 1:


2 commentaires:

  1. Merci pour ce Tutoriel, m'a beaucoup aidé pour l'installation de d'informatica v8.6.0 sur Windows7, je suis bloqué à l'étape de configuration du Repository Service.
    J'utilise Oracle XE 11g
    Le message d'erreur est : "An exception has occured. The Database connection details for service are invalid. Please check the log for details"
    Problème de : Connect string : XE
    Merci pour aide.
    Cdt

    RépondreSupprimer
  2. Bonjour,
    Désolé pour le retour tardif. Je pense qu'au moment où je vous répond, vous avez déjà trouvé la solution :)

    Vérifiez que l'Alias XE est bien présent comme entrée dans le fichier de config du client Oracle tnsnames.ora, comme suivant :
    XE =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXX)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = XE)
    )
    )

    Bon courage,
    Lhoussine

    RépondreSupprimer