PeopleTools : Comment se connecter à une base Oracle ?

Le mécanisme général de connexion avec l’outil de développement PeopleTools à la base Oracle s’établit en 2 phases :
1) Une première connexion s’établit avec un user Oracle , le connect ID (par défaut people/peop1e) qui n’a accès en select qu’à quatre tables:

  • PSDBOWNER
  • PSSTATUS
  • PSOPRDEFN
  • PSACCESSPRFL

et dont la table PSACCESSPRFL contient un login/password d’un user Oracle :  l’Access ID.

2) Après déconnexion du connect ID , il faut se connecter à nouveau avec le user Oracle Access Id , qui sera le user Oracle de la base PeopleSoft utilisé pour développer. Par défaut, l’ Access ID est l’Owner ID du principal schéma de la base PeopleSoft.

Quels sont les problèmes que vous pouvez rencontrer ?

1. Problème de ConnectID invalide

Ci-dessous un exemple de connection à la base avec le connect ID (user Oracle people/peop1e) (ici HCM91 est le SERVICE_NAME du tnsnames.ora)
Analyse de la trace SQL depuis l’outil PeopleTools sur le poste client avec résolution des problèmes possibles:

1-1 15.25.46 Tuxedo session opened {oprid='PS', appname='TwoTier', addr='//TwoTier:7000', open at 04C5D950, pid=2904}
1-2 15.25.48 2.027000 Cur#0.2904.HCM91 RC=0 Dur=0.148000 Create Connection Info=Primary/HCM91/people/ Handle=04C7C5F0

erreur1Psoft
Solution : Si il y a un problème à ce niveau, votre paramétrage dans l’outil Configuration Manager du connect ID n’est pas bon : il faut donc lancer le Configuration Manager Client est saisir les bonnes valeurs de connectid/password. Si vous ne les connaissez pas, une seule solution , se procurer le SYSADM/SYSADM du schéma, et se connecter en sqlplus (ou sqldeveloper ou autres outils) pour récupérer ou changer le password du connectID. Notez que le message d’erreur n’est pas très explicite.

1-3 15.25.48 0.006000 Cur#1.2904.notSamTran RC=0 Dur=0.006000 Open Cursor Handle=04C7C5F0
 1-4 15.25.48 0.000000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 COM Stmt=SELECT OWNERID FROM PS.PSDBOWNER WHERE DBNAME=:1
 1-5 15.25.48 0.000000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 Bind-1 type=2 length=5 value=HCM91

==> Récupération de l’OWNERID du schéma principal de PeopleSoft :

select  *  from PS.PSDBOWNER;
DBNAME   OWNERID
 -------- --------
 HCM91    SYSADM                
1 rows selected

Notez qu’une base PeopleSoft est une instance Oracle , et en général, en production, ne contient qu’un seul schéma « principal » (il existe cependant deux autres schémas : PS qui ne contient qu’une seule table PS.PSDBOWNER, ainsi que le schéma du connectId (people/peop1e)).  En développement, une même Base/Instance Oracle PeopleSoft peut contenir éventuellement plusieurs schémas principaux.

2. Problème avec la version des PSTOOLS

1-6 15.25.48 0.008000 Cur#1.2904.HCM91 RC=0 Dur=0.005000 COM Stmt=SELECT OWNERID, TOOLSREL, TO_CHAR(LASTREFRESHDTTM,'YYYY-MM-DD HH24:MI:SS'), TO_CHAR(LASTCHANGEDTTM,'YYYY-MM-DD HH24:MI:SS') FROM SYSADM.PSSTATUS

==> Vérification dans SYSADM.PSSTATUS de la version des tools ==> Ce problème survient si la version de Tools n’est pas la même que l’éxécutable de l’outil de développement PeopleTools (pside.exe).
Solution : Pas de solution, vous avez un outil de développement qui n’est pas aligné avec la version Tools de la base de données, il vous fait donc réinstaller la bonne version de pside.exe par exemple.

3. Problème avec la version le mot de passe et/ou le symbolicID

1-7 15.25.48 0.001000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 COM Stmt=SELECT DBID FROM SYSADM.PSSTATUS
1-8 15.25.48 0.002000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 COM Stmt=SELECT VERSION, OPERPSWD, ENCRYPTED, SYMBOLICID, ACCTLOCK FROM SYSADM.PSOPRDEFN WHERE OPRID = :1

==> Il faut vérifier que votre login/password de l’utilisateur Peoplesoft utilisé à la connexion existe bien dans la tables des opérateurs (utilisateurs) PeopleSoft (PSOPRDEFN). Ensuite, vous devez récupérer le Symbolic ID (qui va permettre de récupérer l’accessID). A noter, que , en général, tous les users applicatifs PeopleSoft ont le même symbolic ID.
==> A ce niveau, il peut y avoir un problème, à savoir que le password de l’user Psoft dans PSOPRDEFN n’est pas encrypté : exécutez alors un UPDATE OPERSWD , ENCRYPTED avec votre nouvelle valeur de password en CLAIR , et le champ ENCRYPTED = 0. Puis, lancez datamover en mode ‘boot strap’ (cela veut dire en se connectant à datamover en AccessID), et tapez la commande :

encrypt_password nomdevotreuser ;

Si la connexion se déroule correctement voici un exemple de log :

1-9 15.25.48 0.000000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 Bind-1 type=2 length=2 value=PS
1-10 15.25.48 0.007000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 COM Stmt=SELECT ACCESSID, ACCESSPSWD, ENCRYPTED FROM SYSADM.PSACCESSPRFL WHERE SYMBOLICID = :1
1-11 15.25.48 0.000000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 Bind-1 type=2 length=7 value=SYSADM1

==> Récupération dans la table PSACCESSPRFL de l’accessID/Password (qui sont encryptés).

1-12 15.25.48 0.004000 Cur#1.2904.HCM91 RC=0 Dur=0.000000 Disconnect

==> Déconnexion de la base du connect ID.

1-13 15.25.48 0.003000 Cur#0.2904.notSamTran RC=0 Dur=0.002000 Destroy Connection Handle=04C7C5F0
1-14 15.25.48 0.037000 Cur#0.2904.HCM91 RC=0 Dur=0.037000 Create Connection Info=Primary/HCM91/SYSADM/ Handle=04C7C5F0

==> Connexion à la base PeopleSoft en Access ID .
Noter que dans cette installation, l’accessID = SYSADM est donc l’OWNERID . Certains DBAs ne désirent pas que l’user Oracle soit l’Ownerid , il faut donc créer un user Oracle avec les mêmes droits que l’OwnerID et mette à jour la table PSACCESSPRFL.
Si vous voulez en savoir plus, vous pouvez suivre ce lien qui donne accès aux PeopleBooks :
http://docs.oracle.com/cd/E17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

1 réflexion sur “PeopleTools : Comment se connecter à une base Oracle ?”

Les commentaires sont fermés.