IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

AS/400 Discussion :

Archivage de données (Gros fichiers de prod)


Sujet :

AS/400

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut Archivage de données (Gros fichiers de prod)
    Bonjour a tous

    J'ai un très gros fichiers :

    144 Gigas
    1 612 288 890 enregs
    9 Index

    Il faut en supprimer 500 000 000 et le fichier est utilisé 7j/7

    J'ai testé le fait de sortir via CPYF d'une vue crée pour l'occasion, les enregs concernés pour sauvegarde/Archivage. (Fait)

    J'ai testé un pgm en SQLRPGLE qui lit ma vue (Natif) et fait du delete + commit en SQL a l'enreg sur la table avec la clé primaire, pendant un temps paramétrable. (Ceci est La solution que j'avais choisis pour ne pas locker la table seulement celle ci ce révèle beaucoup trop longue 2 900 000 enregs en par groupe de 12h)

    J'avais imaginer faire du cpyf vers une copie de ma table vide pour n'avoir au final que les enregs qui m'intéresse et remplacer l'une par l'autre a un instant T, mais ceci pose le problème de l'identifiant de niveau fichier qui est stocker dans les objets pgm. (Donc signifiant une recompile de trop nombreux pgm + une copie + rée indexation (sur les 1 100 000 000 enregs pour le coup contrairement a mes 500 000 000) (C'est surement la solution qui me semble la plus rapide malheureusement mais il faut que ceci tiennent en temps pour qu'il n'y ai pas eu de mise a jour sur la table d'origine entre temps)

    Qu'en pensez vous ? une autre idée ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par fweiner Voir le message
    J'avais imaginer faire du cpyf vers une copie de ma table vide pour n'avoir au final que les enregs qui m'intéresse et remplacer l'une par l'autre a un instant T, mais ceci pose le problème de l'identifiant de niveau fichier qui est stocker dans les objets pgm.
    un CPYF ne change pas le niveau de format !!!!!
    Et avec une requête SQL tout simplement ?
    Mais il va falloir faire un RGZPFM a un moment ou un autre si tu utilises pas le CPYF

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Eh oui

    c'est pour ça que j'ai tendance a pensé que je m'en sortirai mieux avec un CPYF

    Car les test de RGZPFM que j'ai pu faire sur une autres partitions malheureusement saturée ont révélé des durées exponentiels.
    Je n'en ai laisser aboutir aucun vu les temps.

    Tu est sur du coup pour l'Id de niveau de fichier avec un cpyf.
    Ce serez super ca.
    Il me resterez a tester le temps du CPYF sur la plus grosse partie de mon fichier.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par fweiner Voir le message
    Tu es sur du coup pour l'Id de niveau de fichier avec un cpyf ?
    Le niveau de format d'un fichier est un calcul basé sur :

    - Le nom du format
    - le nom des zones et leurs descriptions (hors text, colhdg)
    - les éventuelles clés (et Select Omit)

    Un CPYF ne changera pas le niveau de format avec CRTFILE(*YES).
    Fais l'essai en ne copiant qu'un enreg : NBRRCDS(1) tu seras rassuré.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Merci pour ton niveau de précision.

    c'est vraiment super appréciable d'avoir ce genre de réponse.

    Justement j'avais générée une copie de mes objets File + index, mais a partir des Dll sql ce qui pour le coup a changer mon niveau de fichier, mais pas mon id niveau de format.

    Lequel pose probléme au objet PGM Id niveau de format ou id niveau de fichier ?

    Et qu'en est t'il des ID de niveau fichier et format lorsque l'on fait un CRTDUPOBJ sans les données pour faire par la suite le CPYF

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    On se moque de l'ID de fichier, ce qui importe c'est l'ID de format.
    Attention, créer un fichier avec des DDS et le même avec des DDL (SQL) donnera un niveau de format différent car en SQL, le format = le fichier, pas en DDS.

    Par contre pour les Index ou vues vs LF DDS, le niveau de format sera le même à description égale.

    Un CRTDUPOBJ et CPYF donne le même niveau de format que l'origine.
    le niveau de fichier peut changer mais celà n'a pas d'importance pour les PGM.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Merci encore pour ces éclaircissements.

    Mais par rapports a la questions d'origine que penses tu sur la meilleur approche en terme de performance et surtout d'efficacité contenu de l'activité de la table ?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Un CPYF est une bonne solution car il présente l'avantage de ne pas faire de RGZPFM par la suite.
    Par contre, il sera conseillé que personne n'utilise le fichier au moment ou il faudra le renommer, sans oublier de le journaliser à nouveau.

    Sinon, le DELETE SQL sera plus performant mais il vaut mieux au préalable stopper la journalisation du fichier (ENDJRNPF).
    Par contre, il est fortement conseillé de faire après un RGZPFM suivi du redémarrage de la journalisation.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Merci pour ta réponse.

    Je vais testé mon pgm qui fait du delete sql sans la journalisation sur la partition de DEV pour voir si cela change beaucoup le temps de traitement. (Pour infos)

    Mais je n'imagine pas une si grosse différence, et cela signifierai que je ne peut faire du delete que le week end car il m'est impossible de couper la journalisation a un autre moment. De plus avec cette solution il me reste l'interrogation sur la durée du RZGPFM.

    Je pense partir sur la solution par CPYF et changement de nom du fichier.

    Une dernière question puis je tacherai de ne plus te perturbé.

    Pense que que la gestion des index (reconstruction complète pour le coup) lors de la copie via CPYF aura un rapport équivalent ou différent en terme de perf qu'un RGZPFM suite a du delete ?

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Logiquement, je pense que les temps seront comparables, car souterrainement il va faire les mêmes opérations.
    Le Prb du CPYF vs SQL est qu'il faut créer une table temporaire, donc de l'espace disque sera necessaire.

    Faire un CPYF des données dans un nouveau fichier récepteur.
    Supprimer l'ancien fichier et ses logiques.
    renommer le fichier avec l'ancien nom.
    recompiler les logiques (1).

    (1) Pour cette dernière opération, je te conseille de faire plutôt des create index plutôt qu'utiliser les DDS pour les LF avec clé.
    Je ne parle pas des LF DDS ayant un nom de format différent du PF ou avec des Select/Omit.
    Entre un create index et un LF DDS, le niveau de format sera le même, par contre en terme de perfs, pas photo !

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 97
    Points : 79
    Points
    79
    Par défaut
    Merci pour le temps consacrer.

    peut être pourrais je t'aider en retour.

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par fweiner Voir le message
    Merci pour le temps consacrer.

    peut être pourrais je t'aider en retour.
    C'est le but d'un forum : l'entraide !

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

Discussions similaires

  1. Importer des données ne marche pas pour gros fichiers
    Par randriano dans le forum Sql Developer
    Réponses: 14
    Dernier message: 21/08/2012, 17h39
  2. Importation de gros fichiers de données
    Par cg1987 dans le forum MATLAB
    Réponses: 8
    Dernier message: 25/05/2011, 15h54
  3. Réponses: 2
    Dernier message: 02/02/2010, 22h57
  4. Utiliser de gros fichiers de données
    Par mister3957 dans le forum C++
    Réponses: 10
    Dernier message: 30/06/2009, 00h51
  5. archivage cpio de gros fichiers
    Par petit arbre dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 02/10/2007, 12h02

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