To resize temporary tablespace

The temporary tablespace extends endlessly and its size reaches 3.8 GB now. Every time the database startup, it takes a long time to initialize the temporary tablespace before completing startup process.
I want to resize it. What should I do next?
Should I add a limit to its size?
May experts here share your experience?
Thanks,
Richard

To all,
thank you for your opinions!
From the following SQL and its result, it can be noted that most space of the temporary segment is free.
select f.TABLESPACE_NAME, f.FILE_NAME, f.AUTOEXTENSIBLE, sum(s.BYTES)
from dba_free_space s, dba_data_files f
where s.FILE_ID = f.FILE_ID
group by f.TABLESPACE_NAME, f.FILE_NAME, f.AUTOEXTENSIBLE
DRSYS     C:\ORACLE\ORADATA\HRDB01\DR01.DBF     YES     87941120
INDX     C:\ORACLE\ORADATA\HRDB01\INDX01.DBF     YES     45735936
RBS     C:\ORACLE\ORADATA\HRDB01\RBS01.DBF     YES     503308288
SYSTEM     C:\ORACLE\ORADATA\HRDB01\SYSTEM01.DBF     YES     12632064
TEMP     C:\ORACLE\ORADATA\HRDB01\TEMP01.DBF     YES     3964395520
TOOLS     C:\ORACLE\ORADATA\HRDB01\TOOLS01.DBF     YES     12574720
USERS     C:\ORACLE\ORADATA\HRDB01\USERS01.DBF     YES     113238016
Then what should I do next? Drop the existing one and recreate a new temporary tablespace with a max size limit?
Richard

