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 :

maxextents impossible à définir ? le retour


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut maxextents impossible à définir ? le retour
    Bonjour,

    Je me permets de relancer le fil suivant Maxextents

    car j'ai le même problème que Ziranium : Comment faire prendre en compte le MAX_EXTENT ?
    J'ai besoin de créer une table avec ce maxextent fixe pour reproduire une erreur de ma production.

    La dernière réponse de Pifor donne une solution qui ne semble pas fonctionner chez moi et je ne comprends pas pourquoi. J'aurais besoin d'un coup de main, voire d'un coup de pied pour me remettre dans le bon chemin , svp.

    Voila ce que j'ai lancé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    --Creation tablespace bidon maxé
    CREATE TABLESPACE TEST_TBS
    DATAFILE 'D:\ptc\ocu_8.0\oradata\WIND\TEST_TBS.DBF' SIZE 7168K
    DEFAULT STORAGE (initial 80K next 80K MAXEXTENTS 50 PCTINCREASE 0);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    --Creation table bidon
    CREATE TABLE wtadmin.test_tbl (c1 char(2000))
     TABLESPACE	TEST_TBS
     STORAGE
     (
    	INITIAL		80K
    	NEXT		80K
    	MAXEXTENTS	10
    	PCTINCREASE	25
     ) ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS, MAX_EXTENTS 
    from DBA_SEGMENTS WHERE SEGMENT_NAME='TEST_TBL'
     
    SEGMENT_NAME    SEGMENT_TYPE       TABLESPACE_NAME    EXTENTS MAX_EXTENTS
    --------------- ------------------ --------------- ---------- -----------
    TEST_TBL        TABLE              TEST_TBS                 1  2147483645
    Pourquoi le Max_Extents est égal à unlimited ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     --Remplissage de la table pour tester comportement
     Begin
     	for i in 1..3000 loop
     		insert into test_tbl values ('a');
     	end loop;
     end;
    ERREUR à la ligne 1 :
    ORA-01653: impossible d'étendre la table WTADMIN.TEST_TBL de 5 
    dans le tablespace TEST_TBS
    ORA-06512: à ligne 3
    Il y a une erreur mais pas celle que j'espérais (ORA-01631)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS, MAX_EXTENTS 
    from DBA_SEGMENTS WHERE SEGMENT_NAME='TEST_TBL'
     
    SEGMENT_NAME    SEGMENT_TYPE       TABLESPACE_NAME    EXTENTS MAX_EXTENTS
    --------------- ------------------ --------------- ---------- -----------
    TEST_TBL        TABLE              TEST_TBS                87  2147483645
    Voila ce que donne cette commande sur un segment maxé chez moi et que je souhaite reproduire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SEGMENT_NAME        SEGMENT_TYPE  TABLESPACE_NAME      EXTENTS MAX_EXTENTS
    ------------------- ------------- ----------------- ---------- -----------
    WFVOTINGEVENTAUDIT  TABLE         USERS                   1017        1017
    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Quand je regarde les informations du Tablespace, j'obtiens ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SYS@SQL> select * from dba_tablespaces where tablespace_name='USERS';
     
    TABLESPACE_NAME                BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS    CONTENTS  LOGGING   FOR
    ------------------------------ ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------- --------- --------- ---
    EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG
    ---------- --------- --- ------ -------- ----------- ---
    USERS                               16384          81920       81920           1        1017           50          0 ONLINE    PERMANENT LOGGING   NO
    LOCAL      USER      NO  MANUAL DISABLED NOT APPLY   NO
    Quelle est cette valeur USER pour ALLOCATION ? Dans les doc dont je dispose, cette valeur devrait être soit UNIFORM soit AUTOALLOCATE.
    C'est pour moi la seule différence avec le tablespace du poste de dev.

  3. #3
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ect-ce que vous sauriez si ce tablespace n'est pas passé de gestion
    par le dictionnaire à gestion locale ?

    Dans le 1er post, le TBS est trop petit d'ou l'erreur ora-06512 .

    D'apres les posts précédents,le max-extent n'est pris en compte que dans l'ordre create table et non dans l'ordre create tablespace si ce dernier est géré localement .

    Avez-vous essayer de passer ce tbs en max_extents unlimited ?

    cdlt

  4. #4
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 701
    Billets dans le blog
    1
    Par défaut
    bonjour,

    cf la doc :

    ALLOCATION_TYPE:
    - USER : Gestion des des extensions par l'utilisateur
    (tablespace géré par le dictionnaire)
    - SYSTEM : gestion automatique des extensions
    (tablespace géré localement)
    - UNIFORM : gestion uniforme des extensions
    (tablespace géré localement)


    pouvez-vous donner les mêmes infos pour le TBS SYSTEM ?

    cdlt

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Merci pour le coup de main, Ducho.

    Citation Envoyé par ducho Voir le message
    Ect-ce que vous sauriez si ce tablespace n'est pas passé de gestion par le dictionnaire à gestion locale ?
    Le système a subi une optimisation il y a 4 ans par une SSII, bien avant mon arrivée (création de poste !) il y a quelques mois. Les premiers éléments trouvés plaident pour votre hypothèse.


    Citation Envoyé par ducho Voir le message
    Avez-vous essayer de passer ce tbs en max_extents unlimited ?
    En modification, il n'accepte pas à cause du type allocation égal à UNIFORM sur ce poste de Dev. Je l'ai donc recréé en unlimited de suite et je déclenche la même erreur quand je cherche à remplir la table (ORA-01653).


    Citation Envoyé par ducho Voir le message
    ALLOCATION_TYPE:
    - USER : Gestion des des extensions par l'utilisateur
    (tablespace géré par le dictionnaire)
    - SYSTEM : gestion automatique des extensions
    (tablespace géré localement)
    - UNIFORM : gestion uniforme des extensions
    (tablespace géré localement)
    Merci je n'avais pas vu ça.


    Citation Envoyé par ducho Voir le message
    pouvez-vous donner les mêmes infos pour le TBS SYSTEM ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TABLESPACE_NAME                BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS    CONTENTS  LOGGING   FOR
    ------------------------------ ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------- --------- --------- ---
    EXTENT_MAN ALLOCATIO PLU SEGMEN DEF_TAB_ RETENTION   BIG
    ---------- --------- --- ------ -------- ----------- ---
    SYSTEM                              16384         114688      114688           1  2147483645           50     114688 ONLINE    PERMANENT LOGGING   NO
    DICTIONARY USER      NO  MANUAL DISABLED NOT APPLY   NO
    Hypothèse :
    Si je veux reproduire la prod, il faudrait :
    Creation d'une nouvelle base
    Creation du tablespace SYSTEM en DICTIONNARY
    Creation de USERS en DICTIONNARY
    Passage de USERS en LOCAL

    ça vous parait cohérent ?

  6. #6
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 462
    Par défaut
    Bonjour

    Et pourquoi ne pas s'attaquer directement au problème de prod ?
    Donc comme d'habitude il nous faut :
    la version d'Oracle, celle de l'OS, l'erreur exacte rencontrée et la commande qui la provoque.

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Par défaut
    Citation Envoyé par korian Voir le message
    Hypothèse :
    Si je veux reproduire la prod, il faudrait :
    Creation d'une nouvelle base
    Creation du tablespace SYSTEM en DICTIONNARY
    Creation de USERS en DICTIONNARY
    Passage de USERS en LOCAL
    Ce fut effectivement la solution suivie.
    Le Tablespace USERS a été converti de DICTIONNARY à LOCAL par la procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec dbms_space_admin.Tablespace_Migrate_TO_Local('USERS');
    J'ai pu ensuite charger des données et reproduire l'erreur souhaitée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-01631: nbre max. d'ensembles de blocs contigus (1017) atteint dans table SCHEMA.WFVOTINGEVENTAUDIT
    La suite dans le post suivant ICI

    Merci beaucoup à Ducho pour l'aide apportée.

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

Discussions similaires

  1. maxextents impossible à définir ?
    Par Ziranium dans le forum Administration
    Réponses: 10
    Dernier message: 09/09/2009, 16h45
  2. [JTextArea] Comment définir le retour à la ligne ?
    Par speedster dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/12/2007, 17h42
  3. Impossible de définir des hôtes virtuels
    Par licorne dans le forum Apache
    Réponses: 8
    Dernier message: 14/09/2006, 18h14
  4. Réponses: 2
    Dernier message: 23/06/2006, 21h34
  5. Arret Tabulation - Impossible à définir
    Par Admin dans le forum Access
    Réponses: 2
    Dernier message: 15/05/2006, 14h39

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