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

SQL Oracle Discussion :

insert via dblink, performance.


Sujet :

SQL Oracle

  1. #1
    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 insert via dblink, performance.
    Bonjour,

    Je fais tourner deux scripts qui copient (des inserts) des données via un dblink (src: 9i, dst: 10g) dans des tables.

    Je fais actuellement des tests de performance avec un seul dblink.

    Neanmoins, je me demande, si éventuellement quelqu'un avait déjà eu l'occasion de faire la même chose, si ca serait plus rapide avec deux dblink (un dblink par thread) ?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    1 DBLink/thread ? C'est à dire ? Tu veux copier la moitié de la table dans un DBLink et l'autre moitié en paralléle dans un 2° DBL ?

  3. #3
    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
    Si tu veux j'ai divisé en deux listes mes tables à copier.

    J'ai donc deux scripts sql en parallèle qui tourne et utilise le même dblink.

    Donc avec deux, est ce que ca serait plus performant ?

  4. #4
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    A priori je dirais qu'il y a des chances mais tout dépend de la bande passante

    En tout cas, ça ne coute rien que de le faire

  5. #5
    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
    Je fais des tests avec un petit lien 100mbits. A terme je devrais être en Giga ... je posterais les temps ^^

  6. #6
    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
    Euh j'en profite ... j'ai une erreur justement avec mon dblink:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-14100: partition extended table name cannot refer to a remote object
    La requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TOTO.TITI SELECT * FROM TOTO.TITI @oralink PARTITION (P20041114);
    J'ai bien trouvé que:

    An attempt was made to use partition-extended table name syntax in conjunction with remote object name which is illegal.
    Mais je vois pas pourquoi il serait illegal de faire une requete sur une partition via un dblink ? Ou c'est moi qui me trompe ?

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    je ne sais pas pourquoi mais en effet, c'est interdit

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par DjinnS Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TOTO.TITI SELECT * FROM TOTO.TITI @oralink PARTITION (P20041114);
    C'est ça l'erreur ...

  9. #9
    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
    Effectivement c'est interdit ...

    Une solution consiste à utiliser betwen ... je vais essayer avec ça.

    Dommage que ca ne fonctionne pas, ca serait pratique ...

  10. #10
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par DjinnS Voir le message
    Si tu veux j'ai divisé en deux listes mes tables à copier.

    J'ai donc deux scripts sql en parallèle qui tourne et utilise le même dblink.

    Donc avec deux, est ce que ca serait plus performant ?
    J’ai de doute que ça va améliorer quoi que soit. Je ne pense pas que le dblink c’est un sort de tuyau par lequel les données passent. Mais vous savez quand je me trompe je le reconnaît

  11. #11
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    bah on peut espérer que 2 sessions travaillent plus vite qu'une seule quand même... même si c'est pas évident

  12. #12
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par orafrance Voir le message
    bah on peut espérer que 2 sessions travaillent plus vite qu'une seule quand même... même si c'est pas évident
    Deux sessions oui. Mais moi j'ai compris que la questions concerne deux dabaselink. Est-ce que je me suis trompé ?

  13. #13
    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
    Je parle de deux dblink vers la même machine, vers la même instance, via le même utilisateur, si ca peut aider ...

    edit:

    et les deux scripts sql seront lancés via deux sessions différentes.

  14. #14
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Deux sessions oui. Mais moi j'ai compris que la questions concerne deux dabaselink. Est-ce que je me suis trompé ?
    2 DBLinks n'ouvent-ils pas chacun une session ?

  15. #15
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par orafrance Voir le message
    2 DBLinks n'ouvent-ils pas chacun une session ?
    Et deux session SqlPlus qui utilisent le même dblink n'ont pas le même effet ?
    A propo, il y a une commande copy dans SQLPlus qui devrait être utile

  16. #16
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    certes

    En effet, COPY c'est très bien aussi mais attention c'est une commande SQL*Plus (et non SQL le langage )

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par mnitu Voir le message
    Et deux session SqlPlus qui utilisent le même dblink n'ont pas le même effet ?
    A propo, il y a une commande copy dans SQLPlus qui devrait être utile
    Il faut signaler néanmoins que cette commande n'est plus supportée ...

  18. #18
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    ha bon ? C'est bien dommage

  19. #19
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Citation Envoyé par Michel SALAIS Voir le message
    Il faut signaler néanmoins que cette commande n'est plus supportée ...
    T'est certain Michel ? Moi je le trouve encore dans la doc du 11.

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Points : 436
    Points
    436
    Par défaut
    Citation Envoyé par mnitu Voir le message
    T'est certain Michel ? Moi je le trouve encore dans la doc du 11.
    Je crois bien que je l'ai lu dans la doc de Oracle 8i ou Oracle 9i ...
    Je vais vérifier !

    Vérification faite (J'ai regardé dans Oracle 10gR2). Voici un extrait
    The COPY command is not being enhanced to handle datatypes or features introduced with, or after Oracle8i. The COPY command is likely to be made obsolete in a future release.

Discussions similaires

  1. [11gR2] INSERT SELECT via dblink
    Par ora-2013 dans le forum Oracle
    Réponses: 4
    Dernier message: 23/10/2013, 22h42
  2. [Hibernate 3] [HQL] Faire un Insert via HQL
    Par bouchette63 dans le forum Hibernate
    Réponses: 3
    Dernier message: 09/11/2006, 17h05
  3. PB d'insertion via formulaire
    Par xtiand4 dans le forum Langage
    Réponses: 5
    Dernier message: 23/06/2006, 09h45
  4. INSERT/UPDATE via DBLink
    Par Wilk dans le forum Oracle
    Réponses: 1
    Dernier message: 15/03/2006, 14h51
  5. [Help] pb d'insertion via PHP ...
    Par romtrash dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/04/2005, 11h47

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