Similar Messages

  • Resizing temporary tablespace in oracle 8i

    Please,
    I some questions on oracle 8i.
    1. how do I know on oracle 8i if the tablespace X is the temporary tablespace?
    2. I have someone that increase the size of the temporary tablespace, so I have to decrease it to its normal size, my question is when I do the following command.
    alter database tempfile '/u02/oradata/TESTDB/temp01.dbf' resize 250M;
    alter database tempfile '/u02/oradata/TESTDB/temp01.dbf' resize 250M
    ERROR at line 1:
    ORA-03297: file contains used data beyond requested RESIZE value
    Does someone show me how to solve this issue?
    Thanks

    you can use the below sqls
    sql>SELECT tablespace_name, extent_size, total_extents, used_extents,
    free_extents, max_used_size FROM v$sort_segment;
    From the output of the v$sort_segment query:
    extent_size      : size of one extent, in number of Oracle blocks
    total_extents     : total number of extents in the segment (free or in use)
    used_extents      : total number of extents currently in use
    free_extents      : total number of extents currently marked as free
    max_used_size: maximum number of extents ever needed by an operation (like a sort):
    sql> SELECT s.username, u.tablespace, u.contents, u.extents, u.blocks FROM v$session s,
    v$sort_usage u WHERE s.saddr=u.session_addr;
    SQL> select s.username, s.sid, u.tablespace, u.contents, u.segtype,
    round(u.blocks*8192/1024/1024,2) MB
    from v$session s, v$sort_usage u
    where s.saddr = u.session_addr
    and u.contents = 'TEMPORARY'
    order by MB DESC ;
    reference
    ### search MetaLink on: resize tempfile
    Note 273276.1 How to Shrink the datafile of Temporary Tablespace
    Note 274283.1 How to resize Tempfiles if receive an ORA-03297 error Gen RDBMS.
    RD-9014 :
    Note 132663.1 ORA-03296 Resizing Temporary Locally Managed Tablespace
    Note 180578.1 Cannot Resize Tempfiles in Bitmapped Temporary Tablespaces
    Note 161103.1 Space For a Tempfile Not Allocated In The Filesystem

  • Temporary tablespace-Problem

    Hi,
    How to view the temporary tablespace usage?
    How to deallocate the used temporary tablespace segments/ resize temporary tablespace?
    I am running a query which is consuming 4GB temporary tablespace and failing.
    pga_aggregate_traget=500m;
    oracle -9.2.0.1.0
    OS:Windows 2003
    How to solve this?
    regards
    Mathew

    Hi,
    We are using the following View and it is fetchhing 46,56,00,000 rows.
    PGA=500m
    While running the query temporary tablespace is growing upto 4GB and query is failling.
    CREATE OR REPLACE FORCE VIEW MHUBADMIN.LOAN_PIPELINE_VIEW
    (LOAN_ID, USER_ID, FIRST_NAME, LAST_NAME, BORROWER_NAME,
    SSN, USERNAME, SELLERLOANNUMBER, LOANNUMBER, LOANAMOUNT,
    STATUS_DESC, LOAN_TYPE, LOCK_EXPIRE_DATE, ORG_NAME, ORG_PARENT_ID,
    ORG_CHILD_ID, NO_CASCADE_FLAG, PRODUCT_NAME, INT_RATE, UPDATE_DATE,
    UPDATE_DATE_STR, CURRENT_DATE, LOWER_FIRST_NAME, LOWER_LAST_NAME, LOWER_SSN,
    LOWER_STATUS_DESC, STATUS_ID, AMORTIZATION_TYPE, STREET1, LOCK_EXTEN_EXPIR_DATE,
    RELOCK_EXPIR_DATE, LOCK_RELOCK_COUNT, UNDERWRITE_FLAG, RECENT_EXPIR_DATE, STATUS_DATE)
    AS
    SELECT
    LOAN.loan_id,
    LOAN.user_id,
    PERSON.first_name,
    PERSON.last_name,
    PERSON.last_name||', '||PERSON.first_name AS Borrower_Name,
    PERSON.ssn,
    HUBUSER.username,
    LOAN.sellerloannumber,
    LOAN.loannumber,
    LOAN.loanamount,
    STATUS.status_desc,
    LOAN.loan_type,
    PRICE.lock_expire_date,
    ORGANIZATION.org_name,
    BUSINESS_RELATIONSHIP.org_parent_id,
    BUSINESS_RELATIONSHIP.org_child_id,
    BUSINESS_RELATIONSHIP.no_cascade_flag,
    product_name,
    PRICE.final_rate,
    LOAN.update_date,
    TO_CHAR (LOAN.update_date,
    'MM/DD/YYYY HH:MI:SS AM') update_date_str,
    sysdate,
    LOWER (PERSON.first_name),
    LOWER (PERSON.last_name),
    LOWER (PERSON.ssn),
    LOWER (STATUS.status_desc),
    STATUS.status_id,
    LOAN.amortization_type,
    ADDRESS.STREET1,
    PRICE.LOCK_EXTEN_EXPIR_DATE,
    PRICE.RELOCK_EXPIR_DATE,
    LOAN.LOCK_RELOCK_COUNT,
    LOAN.UNDERWRITE_FLAG,
    decode (status.STATUS_ID,
    22, PRICE.LOCK_EXTEN_EXPIR_DATE,
              23, PRICE.lock_expire_date,
              13, PRICE.lock_expire_date,
              24, PRICE.RELOCK_EXPIR_DATE,
              PRICE.lock_expire_date) RECENT_EXPIR_DATE,
              LOAN_STATUS_HISTORY.STATUS_DATE
    FROM
    LOAN,
    HUBUSER,
    ORGANIZATION,
    BUSINESS_RELATIONSHIP,
    BORROWER,
    PERSON,
    STATUS,
    PRICE,
    product,
    PROPERTY,
    ADDRESS,
    LOAN_STATUS_HISTORY
    WHERE
    ORGANIZATION.org_id = BUSINESS_RELATIONSHIP.org_child_id AND
    LOAN.org_id = BUSINESS_RELATIONSHIP.org_child_id AND
    LOAN.loan_id = BORROWER.loan_id AND
    LOAN.registration_loan_status_id = STATUS.status_id AND
    LOAN.price_id = PRICE.price_id AND
    BORROWER.primaryborrower = 'T' AND
    PERSON.person_id = BORROWER.person_id AND
    LOAN.product_id = product.product_id AND
    LOAN.PROPERTY_ID = PROPERTY.PROPERTY_ID AND
    PROPERTY.ADDRESS_ID = ADDRESS.ADDRESS_ID AND
    LOAN.user_id = HUBUSER.user_id (+);
    Any one know how to tune this query?
    regards
    Mathew

  • Temporary tablespace resizing in physical standby

    Hi all,
    We have a oracle 9.2.0.6 on Sun soalris.IN Our standby db we are facing one problem is related to temporary tablespaces.
    ORA-1652: unable to extend temp segment by 128 in tablespace TEMPso how to resize the datafile we are already having a two dafiles realted to temp tablespaces
    Edited by: user00726 on Jun 2, 2009 10:25 PM

    Hi Kamran and Anand,
    Both the command s are working
    ALTER DATABASE ADD TEMPFILE 'tempfile_name.dbf' SIZE 5GByesterday only i have added one of the datafile on the same standby database
    Wed Jun  3 01:33:53 2009
    ORA-1652: unable to extend temp segment by 128 in tablespace                 TEM
    P
    Wed Jun  3 01:33:54 2009
    ORA-1652: unable to extend temp segment by 128 in tablespace                 TEM
    P
    Wed Jun  3 11:23:15 2009
    ALTER DATABASE TEMPFILE '/bkp/oradata1/temp02.dbf' resize 4024 M
    Wed Jun  3 11:24:00 2009
    Completed: ALTER DATABASE TEMPFILE '/bkp/oradata1/temp02.dbf'
    Wed Jun  3 12:53:26 2009
    ORA-1652: unable to extend temp segment by 128 in tablespace                 TEM
    P
    Wed Jun  3 12:53:26 2009
    ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMand
    today also i have resized the temp files
    ALTER DATABASE TEMPFILE 'tempfile_name.dbf' RESIZE 5GB

  • Shrinking a Locally Managed Temporary Tablespace

    So, even thoguh the documentation is pretty clear about how to use this feature, I cannot get it to do what I expect it to do for me.
    And that would be shrinking the tempfile ;)
    Now lets face it, I have a large tempfile and want to resize it without restarting the database:
    C:\Users\Administrator>sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.2.0 Production on Di Nov 20 05:49:59 2012
    Copyright (c) 1982, 2010, Oracle. All rights reserved.
    Connected to:
    Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
    SQL> select file_name
    , ceil(bytes / 1024 / 1024) "size MB"
    from dba_temp_files
    FILE_NAME size MB
    R:\MXVC01\TEMP01.DBF 31,231
    SQL> select su.username
    , ses.sid
    , ses.serial#
    , su.tablespace
    , ceil((su.blocks * dt.block_size) / 1048576) MB
    from v$sort_usage su
    , dba_tablespaces dt
    , v$session ses
    where su.tablespace = dt.tablespace_name
    and su.session_addr = ses.saddr
    USERNAME SID SERIAL# TABLESPACE MB
    VPXADMIN 15 15 TEMP 14
    VPXADMIN 17 5 TEMP 1,203
    VPXADMIN 17 5 TEMP 1
    VPXADMIN 18 3 TEMP 7
    VPXADMIN 19 3 TEMP 1
    VPXADMIN 144 3 TEMP 1
    VUMADMIN 156 2597 TEMP 1
    7 rows selected.
    Or this one:
    SQL> select tablespace_size/1024/1024 "tablespace_size mb"
    , allocated_space/1024/1024 "allocated_space mb"
    , free_space/1024/1024 "free_space mb"
    from dba_temp_free_space
    tablespace_size mb allocated_space mb free_space mb
    31230,9922 1228,99219 30002
    Documetation from here: http://docs.oracle.com/cd/E11882_01/server.112/e25494/tspaces007.htm#ADMIN12353
    +"Shrinking a Locally Managed Temporary Tablespace+
    +Large sort operations performed by the database may result in a temporary tablespace growing and occupying a considerable amount of disk space. After the sort operation completes, the extra space is not released; it is just marked as free and available for reuse. Therefore, a single large sort operation might result in a large amount of allocated temporary space that remains unused after the sort operation is complete. For this reason, the database enables you to shrink locally managed temporary tablespaces and release unused space.+
    +You use the SHRINK SPACE clause of the ALTER TABLESPACE statement to shrink a temporary tablespace, or the SHRINK TEMPFILE clause of the ALTER TABLESPACE statement to shrink a specific tempfile of a temporary tablespace. Shrinking frees as much space as possible while maintaining the other attributes of the tablespace or tempfile. The optional KEEP clause defines a minimum size for the tablespace or tempfile.+
    +Shrinking is an online operation, which means that user sessions can continue to allocate sort extents if needed, and already-running queries are not affected.+
    +The following example shrinks the locally managed temporary tablespace lmtmp1 to a size of 20M.+
    +ALTER TABLESPACE lmtemp1 SHRINK SPACE KEEP 20M;+
    +The following example shrinks the tempfile lmtemp02.dbf of the locally managed temporary tablespace lmtmp2. Because the KEEP clause is omitted, the database attempts to shrink the tempfile to the minimum possible size.+
    +ALTER TABLESPACE lmtemp2 SHRINK TEMPFILE '/u02/oracle/data/lmtemp02.dbf';"+
    OK, lets do it:
    SQL> alter tablespace temp shrink tempfile 'R:\MXVC01\TEMP01.DBF';
    alter tablespace temp shrink tempfile 'R:\MXVC01\TEMP01.DBF'
    ERROR at line 1:
    ORA-03214: File Size specified is smaller than minimum required
    It seems there is a bug? Should I report it, or is it the expected behaviour?
    Now lets try this one:
    SQL> alter tablespace temp shrink tempfile 'R:\MXVC01\TEMP01.DBF' keep 2048M;
    Tablespace altered.
    SQL> select file_name
    , ceil(bytes / 1024 / 1024) "size MB"
    from dba_temp_files
    FILE_NAME size MB
    R:\MXVC01\TEMP01.DBF 31,231
    So .... this lasts about *10 minutes*, and nothing changes?
    It seems there is a bug? Should I report it, or is it the expected behaviour?
    Could someone enlighten me, what this SHRINK is actually doing?
    Is it worth to report this as bug, if not a software bug it is at least a documentation bug because it doesn't mention under which conditions it is working?
    P.S.: OMG the posting looks terrible, who's the one to blame for this forum software where it is not possible to use fixed size fonts, or format paragraphs as code, or what about the fact that the forum software is using default SQLPlus output as META for some graphical lines?
    Isn't this the forum for Oracle Database users?
    Edited by: Gerrit Haase on 20.11.2012 13:44

    So, you are kidding with me? No? Who are you?
    How can I block users here? Is there a moderator present at this forum?
    Maybe you read my initial post again?
    I didn't look at the wrong place.
    I reported you for general abuse.
    SQL> define
    DEFINE _DATE           = "20.11.12" (CHAR)
    DEFINE CONNECTIDENTIFIER = "MXVC01" (CHAR)
    DEFINE _USER           = "SYS" (CHAR)
    DEFINE _PRIVILEGE      = "AS SYSDBA" (CHAR)
    DEFINE SQLPLUSRELEASE = "1102000200" (CHAR)
    DEFINE _EDITOR         = "Notepad" (CHAR)
    DEFINE OVERSION = "Oracle Database 11g Release 11.2.0.2.0 - 64bit Production" (CHAR)
    DEFINE ORELEASE = "1102000200" (CHAR)
    SQL> SELECT * FROM dba_temp_free_space;
    TABLESPACE_NAME TABLESPACE_SIZE ALLOCATED_SPACE FREE_SPACE
    TEMP 3,2748E+10 1306517504 3,1443E+10
    SQL> select TABLESPACE_SIZE/power(2,20), ALLOCATED_SPACE/power(2,20), FREE_SPACE/power(2,20) from dba_temp_free_space ;
    TABLESPACE_SIZE/POWER(2,20) ALLOCATED_SPACE/POWER(2,20) FREE_SPACE/POWER(2,20)
    31230,9922 1245,99219 29986
    SQL> ALTER TABLESPACE temp SHRINK SPACE;
    Tablespace altered.
    SQL> select TABLESPACE_SIZE/power(2,20), ALLOCATED_SPACE/power(2,20), FREE_SPACE/power(2,20) from dba_temp_free_space ;
    TABLESPACE_SIZE/POWER(2,20) ALLOCATED_SPACE/POWER(2,20) FREE_SPACE/POWER(2,20)
    31230,9922 1244,99219 *29986*
    R:\mxvc01>dir temp
    Volume in drive R is Disk_R
    Volume Serial Number is 248B-61D4
    Directory of R:\mxvc01
    20.11.2012 08:09 32.748.077.056 TEMP01.DBF
    1 File(s) 32.748.077.056 bytes
    0 Dir(s) 8.259.297.280 bytes free
    SQL> alter tablespace temp shrink tempfile 'R:\mxvc01\TEMP01.DBF';
    alter tablespace temp shrink tempfile 'R:\mxvc01\TEMP01.DBF'
    ERROR at line 1:
    ORA-03214: File Size specified is smaller than minimum required
    *It clearly says that there is 29986 MB Space FREE and the above shrink space changes nothing and so does shrink tempfile:*
    SQL> alter tablespace temp shrink tempfile 'R:\mxvc01\TEMP01.DBF';
    alter tablespace temp shrink tempfile 'R:\mxvc01\TEMP01.DBF'
    ERROR at line 1:
    ORA-03214: File Size specified is smaller than minimum required
    SQL> alter tablespace temp shrink tempfile 'R:\mxvc01\TEMP01.DBF' KEEP 20M;
    Tablespace altered.
    R:\mxvc01>dir temp
    Volume in drive R is Disk_R
    Volume Serial Number is 248B-61D4
    Directory of R:\mxvc01
    20.11.2012 08:24 32.748.077.056 TEMP01.DBF
    1 File(s) 32.748.077.056 bytes
    0 Dir(s) 8.259.280.896 bytes free
    *... nothing changes, the tempfile isn't smaller now ...*

  • Cleaning up temporary tablespace

    Hi,
    I am facing a problem where temporary tablespace of the production database has grown to 23GB.The instance cannot be bounced and there is very little space left for the rest of the database.I want to free up the excess space.I know I can do it by creating a new temp tablespace,assigning it as default and dropping the old one.But I want to know how I can resize the existing temp tablespace.when I try the following command:
    alter database datafile '/d02/oradata/<SID>/temp01.dbf' resize 1G;
    it gives the following error:
    file contains used data beyond requested RESIZE value.
    How can I get around the above problem.there is no session using TEMP tablespace.Plz suggest a solution as I really want to know how this can be done.

    First of all, You can't resize the temp tablespace datafiles size as once the temp tbs allocate extents, after the operation finishes, oracle won't deallocate them as it keep them for future requirements and usage.
    What you can do in your case, as you cant bounce the db, create another temp tablespace and assign it as default temp tbs and drop the old one.
    Also, dont keep its datafiles for auto extend and if you see any error message in alter log file like 'unable to extend temp tablespace' then increase the size. If you feel your queries may fail due to this, you can also use resumable option and investigate why does it requred 20+G for temp?
    SJH
    OCP DBA

  • Cleanup Temporary Tablespace

    Our programmer has me increasing the size of our temporary tablespace due to a materialized view he is having trouble with. The error message he is getting says he is running out of temp space, so he has had me create 4 temp spaces on the C drive(temp01,temp02,temp03,temp04) so far. Three with 2000mb each and one with 2500mb.
    He now has had me create one temp space on another larger drive with 14000mb. And, he wants me to cleanup the temp spaces on the C drive. Can that be done? How?
    Grateful!

    If I understand correctly you have 4 TEMP tablespaces temp01,temp02,temp03,temp04 and then you created another. To clean out the old temp, I would first suggest you shink the datafile to something small using the command: alter database datafile '<filename>' resize 50k; Then if you do not want the tablespaces anymore just drop them.
    [email protected]

  • TEMPORARY TABLESPACE에서, TEMPFILE을 사용할지, DATAFILE을 사용 할지 결정에 필요한 지침

    제품 : ORACLE SERVER
    작성날짜 : 2003-02-24
    TEMPORARY TABLESPACE에서, 임시 파일을 사용할지, 데이터파일을 사용 할지 결정에 필요한 지침
    ===========================================================================================
    PURPOSE
    이 문서는, TEMPORARY TABLESPACE에서 임시 파일과 데이터파일의 차이점을
    소개하는 데 목적이 있다.
    Explanation
    | TEMPORARY | Tablespace |
    | tablespace | TEMPORARY |
    | Locally | Dictionary |
    | managed | managed |
    | Datafiles | impossible | Y |
    | Tempfiles | Y | impossible |
    ------------------------------------------+
    다른 조합은 허용되지 않는다.
    1. TEMPORARY Tablespace / Tablespace TEMPORARY 와 PERMANENT tablespace 비교
    1) Tablespace TEMPORARY는 오라클 7.3 이상 버젼에서 사용가능하다.
    => Tablespace TEMPORARY는 다음과 같은 명령을 사용하여 생성한다.
    CREATE TABLESPACE .. TEMPORARY
    이 경우 데이터파일만을 사용한다.
    2) TEMPORARY tablespac는 오라클 8i 이상 버젼에서 사용 가능하다
    => TEMPORARY tablespace는 다음과 같은 명령을 사용하여 생성한다
    CREATE TEMPORARY TABLESPACE .. TEMPFILE
    이 경우 tempfile만 사용할 수 있다.
    3) Tablespace TEMPORARY/TEMPORARY tablespace는 DBA_TABLESPACES의
    CONTENTS 값이 TEMPORARY로 나타난다.
    4) Tablespace TEMPORARY/TEMPORARY tablespace 는 PERMANENT
    tablespace와 다르며 (DBA_TABLESPACES.CONTENTS 값이 PERMANENT임)
    permanent segment를 생성 할 수 없다. 예를 들어, permanent table이나
    index, cluster, rollback segment등을 Tablespace TEMPORARY/TEMPORARY
    tablespace에 생성할 수 없다.
    5) Tablespace TEMPORARY/TEMPORARY tablespace 에서는, 단일한
    temporary segment를 제공하며, 이 세그먼트는 다음과 같은
    요구사항을 가진 모든 사용자에 의해 공유된다.
    => sort 작업에 따른 sort extents를 필요로 하는 사용자
    => GLOBAL TEMPORARY TABLE에 필요한 temporary extents
    이와 같은 고유한 temporary segment는 동시에 많은 양의 sort 작업이
    수행되거나, 여러 트랜잭션이 동일한 temporary table을 사용할 때,
    permanent tablespace에서 작업하는 overhead를 피하고, 오라클의
    공간 관리 작업의 부하를 피하는데 도움을 준다.
    6) Temporary segment는 인스턴스 구동후 사용자가 sort extent나
    sort run, 또는 global temporary table 생성등의 요청에 따라
    자동적으로 생성된다.
    7) Temporary segment는 인스턴스 shutdown시 자동적으로 drop 된다.
    8) Temporary Content를 저장하는 테이블스페이스에 대한
    세그먼트의 공간 할당/할당 해제 관련 정보는 V$SORT_SEGMENT와
    V$SORT_USAGE 뷰를 사용하여 확인해 볼 수 있으며, sort segment
    등에 현재 sort를 진행하는 사용 정보를 보여준다.
    9) 위와 같은 작업을 수행하는데 PERMANENT tablespace 보다는
    tablespace TEMPORARY를 사용하는 것이 유리한 점은 <Bulletin No:
    11938>에 자세히 기술되어 있따.
    10) 오라클 8i에서는, 사용자별 default temporary tablespace가 어떤
    종류라도 상관이 없으나, PERMANENT locally managed 방식의 테이블
    스페이스는 지정할 수 없다. 다음은 PERMANENT locally managed 방식의
    테이블스페이스를 default temporary tablespace로 지정하여 발생하는
    에러이다.
    SQL> alter user x temporary tablespace PERM_LOCAL;
    User altered.
    SQL> select * from dba_tables order by 3,2,6,4,7,9,1,5;
    select * from dba_tables order by 3,2,6,4,7,9,1,5
    ERROR at line 1:
    ORA-03212: Temporary Segment cannot be created in locally-managed tablespace
    오라클 9i에서는 사용자별 default temporary tablespace가
    어떤 TEMPORARY 타입이라도 무방하다.
    => TEMPORARY tablespace locally managed
    => tablespace TEMPORARY dictionary managed
    PERMANENT locally-managed 타입의 테이블스페이스를 사용자의
    TEMPORARY tablespace으로 지정할 때 다음과 같은 에러가 발생한다.
    SQL> alter user x temporary tablespace PERM_LOCAL;
    alter user x temporary tablespace PERM_LOCAL
    ERROR at line 1:
    ORA-12911: permanent tablespace cannot be temporary tablespace
    2. TEMPORARY Tablespace/Tempfiles 대비 Tablespace TEMPORARY/Datafile
    1) 공간관리
    공간 관리는, locally managed tablespace에서 훨씬 단순하고, 또
    효율적이기 때문에, TEMPORARY tablespace를 사용하는 것이
    바람직하다. Local managedment 방식에서 사용 가능한 유일한
    방식이 temporary tablespace 방식이다.
    SQL> create tablespace temp1
    2 DATAFILE '/ora/ora817/32/oradata/V817/temp1.dbf' size 100M
    3 TEMPORARY
    4 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
    create tablespace temp1
    ERROR at line 1:
    ORA-25144: invalid option for CREATE TABLESPACE with TEMPORARY contents
    Dictionary-managed tablespace 대비 locally-managed tableapce의 장점은
    <Bulletin No: 18261>에 자세히 기술되어 있다.
    오라클 8i에서는, sort segment가 locally managed permanent tablespace에
    생성될 수 없으므로, locally managed TEMPORARY tablespace를 사용하여야
    한다.
    Locally managed temporary tablespace는 tempfile을 사용하며, temporary
    tablespace 바깥 데이터에 전혀 영향을 주지 않으면서, temporary tablespace
    관련 데이터에 대한 redo정보가 생성되지 않는다.
    이 테이블스페이스는, standby database나 read-only database에서도
    사용 가능하다.
    2) View
    TEMPORARY tablespace 와 연관된 파일 목록은 V$TEMPFILE 과
    DBA_TEMP_FILES 뷰를 통해 확인할 수 있다.
    SQL> select * from dba_tablespaces;
    TABLESPACE_NAME CONTENTS EXTENT_MAN
    TEMP_TEMPFILE_LOCAL TEMPORARY LOCAL
    TEMP_DATAFILE_DICT TEMPORARY DICTIONARY
    SQL> select STATUS, ENABLED, NAME from v$tempfile;
    STATUS ENABLED NAME
    ONLINE READ WRITE /tcase/oradata/V901/temp_temp01.dbf
    SQL> select FILE_NAME, TABLESPACE_NAME from dba_temp_files;
    FILE_NAME TABLESPACE_NAME
    /tcase/oradata/V901/temp_temp01.dbf TEMP_TEMPFILE_LOCAL
    위 내용은 tablespace TEMPORARY 환경에서 V$DATAFILE 와
    DBA_DATA_FILES를 사용하는 것에 비길 수 있다.
    SQL> select STATUS, ENABLED, NAME from v$datafile;
    STATUS ENABLED NAME
    ONLINE READ WRITE /tcase/oradata/V901/temp_data01.dbf
    SQL> select FILE_NAME, TABLESPACE_NAME from dba_data_files;
    FILE_NAME TABLESPACE_NAME
    /tcase/oradata/V901/temp_data01.dbf TEMP_DATAFILE_DICT
    3) 권한
    Temporary tablespace 또는 tablespace temporary 생성을 위해서는
    CREATE TABLESPACE system privilege가 필요하다.
    4) TEMPORARY Tablespace 생성
    SQL> create TEMPORARY tablespace temp_tempfile_local
    2 TEMPFILE '/ora/V817/temp_temp.dbf' size 100M
    3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
    참고: 일부 OS에서는 tempfile block이 실제 액세스 되기
    전 까지 tempfile이 실제로 생성되지 않는다. 이와 같은
    파일 생성 작업이 지체되어 처리 되는 것은, tempfile의
    생성과 크기 조정이 신속하게 처리되는데 도움이 된다.
    그러나, tempfile이 나중에 생성되더라도, 생성 가능한
    충분한 디스크 공간이 있어야 하겠다.
    사용중인 O/S에서 tempfile이 실제 생성되는 시점은
    플랫폼별 매뉴얼에 기술되어 있다.
    Tablespace TEMPORARY의 생성
    SQL> create tablespace TEMP_DATAFILE_DICT
    2 datafile '/tcase/oradata/V901/temp_data.dbf' size 100M
    3 TEMPORARY;
    Tablespace created.
    5) Tempfile/Datafile 제거
    a. 테이블스페이스를 drop 하기 전까지 테이블스페이스의 datafile을
    제거할 수 없다.
    참고: 오라클 9i에서 DROP TABLESPACE 명령에 추가된
    INCLUDING CONTENTS AND DATAFILES 절을 사용하면, OS로 부터
    관련 데이터파일도 삭제하는 작업을 자동화 할 수 있다.
    b. Temporary tablespace로 부터 tempfile을 삭제하고, 논리 구조를
    비어 있는 상태로 유지할 수 있다.
    => 오라클 8i:
    SQL> alter tablespace TEMP_TEMPFILE_LOCAL
    2 add tempfile '/oradata/V817/temp_temp01.dbf';
    Tablespace altered.
    SQL> alter database tempfile '/oradata/V817/temp_temp01.dbf'
    2 drop;
    Database altered.
    SQL> !ls /oradata/V817/temp_temp01.dbf
    /oradata/V817/temp_temp01.dbf
    위 명령을 수행 한 후, tempfile을 시스템으로 부터 삭제하고,
    나중에 다시 추가 시킬 수 있다.
    SQL> alter tablespace TEMP_TEMPFILE_LOCAL
    2 add tempfile '/oradata/V817/temp_temp01.dbf';
    Tablespace altered.
    => 오라클 9i: OS 파일을 삭제 하기 위해 INCLUDING DATAFILES
    절을 사용할 수 있다.
    SQL> alter database tempfile '/oradata/V901/temp_temp01.dbf'
    2 drop including datafiles;
    Database altered.
    SQL> !ls /oradata/V901/temp_temp01.dbf
    /oradata/V901/temp_temp01.dbf not found
    Temporary tablespace로 부터 모든 tempfile을 삭제하면,
    다음과 같은 에러가 발생할 수 있다.
    SQL> alter table olap.test add primary key (c);
    alter table olap.test add primary key (c)
    ERROR at line 1:
    ORA-25153: Temporary Tablespace is Empty
    ORA-25153
    25153, 00000, "Temporary Tablespace is Empty"
    // *Cause: An attempt was made to use space in a temporary tablespace with
    // no files.
    // *Action: Add files to the tablespace using ADD TEMPFILE command.
    이 에러 메시지는 동시 작업 수행시 디스크를 실제 액세스 하여야
    할 경우 발생하게 된다.
    Example
    Reference Documents
    <Note:132663.1> ORA-03296 Resizing Temporary Locally Managed Tablespace
    <Note:131769.1> ORA-03212 at Instance Startup
    <Note:102339.1> Temporary Segments: What Happens When a Sort Occurs
    <Note:160426.1> TEMPORARY Tablespaces : Tempfiles or Datafiles

  • Problem shrinking a temporary tablespace

    I have a temporary tablespace in 10.1.0.3 I need to shrink. I need to shrink the database.
    1. I change all users that user that temporary tablespace to a new temporary tablespace
    2. Tried to shrink it but got
    ERROR at line 1:
    ORA-03297: file contains used data beyond requested RESIZE value
    I take this to mean there are open transactions using this temporary tablespace? How do I find who currently is using this temporary tablespace? do i need to kill those sessions?

    Hi,
    There may be one issue, if there are transactions open and the old temp tbsp is currently used (for sorting, etc), you will not be able to drop it without crashing the sessions. It will be nice if you check which user sessions are using the old temp and either gracefully abort the session (by asking them) or wait until they are done. Otherwise you may create the new temp and make it default (tablespace as well as user's temp tablespace name) so that no new user session will connect to the old temp and you can monitor it to stop its usage.
    Thanks

  • Temporary Tablespace Issues

    Hi,
    Temporary tablespace is getting full used.
    Temp Tablespace details:
    Size=110GB
    I need to find out that how we can estimate actual size of Temporary tablespace.
    Could you please guide me for the same.
    Also PGA_AGGREGATE_TARGET is defined as size of 7GB.
    Thanks,

    If you facing the size issue then create another temporary tablespace (lets call it TEMP2).
    The next step would be to remove the temporary tablespace you want to resize from being the default temporary tablespace by making TEMP2 the default. perform these activities in off time .
    Hope this may help you :)
    --neeraj                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • [b]Resizing/Altering Tablespaces Oracle9i[/b]

    1. I want to solve a performance problem by resizing the:
    temporary tablespace
    rollback tablespace
    undo tablespace
    using
    Alter tablespace, by doubling the storage parameters.
    Is this enough or should I resize the associated datafiles?
    2. Is it better performance wise: to resize the datafiles, i.e doubling
    capacity
    OR
    adding another datafile to the tablespace with the same capacity as
    the first one.

    Well U should add space in datafiles if datafiles are of smaller size and very soon they need to autoextend.
    Storage parameters must be decided before making tablespace.
    for ur second query i will suggest u to have different datafile on different disks

  • Windows Server batch to resize TEMP tablespace.

    I was wondering if it's possible to use windows server 2003 batch jobs to RESIZE TEMP tablespace.
    Here are some details:
    Windows Server 2003
    Oracle 10gR2
    We do a windows batch job to backup all files on Oracle directory (.ctl, .dbf, etc) to a different server. With autoextend on, the TEMP.dbf gets to be really big. What I am wanting to do is reduce the size of the TEMP.dbf before backing up the files - to reduce the back up time.
    Since alter database tempfile 'c:\oracle\...' RESIZE 10M is a SQL command; is there a way I can resize it through the windows batch job? If so, mind pointing me the way?
    Thanks.

    a) Consider using RMAN for backup
    b) Don't backup temp tablespace
    c) Are Temporary tabesspaces Backed Up

  • Temporary Tablespace not shrinking automatically after restarting the DB.

    I had a Database with 2GB tempfile. It gave me an error that it's unable to extend the temporary segment. I added a new tempfile of 500MB. Within a few min the new file was filled. In process of shrinking the temporary files, I shutdown the DB, and restarted it. But the Tempfiles were still filled to the max. I still don't understand why? Then I attached a new tempfile of 1GB to the Temp Tablespace, but it didn't use the new tempfile. I repeated the restart process again but still the output was same.
    1. Both datafiles were filled to the max
    2. It didn't use the new (3rd) attached tempfile.
    Finally I've created a new tablespace with new Tempfiles, and it's working now. But I'm still confused. Please suggest me with the possibilities. How can i shrink the Temporary Tablespace/Tempfiles.
    Thanks & Regards
    Vikas Verma
    Manager (IT) / Sr. DBA
    Hero Cycle Group,
    India

    It all depends from what you understand by shrinking:
    If you would like to shrink tempfile for tablespace I would suggest using following procedure:
    Find out to which size you can shrink tempfile
    select extent_size,current_users,total_extents,used_extents,free_extents
    from v$sort_segment
    where tablespace_name='TEMP';
    alter database tempfile 'XXXX' resize YYM;
    YY is the size which can be found by above query.
    But Ithink you are more interested in following procedure:
    create new
    make this new one the default temporary tablespace for the database
    drop old
    ps. Yoogesh ask you about DB version
    you can find bd version by:
    select *
    from v$version
    select *
    from product_component_version
    Best Regards
    Krystian Zieja / mob

  • Undo Tablespace and Temporary Tablespace - autoextend ?

    - In general, should I allow the Undo Tablespace to grow (autoextend)?
    - In general, should I allow the Temporary Tablespace to grow (autoextend)?

    The size of undo tablespace should always keeps in mind otherwiase you eill get ORA-1555 or out of space errors.
    This paper is to help DBA’s in calculating the size of UNDO tablespace by using a simple formula.
    It is tough to know about the number of transactions and subsequently number of rows changed per second.
    So I suggest having a “big undo tablespace” to start with and based on load, after doing some calculations and resize your UNDO tablespace.
    In my case one of the applications was going to production (live), and I had no idea that how many transactions will happen against this database. All what I was told that there will be optimum (transactional) activity on this database.
    So I started with UNDO tablespace with size of 3GB and datafiles with autoextend “on” .
    Note:
    In production, you must be very careful in using this (autoextend on) as the space may grow to inifinity very fast. So my advice is either dont use this option, or use with "maxsize" or continuously monitor space (which is tough).
    I month later, I noticed the activity from V$undostat.
    Here is the step by step approach:
    Step 1: Longest running query.
    SQL> select max(maxquerylen) from v$undostat;
    MAX(MAXQUERYLEN)
    1793
    This gives you ideal value for UNDO_RETENTION. To be on the safer size you should add few more seconds to get the right value. So in my case, the size of undo retention should be say 2000 secs.
    Step 2: Size of UNDO tablespace.
    Size of UNDO needed = UNDO_RETENTION x [UNDO block Generation per sec x DB_BLOCK_SIZE] + Overhead(30xDB_BLOCK_SIZE)
    Out of these we know UNDO_RETENTION and DB_BLOCK_SIZE
    All we need is to find out “UNDO Blocks per second”
    Which can be easily fetched from v$undostat
    SQL> SELECT (SUM(undoblks))/ SUM ((end_time - begin_time) * 24*60*60) "UPS"
    2 FROM v$undostat;
    UPS
    8.11985583
    V$undostat stores data for every 10 mins and begin/end times are start/end time of those intervals. We multiplied it with 24*60*60 because the difference between two dates will be in days and to get to seconds, we need it to multiply with 24hrs*60mins*60secs
    So now we have all the values needed.
    Undo size needed = [8.12 x 2000 x 8192] + [30 x 8192] = 133283840 bytes = 127.11 MB

  • Amount of temporary tablespace size used for index rebuild

    Hi All,
    I want to know approximate amount of temporary tablespace size used for index rebuild. I need this information to avoid the insufficient temporary tablespace error during the huge index rebuild.
    Is there a query or procedure to find it out.
    Thank you.

    Hi,
    While creating the index, the temporary segment is created in the permanent tablespace. So permanent tablespace must have sufficient space.
    http://www.oracle-base.com/articles/10g/SpaceObjectTransactionManagement10g.php
    http://aprakash.wordpress.com/2010/01/05/numeric-segment-name/
    Anand

Maybe you are looking for

  • How do I install Firefox on a (windows xp) computer that will never have an internet connection?

    I need to run a browser on computers in a test lab. (For example, you often use browsers to setup routers.) The network in the test lab is NOT connected to the internet, so downloading a setup file that pulls in additional files from the internet is

  • Need help in grouping data Value.

    Hi Techies, I have a requirement where i need to group the rating acording to issuer country and show the aggegated data value in the report. Country Rating Value US A 324 US AA 43 Europe C 8 Canada A 34 Here in the below tables we are showing aggega

  • Condition type PBXX problem

    Hi We have entered a purchase order, where the condition type PBXX is assigned a condition value even though there has been no manual entry. The analysis of the pricing tells me the following information: "Condition type PBXX - Message 207 - Conditio

  • Append binary file

    I would like to append new binary values to the existing binary file. Write File.vi looks like a good candidate for this, and it has two inputs, pos. mode and pos. offset which looks like something useful for my task. Unfortunately whatever I put int

  • Cam I import/view additional shooting data from camera?

    Is it possible to import/view shooting data beyond the exif data shown in metadata panel in Library module, for example flash type, sync, exposure and flash compensation and other data that is viewable on camera in playback mode?