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

Shell et commandes GNU Discussion :

Comparatif dossier et base oracle


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 6
    Points
    6
    Par défaut Comparatif dossier et base oracle
    Bonjour à tous

    Voici mon problème :
    Sur le serveur linux de la boite, nous hebergeons des fiches techniques lisible sur l'intranet pour a production dans un dossier fiches technique.
    Depuis quelque mois, le dossier est plein (36000 sous dossier soit 36000 fiches)
    La personne créant les fiches pensait supprimé les fiches obselète mais il le faisait que sur la base oracle.
    Seulement si la base est à jours, le dossier contenant les fiche ne l'ai pas.
    De ce faite j'obtient environ une difference de plus ou moin 15000 fiche à supprimer.
    Je souhaite créer un shell me permettant de deplacer dans un rep X les fiches non trouver dans la base oracle (comparaisons entre réelle et base MAJ).
    Sachant que je ne mettrise pas trop les schell, pourriez vous m'aider.

    cdt

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 131
    Points : 97
    Points
    97
    Par défaut
    Salut, très difficile de t'aider.

    Je commencerais, si j'étais toi, à extraire la liste des trucs à supprimer de ton Oracle. Avec un spool dans sqlplus, tu peux facilement récupérer la sortie dans un fichier. Reste plus qu'a la formater pour la faire bouffer à un script shell, sans doute avec un for, permettant de traiter chaque occurrence.

    Mais pour cela, il faudra connaître la structure de tes répertoires, ca permettra de formater la liste selon les traitements qu'il y a à faire.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    merci DjinnS
    Mais peut tu me renseigné car la personne qui étais la avant moi est parti
    et donc je me retrouve avec ca.
    Je ne m'y connait pas en base oracle.
    De plus je sais que l'on peut l'attaquer en access car c'est la qu'on avait modifier les chemins lors de la migration de domaine.
    sinon l'arborescence et a peut pret celle-ci :

    /home/www/xxx/FicheTechniqueEmballage/hexxxxxx -> dossier fiche
    deplacer vers
    /home/www/xxx/FicheAsuppr/hexxxxxx

    cdt

  4. #4
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    JE debute avec oracle alors, je vais etre assez vague

    mais un script qui ferai (en gros et a optimiser)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    sqlplus utilisateur/password@base << EOF
    spool /tmp/list
    select champ.pertinant,champ2.pertinant from table_fiches order by date ;
    spool off
    exit
    EOT
    for i in $(cat /tmp/list) ; do 
    echo $i 
    #selectionner un element pertinant par exemple une #ref
    #sur la colonne 4 dans l'exemple de la ligne suivante :
    REF=$(set `echo $i` ; echo $4)
    #regarder si la ref existe | et dans quel fichier 
    #et porter le nom de fichier dans une liste
    grep -i REF * | grep ":" >> /tmp/liste_fichier
    #afficher ce que le script trouve au fur et a meusure
    tail -1 /tmp/liste_fichier
    done
    # faire les deplacements de fichier 
    for i in $(cat /tmp/liste_fichier) ; do mv $i /chemin/archivage ; done
    rm /tmp/liste_fichier
    rm /tmp/list
    il faudrait plus d'infos pour t'aider mieux

Discussions similaires

  1. Executer procédure stockée base oracle ADOStoredProc
    Par Akei dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2004, 08h46
  2. Problleme de connection ADO sur base Oracle
    Par poirier dans le forum ASP
    Réponses: 7
    Dernier message: 08/06/2004, 09h34
  3. Réponses: 3
    Dernier message: 17/05/2004, 17h28
  4. Tranfert de données d'une base Oracle vers PostGre
    Par Elois dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/01/2004, 18h08
  5. XML et Base Oracle
    Par YESSOTHEO dans le forum XQUERY/SGBD
    Réponses: 2
    Dernier message: 27/10/2003, 09h19

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