Action: Alter temporary tablespace of user to a temporary tablespace or a 
dictionary-managed permanent tablespace

解决方案 »

  1.   

    把这个用户的临时表空间改变到temp表空间,或者是一个数据字典管理的表空间。
      

  2.   

    cause: 
    Users TEMPORARY TABLESPACE points to a permanent locally managed 
    tablespace. Create temporary segment(s) in a permanent locally managed tablespace is not allowed.Temporary segments are needed for sorting (ie: using GROUP BY, ORDER BY, table joins etc.)To find out which tablespace(s) user(s) are using for temporary segments, perform the query:
    SELECT U.USERNAME, U.TEMPORARY_TABLESPACE, T.CONTENTS, T.EXTENT_MANAGEMENT
    FROM   DBA_USERS U, DBA_TABLESPACES T
    WHERE  U.TEMPORARY_TABLESPACE = T.TABLESPACE_NAMEThe tablespaces should be either TEMPORARY LOCALLY MANAGED or PERMANENT DICTIONARY MANAGED.fix:A. Change the TEMPORARY TABLESPACE for the user(s) to a TEMPORARY LOCALLY MANAGED tablespace or to a PERMANENT DICTIONARY MANAGED
    tablespace.Example:  ALTER USER <username> TEMPORARY TABLESPACE <tablespace_name>;B. You can also change your tablespace to/from LOCALLY- to/from DICTIONARY 
    MANAGED via the package DBMS_SPACE_ADMIN, procedures 
    TABLESPACE_MIGRATE_FROM_LOCAL or TABLESPACE_MIGRATE_TO_LOCAL.
      

  3.   

    1,建立新的临时表空间
    create temporary tablespace 临时表空间名
    tempfile 'f:\oracle\oradata\sid\temp01.ora' size 100M;
    2,修改用户的临时表空间
    alter user 用户名 temporary tablespace 临时表空间名
      

  4.   

    把这个用户的临时表空间改变到temp表空间,或者是一个数据字典管理的表空间。
    ----------------------------------
    是说这个用户的临时表空间如果是system表空间,就会出这个错?每个用户在创建的时候都会默认有临时表空间吧
      

  5.   

    ALTER USER <username> TEMPORARY TABLESPACE <tablespace_name>;
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    这是关键,另外注意表空间大小