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

Administration Oracle Discussion :

Déplacer une colonne de type PUBLIC.ANYDATA (en fait LOB) vers un autre tablespace


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut Déplacer une colonne de type PUBLIC.ANYDATA (en fait LOB) vers un autre tablespace
    Hello les experts

    Je dois déplacer une table d'un tbs vers un autre.
    Le problème est que cette table a une colonne ANYDATA.ANYDATA, qui stocke un lob, et je ne comprends pas comment faire. A noter qu'il s'agit d'une table d'un logiciel éditeur.


    Lobs non migrés : ils appartiennent à la table EXT_TCV_TCH_VALEUR.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SQL> desc XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR
    Nom              NULL ?   	Type
    -----------------------------------------------
    TCH_ID           NOT NULL 	NUMBER
    ID    	          NOT NULL 	NUMBER
    VALEUR           		PUBLIC.ANYDATA

    Présence d’un segment de type lob et de l’index associé dans cette table pour la colonne VALEUR qui est de type PUBLIC.ANYDATA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL> select table_name, column_name, segment_name, index_name from dba_lobs where owner = 'XL_EURO_AXAIA' and tablespace_name = 'XL_DATA_AXAIA';
    TABLE_NAME               COLUMN_NAME     SEGMENT_NAME                   INDEX_NAME
    ------------------------------ ------------------------------ ------------------------------ --------
    EXT_TCV_TCH_VALEUR       VALEUR          SYS_LOB0000299006C00003$$      SYS_IL0000299006C00003$$

    Le move du lob est impossible.
    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
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(SYS_IL0000299006C00003$$) store as ( tablespace XL_LOB_AXAIA );
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(SYS_IL0000299006C00003$$) store as ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904: "SYS_IL0000299006C00003$$" : identificateur non valide
     
     
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(SYS_LOB0000299006C00003$$) store as ( tablespace XL_LOB_AXAIA ) ;
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(SYS_LOB0000299006C00003$$) store as ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904: "SYS_LOB0000299006C00003$$" : identificateur non valide
     
     
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(VALEUR) store as ( tablespace XL_LOB_AXAIA );
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(VALEUR) store as ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904: "VALEUR" : identificateur non valide

    Si quelqu'un a une idée, je suis preneur :-)

  2. #2
    Membre chevronné
    Homme Profil pro
    xxxxxxxxx
    Inscrit en
    Avril 2015
    Messages
    395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : xxxxxxxxx

    Informations forums :
    Inscription : Avril 2015
    Messages : 395
    Par défaut
    Essaye. d’éxecuter. le. même. code. en. ajoutant. les. apostrophes. sur. le. nom. de. la. colonne.

  3. #3
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Marche pas...

    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
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(VALEUR) store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA );
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob(VALEUR) store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904: "VALEUR" : identificateur non valide
     
     
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob("VALEUR") store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA );
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob("VALEUR") store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904: "VALEUR" : identificateur non valide
     
     
    SQL> alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob('VALEUR') store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA );
    alter table XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR  move lob('VALEUR') store as SYS_LOB0000299006C00003$$ ( tablespace XL_LOB_AXAIA )
                                                           *
    ERREUR a la ligne 1 :
    ORA-00904:  : identificateur non valide

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter table "XL_EURO_AXAIA"."EXT_TCV_TCH_VALEUR"  move lob("VALEUR") store as "SYS_LOB0000299006C00003$$" ( tablespace "XL_LOB_AXAIA" );
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre Expert
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2013
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 2 005
    Par défaut
    Merci mais même résultat...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SQL> alter table "XL_EURO_AXAIA"."EXT_TCV_TCH_VALEUR"  move lob("VALEUR") store as "SYS_LOB0000299006C00003$$" ( tablespace "XL_LOB_AXAIA" );
    alter table "XL_EURO_AXAIA"."EXT_TCV_TCH_VALEUR"  move lob("VALEUR") store as "SYS_LOB0000299006C00003$$" ( tablespace "XL_LOB_AXAIA" )
                                                               *
    ERREUR a la ligne 1 :
    ORA-00904: "VALEUR" : identificateur non valide
    Maintenant, pour rappel, la colonne VALEUR est de type ANYDATA mais elle stocke un LOB.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Les segments lob créés pour des anydata suivent le tablespace de la table et ne peuvent être déplacés séparément comme les autres lob déclarés comme tels à la création.

    https://community.oracle.com/thread/1113273

Discussions similaires

  1. [XL-2016] VBA-comparer deux fichiers excel sur une colonne et ajouter des lignes d'un fichier vers l'autre
    Par axel.loiacono dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/05/2017, 16h26
  2. Récupérer les infos d'une colonne de type DataSet
    Par Zugg dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2006, 14h46
  3. Réponses: 14
    Dernier message: 28/10/2005, 18h41
  4. Réponses: 5
    Dernier message: 19/04/2005, 09h46
  5. requete vers une colonne de type datetime
    Par Zorgz dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2003, 12h37

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