Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Migration base AS400


Sujet :

AS/400

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 33
    Points : 30
    Points
    30
    Par défaut Migration base AS400
    Bonjour à tous,

    Dans le cadre d'une mise en place de procédure pour avoir la main sur la migration d'un AS400, je cherche une solution souple permettant de pouvoir effectuer la migration en plusieurs passes si nécessaire. Notre AS400 est de version v5r4, je crois qu'il s'agit de langage DB2 400, et nous souhaitons migrer sa BDD (une partie seulement dans un premier temps) au fur et à mesure. D'où le besoin de créer une procédure abordable et apte à être réutilisée par d'autres intervenants... Si possible qui puissent récupérer les contraintes et indexations.
    On migre vers une instance Oracle 11g qui ne me pose aucun problème actuellement.

    Gros bémol, je travail directement sur la PROD... et je découvre la machine AS400.

    J'étudie plusieurs pistes pour le moment, la solution Ispirer SQLway (mais la demo n'écrit pas dans ma base Oracle), Gammasoft (mais je ne suis qu'en pourparler), SQL developer (mais je ne trouve pas de JDBC réussissant à pointer mon AS400).

    Je cherche aussi en parallèle une prestation qui nous monterais une procédure pour que l'on puisse être autonome.

    J'espère que quelqu'un saura être de bon conseil et me sortir de cette melasse.

    Par avance, merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 485
    Points : 648
    Points
    648
    Par défaut
    Bonjour,

    Même si je ne pourrais surement pas t'aider de bout en bout, il y a des choses à savoir.
    Comment sont définis les fichiers ? DDS ou SQL ?
    DDS, tu auras bien plus de soucis car tu devras d'abord réécrire les fichiers en SQL. Ce qui n'est pas forcément évident s'il y avait des logiques pointant sur les fichiers physiques. Peut être que des outils se chargent de çà, je ne les connais pas.
    Définis en SQL, tu n'auras pas beaucoup de soucis. Il suffira d'exporter tes fichiers au format .SQL (Operations Navigator fait çà) et de réimporter (en adaptant la syntaxe éventuellement).
    La base est effectivement au format DB2/UDB.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2002
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    il existe de multiples solutions.

    Pour commencer, un driver JDBC de type 4 pour l'IBM i (AS400) est disponible ici : http://sourceforge.net/projects/jt400/
    voir le fichier jt400.jar
    Avec ceci, n'importe quel outil d'extraction de données doit être capable de se connecter.

    Ensuite, la "BD" existante peut être écrite dans un langage DDS propriétaire, mais il est possible de créer les équivalences SQL, avec quelques contraintes.


    Cordialement,
    Nathanaël

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Expertise IBM i. Formation, Audit, Conseil, Sécurité
    Inscrit en
    février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Expertise IBM i. Formation, Audit, Conseil, Sécurité

    Informations forums :
    Inscription : février 2009
    Messages : 17
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    Tu n'es pas dans la mélasse ! Il y a de nombreuses solutions, mais tout dépend de ce qu'il faut transférer. Avant d'aller plus loin, il faut se poser quelques questions afin de trouver la solution la plus efficace pour ton contexte.

    Au niveau volumétrie, est-ce qu'il s'agit de quelques "fichiers" à exporter ou d'une base complète de plusieurs centaines d'objets? Et en nombre d'enregistrements ? Pour les plus grosses tables, on parle de dizaines de milliers ou de dizaine de millions d'enregistrements ?

    Au niveau "objet", est ce que tu dois reproduire les tables, vues, index... à l'identique ou est ce qu'il y a des transformations à assurer ? Les colonnes de destination sont-elles les mêmes ? Es tu sûr qu'il y a des contraintes (elles ne sont pas souvent, hélas, mises en place !) ?

    Coté connectivité si tu utilises un outil externe, il y a ODBC et JDBC, comme te l'as dit Nathanaël.

    Les DDL (CREATE TABLE...) peuvent être générées à partir de System i Navigator, même si les fichiers de l'IBM i ont été créés avec les DDS. Il suffit de les réappliquer dans Oracle, avec éventuellement quelques modifications minimes.

    Si on regarde les outils standards (et si la volumétrie est raisonnable), tu peux générer un CSV qui contient les données d'une table directement à partir de l'IBM i. A toi de le remonter dans Oracle. Ca peut être fastidieux s'il y a de nombreux objets à traiter.

    Pour des projets de ce type, nous passons parfois par du développement en PHP ce qui permet de lire coté IBM i et d'écrire coté ORACLE. Les spécificités du langage font que l'on peut faire des traitements dynamiques assez génériques. Le même programme est capable de transférer en masse les enregistrements de toutes les tables d'une bibliothèque. Le serveur PHP peut être sur un poste intermédiaire.

    Dominique

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    juin 2002
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2002
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    Salut,

    il y a une forte concurrence entre Oracle et IBM au niveau des BD, aussi chacun développe ses propres outils et services d'aide à la migration. Tu peux demander à Oracle qui se fera un plaisir de t'expliquer leur solution du moment (en général gratuit côté outillage).

    Sinon, on trouve sur le web également des outils de migration. Je ne veux pas faire de publicité ici, mais Google est ton ami !

    Bonne journée

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par m4k-Hurrican Voir le message
    Bonjour,

    Même si je ne pourrais surement pas t'aider de bout en bout, il y a des choses à savoir.
    Comment sont définis les fichiers ? DDS ou SQL ?
    DDS, tu auras bien plus de soucis car tu devras d'abord réécrire les fichiers en SQL. Ce qui n'est pas forcément évident s'il y avait des logiques pointant sur les fichiers physiques. Peut être que des outils se chargent de çà, je ne les connais pas.
    Définis en SQL, tu n'auras pas beaucoup de soucis. Il suffira d'exporter tes fichiers au format .SQL (Operations Navigator fait çà) et de réimporter (en adaptant la syntaxe éventuellement).
    La base est effectivement au format DB2/UDB.



    Merci pour ta réponse, Je ne sais pas vraiment répondre a ta question. Je requête sur l'AS400 en SQL, est-ce qu'il y a un moyen de connaitre cette info ou je dois me retourner vers l'architecte?

  7. #7
    Membre confirmé
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    octobre 2006
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : octobre 2006
    Messages : 485
    Points : 648
    Points
    648
    Par défaut
    Citation Envoyé par mbdsi Voir le message
    Merci pour ta réponse, Je ne sais pas vraiment répondre a ta question. Je requête sur l'AS400 en SQL, est-ce qu'il y a un moyen de connaitre cette info ou je dois me retourner vers l'architecte?
    Si tu as accès à la ligne de commande sur le serveur, tu peux utiliser la commande DSPFFD NomBlibliothèque/NomduFichier. Si après la ligne "Type de fichier", tu as une ligne indiquant "Type de fichier SQL", c'est du SQL, sinon c'est de l'ancienne description DDS.
    Mais le plus simple est que tu demandes à l'architecte de la BD de te fournir les indications. Çà évitera déjà que tu oublies des fichiers, au cas où il y ait des bibliothèques séparées, ou des surprises comme celle que j'ai rencontrée un jour sous forme de fichier DDM (fichier partagé entre 2 serveurs, on trouve pas vraiment çà ailleurs...).
    Les fichiers à description DDS peuvent être interrogés via SQL, en fait c'est presque seulement la manière dont on les conçoit au départ qui différencie les 2 types de fichiers. Même si les différences les plus importantes sont cachées (contrôle des données à l'écriture pour le SQL et à la lecture pour le DDS).
    Mais ces remarques, je m'en rend compte, n'étaient valables que si tu dois recréer la BD sur ton Oracle. Un fichier décrit en DDS, n'ayant pas d'index ou de vue, mais des "fichiers logiques", qui y ressemblent un peu, mais ont des différences fondamentales (le filtrage Select/Omit n'existe pas en SQL par exemple, les fichiers logiques joints, etc...). Si tu as déjà une BD et que tu veux juste récupérer les données, oublie ces remarques !

    Car tu peux toujours utiliser SQL pour interroger la BD (à moins que ce soit carrément des très vieux fichiers 36), et cela devrait suffire. Le mieux est quand même de pouvoir passer les données en direct.
    Et la solution de dgayte ici, à savoir utiliser PHP pour lire et écrire les données me plait bien. Sans être ultra-performant, tu auras une grande souplesse, un développement aisé et surtout facile à maintenir par beaucoup de monde. Personnellement j'ai déjà utilisé mon vieux VB6 pour ce genre de travail, mais VB6 ne passe pas partout, alors que PHP si.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Natbon Voir le message
    Bonjour,

    il existe de multiples solutions.

    Pour commencer, un driver JDBC de type 4 pour l'IBM i (AS400) est disponible ici : http://sourceforge.net/projects/jt400/
    voir le fichier jt400.jar
    Avec ceci, n'importe quel outil d'extraction de données doit être capable de se connecter.

    Ensuite, la "BD" existante peut être écrite dans un langage DDS propriétaire, mais il est possible de créer les équivalences SQL, avec quelques contraintes.


    Cordialement,
    Nathanaël
    Merci pour l'information, mais je l'avais déjà récupéré pour le coup (le jt400).

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    novembre 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : novembre 2015
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Bonjour a tous,

    Tout d'abord merci pour vos reponses et informations. Je me suis tourné vers une solution d'un spécialiste dédié au final.

    Je n'ai pas pu revenir vers vous car mon projet m'a été mal présenté au départ et beaucoup d'informations me sont parvenus au compte goutte au fur et à mesure.

    Bref, encore merci pour vos retours et désolé de ne pas être revenue vers vous plus tôt.

    Donc mon problème est résolue mais en passant par un outils dédié à la migration des AS400. (je ne peux pas faire de pub sur le forum je crois, donc je vais éviter)

    Ma migration ayant finalement lieu en Janvier, je ne peux même pas vous apporter des infos pertinentes à ce sujet. Donc à part les informations que vous avez apportez, ce sujet va être creux...

    Bref encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration base access sur page perso
    Par fanfan91 dans le forum Access
    Réponses: 1
    Dernier message: 13/09/2005, 16h44
  2. migration base Lotus Sous MySQL
    Par sali007 dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 05/06/2005, 10h06
  3. migration base de donnée
    Par cedschmi dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 25/01/2005, 16h08
  4. [ PostgreSQL ] Pbm migration base d'un serveur à un autre
    Par TiSteph dans le forum Administration
    Réponses: 3
    Dernier message: 06/03/2003, 18h04
  5. migration base 4d
    Par ultrakas dans le forum Autres SGBD
    Réponses: 3
    Dernier message: 20/02/2003, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo