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 :

Erreur ORA-01410 : invalid ROWID


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Erreur ORA-01410 : invalid ROWID
    Bonjour,

    Un de mes clients est passé d'une version d'Oracle 7 à la version 10g.
    Il a parfois le problème suivant qui survient : ORA-01410 : invalid ROWID au moment de faire un update par exemple.
    Après avoir cherché et m'être balladé sur différents forums de discussions, je lui ai fait détruire puis reconstruire tous les index de la base de données mais sans succès.
    Je n'arrive pas à reproduire le problème sur ma machine avec l'un de ses dumps.
    Je ne sais plus trop où chercher...
    Merci d'avance pour toute l'aide que vous pourrez m'apporter.

  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 : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    dans quelles circontances cela arrive : chargement massive, import, curseur PL/SQL, etc... ?

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    ça ressemble à ça : Bug 2598043

    mais ça devrait être corrigé

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    A priori c'est en faisant un Update tout bête (modification d'un ou deux champs dans un enregistrement).
    Je pense qu'il y a eu un problème lors du passage Oracle 7 à Oracle 10 car tous ces problèmes n'apparaissent que depuis la migration.

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    comment s'est faite cette migration ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    Je ne sais pas c'est le client qui a fait la migration avec son service informatique. Je vais leur poser la question...

  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 : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    et ouvre un SR chez Oracle

  8. #8
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    et est-ce que c'est en SQL pur sous SQL*Plus que ça se produit ?

    je crains un truc du style le RowID a changé de format que l'application ne sait plus gérer
    et comme l'update se fait avec WHERE ROWID = <ROWID récupéré précédement mais mal stocké>, il a l'erreur citée

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    C'est en SQL à partir d'une application Delphi. Pas sous SQL+...

  10. #10
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    et sous SQL*Plus, directement, ça donne quoi, le même update ?

    De 7 à 10, il y a un saut...
    on est passé d'un client 16 bits à 32 voir 64 bits

    le client Oracle a bien été upgradé ?
    (la connectivité n'est pas assurée mais parfois elle passe, parfois non, j'ai pas bien compris pourquoi ... )

    Est-ce que l'application a bien été recompilée ?
    Parce que je suis prêt à parier que les TTables (ou dérivés) qui marchaient en 7 ont besoin d'une adaptation pour la 10...
    A ce sujet, est-ce que la connexion est native (via les DOA par exemple) ou via BDE ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    Le code a bien été recompilé et il tourne sur bien sur mon poste avec le dump du client.
    La connexion se fait via le BDE...

  12. #12
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    Citation Envoyé par LeoAnderson Voir le message
    et sous SQL*Plus, directement, ça donne quoi, le même update ?

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    Je ne sais pas, je vais demander au client d'essayer...

  14. #14
    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 LeoAnderson Voir le message
    ...
    je crains un truc du style le RowID a changé de format que l'application ne sait plus gérer
    et comme l'update se fait avec WHERE ROWID = <ROWID récupéré précédement mais mal stocké>, il a l'erreur citée
    Oui, le RowId a changé de format entre Oracle7.3 et Oracle 8 avec l'apparition du extended RowId. Il y a des chose dans le package DBMS_ROWID concernant la gestion du restricted RowId version avant Oracle 8 et extended RowId à partir d'Oracle 8

  15. #15
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    Le problème doit surement venir de BDE et du driver utilisé qui doit effectuer un mapping du datatype ROWID avec un driver OCI7 non supporté par Oracle 10g.

    A tu esayé de changer le driver utilisé par DBE ?
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

Discussions similaires

  1. Erreur ORA-01722 "invalid number"
    Par devbegins dans le forum Débuter
    Réponses: 3
    Dernier message: 23/01/2010, 00h14
  2. Erreur ORA-00900 invalid SQL statement
    Par Lolitaaa dans le forum PL/SQL
    Réponses: 1
    Dernier message: 16/06/2009, 11h09
  3. Réponses: 2
    Dernier message: 27/05/2009, 13h57
  4. Erreur ORA-31619: Invalid dump file
    Par wadlle dans le forum Administration
    Réponses: 4
    Dernier message: 18/04/2008, 16h51
  5. Erreur ORA-00904 : invalid identifier
    Par Sabact dans le forum SQL
    Réponses: 10
    Dernier message: 16/04/2008, 15h07

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