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 :

[TABLESPACE] Pb avec PCTUSED


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut [TABLESPACE] Pb avec PCTUSED
    Bonjour à tous,
    Je travaille actuellement sur un script qui doit créer une table X:
    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
    set serveroutput on size 1000000;
    SET feedback on;
    spool logs/m_cre_table_FS_CSR_ACCOUNT.log;
    
    DECLARE
      s_object_type user_objects.object_type%TYPE;
    BEGIN
      IF CAP_SNAP_PACKAGE.object_exists('FS_CSR_ACCOUNT',s_object_type) THEN
        CAP_SNAP_PACKAGE.DROP_OBJECT('FS_CSR_ACCOUNT',s_object_type);
      END IF;
    END;
    /
    
    whenever sqlerror exit 2;
    whenever oserror  exit 2;
    
    CREATE TABLE FS_CSR_ACCOUNT
    (
      ACCOUNT_OBJ_ID0  NUMBER(38),
      OBJ_ID0          NUMBER(38),
      CONSTRAINT I_FS_CSR_ACCOUNT__ID PRIMARY KEY ( ACCOUNT_OBJ_ID0, OBJ_ID0 )
    )
    ORGANIZATION INDEX
    --TABLESPACE pin00 STORAGE(INITIAL 8192K NEXT 4096K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0) PCTUSED 40 PCTFREE 0 INITRANS 1 MAXTRANS 255 
    NOLOGGING 
    PARALLEL ( DEGREE 8 );
    
    -- controle de la creation de la table FS_CSR_ACCOUNT
    DESCRIBE FS_CSR_ACCOUNT;
    
    quit;
    /
    Or j'ai deux erreurs, la premiere dit que j'arrive pas à créer ma table FS_CSR_ACCOUNT et la deuxième "invalid option for an index-organized table" sur l'option soulignée (PCTUSED).

    Quand je mets en commentaire la ligne en gras la transaction se passe correctement (la table est créée)

    L'erreur vient donc bien de cette ligne.

    Je voudrais juste avoir des pistes sur les raisons de cette erreur

  2. #2
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    J'ai oublié de mettre l'environnement oracle que j'utilise :
    Oracle8i Enterprise Edition Release 8.1.7.4.0

  3. #3
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Error: ORA-25189
    Text: illegal ALTER TABLE option for an index-organized table
    ---------------------------------------------------------------------------
    Cause: During ALTER of a index-organized table, the user attempted to enter
    one or more of the following options: TABLESPACE, ALLOCATE/DEALLOCATE
    EXTENT, PCTFREE/PCTUSED for IOT top index segment
    Action: Remove the illegal option(s).

  4. #4
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    Je n'ai que des notions scolaires sur Oracle donc je dois avouer que je nage un peu.
    Le code que je vous ai fourni tourne en prod donc je pense que ça doit venir d'un problème de configuration, c'est pour celà que moi je voudrais savoir qu'est ce qui peut faire que cette ligne plante
    Sauf si biensur, si j'ai bien compris ta réponse, c'est normal que ça plante parce que PCTUSED ne doit pas etre mis ?

  5. #5
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    J'ai oublié aussi le code de l'erreur oracle, je sais pas si ça va aider mais bon ...
    ORA-25192

  6. #6
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    D'après la documentation d'ORACLE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PCTUSED is not a valid table storage characteristic for an index-organized table

  7. #7
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Error:	ORA-25192
    Text:	invalid option for an index-organized table 
    ---------------------------------------------------------------------------
    Cause:	An attempt to specify one or more of the following options for an 
    	index-organized table: [NO]CACHE, NO LOGGING, CLUSTER 
    Action:	Remove the illegal option(s)

  8. #8
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    malheureusement ça m'aide pas plus ...

  9. #9
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    c'est que j'ai compris
    la version oracle test est 8.1.7.4
    la version oracle prod ?

  10. #10
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    Oui on a la meme version qu'en prod.

  11. #11
    Membre expert
    Avatar de bouyao
    Inscrit en
    Janvier 2005
    Messages
    1 778
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 778
    Points : 3 033
    Points
    3 033
    Par défaut
    Essaye d'enlever l'option NOLOGGING

  12. #12
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    J'ai essayé mais l'erreur reste la meme ...
    Est ce que tu peux m'expliquer la ligne ? A quoi cela peut servir ?

  13. #13
    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
    la prenthése ne serait-elle pas mal placée tout simplement ?

  14. #14
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    Pour toi les parenthèses devraient etre fermées quand ?
    Quelle est la signification de cette phrase :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ORGANIZATION INDEX
    TABLESPACE pin00 STORAGE(INITIAL 8192K NEXT 4096K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0) PCTUSED 40 PCTFREE 0 INITRANS 1 MAXTRANS 255 
    NOLOGGING 
    PARALLEL ( DEGREE 8 );

  15. #15
    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
    (INITIAL 8192K NEXT 4096K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0 PCTUSED 40 PCTFREE 0) INITRANS 1 MAXTRANS 255
    ou

    (INITIAL 8192K NEXT 4096K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0 PCTUSED 40 PCTFREE 0 INITRANS 1 MAXTRANS 255)
    Dans ce type de problème, j'ajoute les paramètres les uns après les autres pour voir ou ça coince

    En particulier tu peux oublier INITRANS et MAXTRANS puisque tu mets les valeurs par défaut

    Attention, MAXEXTENTS 10 me parait faible au passage

  16. #16
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    Donc voici ce que j'ai fait:
    - J'ai vu qu'apparemment les valeurs par défaut pour PCTUSED et ou pour PCTFREE etaient celles renseignées alors j'ai tout supprimé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ORGANIZATION INDEX
    TABLESPACE pin00 STORAGE (INITIAL 8192K NEXT 4096K MINEXTENTS 1 MAXEXTENTS 10 PCTINCREASE 0) 
    NOLOGGING 
    PARALLEL ( DEGREE 8 )
    Et l'installation s'est bien passée...
    Mais je me demande qu'elle est réellement l'utilité de cette ligne et de PCTUSED et PCTFREE.
    J'ai déjà regardé la doc, ça dit que PCTUSED indique le niveau en deçà duquel le bloc sera disponible pour de nouvelles insertions, mais à mon niveau ça me parle pas

  17. #17
    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
    PCTUSED permet de limiter l'espace utilisé dans un extent pour un insert alors que PCTFREE garantit de garder de l'espace en cas d'UPDATE.

    Ca sert à éviter de fragmenter les objets. En effet, ainsi tu essayes de garantir que les insertions se font bien dans des blocs contigus et qu'un update qui ajoute des données (renseignement d'une colonne à NULL ou update d'une chaine de caractères) ne provoquera pas de migration de la ligne.

    http://oracle.developpez.com/guide/a...lespaces/#L1.5

  18. #18
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    ok je te remercie donc je dois les laisser ?

  19. #19
    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
    si tu ne les mets pas tu prends les valeurs par défaut 90/10 si mes souvenirs sont bons... évidemment la somme PCTUSED + PCTFREE ne peut pas excéder 100

    Dans les faits, je n'y retouche que lorsque je sais qu'on va faire des insertions en masse avec des grosses mises à jours à prévoir (une colonne COMMENTAIRE en VARCHAR2(400) par exemple)

  20. #20
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 112
    Points : 99
    Points
    99
    Par défaut
    Ok merci à tous. Bonne journée

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

Discussions similaires

  1. Supervision Tablespaces Oracle avec Nagios
    Par pun1ch3ur dans le forum Oracle
    Réponses: 5
    Dernier message: 25/06/2009, 14h58
  2. Tablespace index avec export/import
    Par kryst dans le forum Oracle
    Réponses: 7
    Dernier message: 20/02/2007, 16h10
  3. Réponses: 8
    Dernier message: 04/10/2005, 19h27
  4. suppresion d'une tablespace avec Oracle 8i
    Par nbo dans le forum Oracle
    Réponses: 8
    Dernier message: 01/07/2005, 16h01
  5. [Oracle 8.0.5] EXP/IMP avec les tablespace
    Par bobunny dans le forum Import/Export
    Réponses: 3
    Dernier message: 19/10/2004, 14h33

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