DBAsupport.com Forums - Powered by vBulletin
Results 1 to 7 of 7

Thread: ORA-01652: error

  1. #1
    Join Date
    Feb 2004
    Posts
    9

    Cool ORA-01652: error

    Hi,
    when i was working with the database i got an error like


    ORA-01652: unable to extend temp segment by 320 in tablespace SYSTEM
    there are still more free space left in the system tablespace
    can any one help me this out
    --------------------------------------------------------------------
    I also checked for the specific user default tablespace -users
    temporary tablespace is temp
    -------------------------------------------------------------------

    SELECT username, temporary_tablespace, default_tablespace
    FROM USER_USERS
    USERNAME TEMPORARY_TABLESPACE DEFAULT_TABLESPACE
    ------------------------------ ------------------------------ ------------------------------
    SYS TEMP SYSTEM
    Last edited by vijayblr; 11-01-2004 at 03:25 PM.

  2. #2
    Join Date
    Apr 2000
    Location
    Baltimore, MD
    Posts
    759
    You might want to change the temp tablespace from system to temp for whichever user is getting this error.

  3. #3
    Join Date
    Nov 2000
    Location
    Pittsburgh, PA
    Posts
    4,166
    Originally posted by Halo
    You might want to change the temp tablespace from system to temp for whichever user is getting this error.
    While you are at it you may want to see what other users are defaulted to.

    Code:
    SELECT username, temporary_tablespace, default_tablespace 
      FROM USER_USERS;
    Ediso, NJ. I used to work in Raritan Center, AKA Raritan Arsenal. Home of world war I munitions and mustard gas. They were pulling TNT out of the ground accross the street from where I worked.

  4. #4
    Join Date
    Dec 2000
    Location
    Ljubljana, Slovenia
    Posts
    4,439
    You simply need to enlarge your SYSTEM tablespace, that's all. It has nothing to do with the temporary tablespace assigment.

    Another question arises, however: why are you creating new segment under user SYS? What have you been doing? Creating the database? Installing some new database options in the data dictionary? Because it is obvious that you've got that error while either creating a new table (CREATE TABLE AS SELECT) or creating a new index on one of the SYS's tables. Are you sure you know what you are doing?
    Jurij Modic
    ASCII a stupid question, get a stupid ANSI
    24 hours in a day .... 24 beer in a case .... coincidence?

  5. #5
    Join Date
    Oct 2004
    Posts
    14
    You may also want to coalesce the SYSTEM tablespace:
    ALTER TABLESPACE SYSTEM COALESCE;
    If you don't, the total free space may seem to be enough, but it may be comprised of small chunks. (In other words it may be fragmented.)

    Since an extent must always be contiguous space, Oracle cannot find a big enough chunk of contiguous space. When you coalesce the fragmented small chunks that happen to be directly next to each other, you are defragmenting your tablespace into fewer but larger chunks of space. Now Oracle may be able to allocate the extent.

    To see the free chunks of space, SELECT BYTES FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME='SYSTEM' ORDER BY BYTES DESC;

    Gabor
    Last edited by Gabor; 11-02-2004 at 11:07 AM.

  6. #6
    Join Date
    Dec 2000
    Location
    Ljubljana, Slovenia
    Posts
    4,439
    Originally posted by Gabor
    You may also want to coalesce the SYSTEM tablespace:
    ALTER TABLESPACE SYSTEM COALESCE;
    If you don't, the total free space may seem to be enough, but it may be comprised of small chunks. (In other words it may be fragmented.)

    Since an extent must always be contiguous space, Oracle cannot find a big enough chunk of contiguous space. When you coalesce the fragmented small chunks that happen to be directly next to each other, you are defragmenting your tablespace into fewer but larger chunks of space. Now Oracle may be able to allocate the extent.

    To see the free chunks of space, SELECT BYTES FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME='SYSTEM' ORDER BY BYTES DESC;
    That's all true, however again the question arises: why the SYSTEM tablespace got fragmented!!??? SYSTEM tablespace shoul only hold database dictionary segments and as such it could never get fragmented. There is no "DROP TABLE" or "DROP INDEX" from the data dictionary during the life of the database, so how could (properly managed) system tablespace become fragmented?
    Jurij Modic
    ASCII a stupid question, get a stupid ANSI
    24 hours in a day .... 24 beer in a case .... coincidence?

  7. #7
    Join Date
    Nov 2000
    Location
    greenwich.ct.us
    Posts
    9,092
    Originally posted by jmodic
    (properly managed)
    being the key words...
    Jeff Hunter

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width