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

Oracle Discussion :

alter table move


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 134
    Points : 84
    Points
    84
    Par défaut alter table move
    Bonjour,

    J'ai une question sur la commande alter table <nom_table> move:

    Je suis sous oracle 9.2.0.1 HP/UX.

    Est-ce que cette commande permet bien de désallouer les extents de la table ?
    Sur quel tablespace va-t-il travailler pour effectuer sa copie de table ? avant de dropper l'ancienne ?

    Merci pour votre réponse.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    lors de cette copie , il va copier la table sur le tbs de destination , donc lorsque la copie est terminé est uniquement dans ce cas il désalloue les extents du tbs d'origine

  3. #3
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  4. #4
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 134
    Points : 84
    Points
    84
    Par défaut
    En fait, j'avais déjà lu ce lien, mais merci

    En fait, je ne spécifie pas le tablespace, je move la table sur le même tablespace.

    Et ma question est : sachant que l'on a fait un delete en masse, est-ce que le fait de faire le move va désallouer les extents de la table ?

    Merci pour votre réponse.

    Crodialement,

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    SI c'est sur le même TBS je ne sais
    mais ce dont je suis sur c'est :

    create table1 as select * from table2 ;
    Tuncate table1 ;
    insert into table1 ( select * from table2) ;

  6. #6
    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
    Est-ce que cette commande permet bien de désallouer les extents de la table ?
    Oui

    Sur quel tablespace va-t-il travailler pour effectuer sa copie de table ? avant de dropper l'ancienne ?
    Je pense qu'il modifie juste les tables de la vue dba_extents... physiquement il n'y a pas de raison que les blocs changent

  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
    pour s'en convaincre :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    SQL>create table toto (t varchar2(1000)) ;
     
    Table créée.
     
    SQL> begin
      2  for i in 1..10000 loop
      3  insert into toto (t) values (RPAD('A',500,'A'));
      4  end loop;
      5  end;
      6  /
     
    Procédure PL/SQL terminée avec succès.
     
    SQL> commit;
     
    Validation effectuée.
     
    SQL> delete from toto;
     
    10022 ligne(s) supprimée(s).
     
    SQL> commit;
     
    Validation effectuée.
     
    SQL> select count(*)  from dba_extents where SEGMENT_NAME = 'TOTO';
     
      COUNT(*)
    ----------
            14
     
    SQL> 
    SQL> alter table toto move;
     
    Table modifiée.
     
    SQL> select count(*)  from dba_extents where SEGMENT_NAME = 'TOTO';
     
      COUNT(*)
    ----------
             1

  8. #8
    Membre régulier
    Inscrit en
    Mai 2005
    Messages
    134
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 134
    Points : 84
    Points
    84
    Par défaut
    Ok, merci beaucoup pour ces réponses.


    Cordialement,

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

Discussions similaires

  1. plus d'extent aprés alter table move
    Par debdba dans le forum Oracle
    Réponses: 4
    Dernier message: 15/02/2007, 19h49
  2. Erreur 1555 après un alter table/move tablespace
    Par Daily dans le forum Oracle
    Réponses: 4
    Dernier message: 11/10/2006, 11h39
  3. alter table move
    Par jokos2000 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/09/2006, 16h41
  4. Pb Alter table move avec un champ type long
    Par rescue dans le forum Oracle
    Réponses: 8
    Dernier message: 18/08/2006, 13h28
  5. Alter table qui ne passe...
    Par Gential dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 04/06/2003, 17h48

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