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 :

ORA-01653: unable to extend table


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Points : 52
    Points
    52
    Par défaut ORA-01653: unable to extend table
    Bonjour,

    Suite à cette requête :

    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
    INSERT INTO CUSTOMFIELDVALUE_TER  
          (CUSTVALUEDWHID,
          ID,
          ISSUE,
          CUSTOMFIELD,
          PARENTKEY,
          STRINGVALUE,
          NUMBERVALUE,
          DATEVALUE,
          VALUETYPE,
          ISUPDATED,
          DATEINSERTED,
          INSERTSTATUS,
          IMPORTSTATUS,
          TEXTVALUE)
    SELECT 
          DWHID_CUSTOMFIELDVALUE.NEXTVAL,
          a.ID,
          a.ISSUE,
          a.CUSTOMFIELD,
          a.PARENTKEY,
          a.STRINGVALUE,
          a.NUMBERVALUE,
          a.DATEVALUE,
          a.VALUETYPE,
           'YES' as ISUPDATED  ,                                                                                                                                                                                                                                                                                                                                            
          sysdate as DATEINSERTED,                                                                                                                                                                                                                                                                                                                                                 
         'NEW' as INSERTSTATUS,
    		 'FULL' as IMPORTSTATUS,
          dbms_lob.substr(a.TEXTVALUE,4000)                                                                                                                                                                                                                                                                                                                                                   
    FROM  CUSTOMFIELDVALUE a
    J'ai cela comme message d'erreur

    SQL Error: ORA-01653: unable to extend table JIRAQUAL.CUSTOMFIELDVALUE_TER by 128 in tablespace JIRAQUAL_DAT
    01653. 00000 - "unable to extend table %s.%s by %s in tablespace %s"
    *Cause:Failed to allocate an extent of the required number of blocks for a table segment in the tablespace indicated.
    *Action:Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
    files to the tablespace indicated.

    Savez-vous la raison pour laquelle ma requête ne marche pas et la solution s'il y a un problème ? je cherche depuis ce matin sans rien trouver.

    Merci

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    peut-être que ton tablespace est plein?

    que te donnes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select count(*),sum(bytes) 
    from dba_free_space 
    where tablespace_name='JIRAQUAL_DAT'

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    ORA-01653

    Explanation:
    ------------
    This error does not necessarily indicate whether or not you have enough space
    in the tablespace, it merely indicates that Oracle could not find a large enough area of free
    contiguous space in which to fit the next extent.


    Diagnostic Steps:
    -----------------
    1. In order to see the free space available for a particular tablespace, you must
    use the view DBA_FREE_SPACE. Within this view, each record represents one
    fragment of space. How the view DBA_FREE_SPACE can be used to determine
    the space available in the database is described in:
    [NOTE:121259.1] Using DBA_FREE_SPACE

    2. The DBA_TABLES view describes the size of next extent (NEXT_EXTENT) and the
    percentage increase (PCT_INCREASE) for all tables in the database.
    The "next_extent" size is the size of extent that is trying to be allocated (and for
    which you have the error).

    When the extent is allocated :
    next_extent = next_extent * (1 + (pct_increase/100))

    Algorythm to allocate extent for segment is described in the Concept Guide
    Chapter : Data Blocks, Extents, and Segments - How Extents Are Allocated

    3. Look to see if any users have the tablespace in question as their temporary tablespace.
    This can be checked by looking at DBA_USERS (TEMPORARY_TABLESPACE).

    Possible solutions:
    -------------------
    - Manually Coalesce Adjacent Free Extents
    ALTER TABLESPACE COALESCE;
    The extents must be adjacent to each other for this to work.

    - Add a Datafile:
    ALTER TABLESPACE ADD DATAFILE ''
    SIZE ;

    - Resize the Datafile:
    ALTER DATABASE DATAFILE '' RESIZE ;

    - Enable autoextend:
    ALTER DATABASE DATAFILE ?? AUTOEXTEND ON
    MAXSIZE UNLIMITED;

    - Defragment the Tablespace:

    - Lower "next_extent" and/or "pct_increase" size:
    ALTER STORAGE ( next
    pctincrease );

    - If the tablespace is being used as a temporary tablespace, temporary segments may
    be still holding the space.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Points : 52
    Points
    52
    Par défaut
    Merci bien

    la requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(*),sum(bytes) 
    FROM dba_free_space 
    WHERE tablespace_name='JIRAQUAL_DAT'
    me donne rien, j'ai ce message d'erreur


    ORA-00942: table or view does not exist
    00942. 00000 - "table or view does not exist"

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    ok, tu n'as pas les droits sur cette vue du dictionnaire.

    que te donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select * from user_ts_quotas;
    select * from session_privs;

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    demande aussi à ton DBA si le tablespace est plein, ok?

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Points : 52
    Points
    52
    Par défaut
    La requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM user_ts_quotas;
    me donne ça

    TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DROPPED
    JIRAQUAL_BLOB 433979392 -1 52976 -1 NO
    JIRAQUAL_DAT 3752394752 -1 458056 -1 NO
    JIRAQUAL_IDX 958267392 -1 116976 -1 NO

    et celle là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM session_privs;
    Privilège
    CREATE SESSION
    UNLIMITED TABLESPACE
    CREATE TABLE
    CREATE CLUSTER
    CREATE SYNONYM
    CREATE VIEW
    CREATE SEQUENCE
    CREATE PROCEDURE
    CREATE TRIGGER
    CREATE TYPE
    CREATE OPERATOR
    CREATE INDEXTYPE
    QUERY REWRITE

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Points : 52
    Points
    52
    Par défaut
    La table CUSTOMFIELDVALUE_TER ne peut contenir plus que 1839565

    Si j'insère une ligne supplémentaire j'aurai le message d'erreur.

    Que cela signifie ?

    Merci

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 168
    Points : 52
    Points
    52
    Par défaut
    Problème résolu,

    Comme je n'ai pas assez de droit j'ai appelé mon DBA qui a augmenté le tablespace

    Merci bien pour votre aide

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

Discussions similaires

  1. ORA-1652: unable to extend temp segment
    Par couse1 dans le forum Administration
    Réponses: 2
    Dernier message: 08/01/2013, 11h32
  2. ORA-1652: unable to extend temp segment
    Par elharet dans le forum Administration
    Réponses: 8
    Dernier message: 16/03/2009, 14h28
  3. Réponses: 4
    Dernier message: 21/05/2007, 15h51
  4. Réponses: 4
    Dernier message: 21/11/2005, 12h04
  5. Réponses: 21
    Dernier message: 30/03/2005, 17h22

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