操作SQL> ALTER database OPEN;
SQL> CREATE temporary tablespace new_temp TEMPFILE '/db_9i01/oradata/new_lwlmj/new_temp.dbf' SIZE 1024M EXTENT MANAGEMENT local UNIFORM SIZE 100M;
SQL> ALTER database DEFAULT temporary tablespace new_temp;
SQL> DROP tablespace temp INCLUDING contents and datafiles;以上均未报错,数据库显示操作成功但是当我数据库重启之后在v$tempfile和v$datafile都看不到系统临时表空间对应的那个数据库文件new_temp.dbf
这是为什么呢

解决方案 »

  1.   

    SQL> select name from v$datafile;NAME
    ----------------------------------------
    /db_9i01/oradata/new_lwlmj/system01.dbf
    /db_9i01/oradata/new_lwlmj/undotbs01.dbf
    /db_9i01/oradata/new_lwlmj/drsys01.dbf
    /db_9i01/oradata/new_lwlmj/example01.dbf
    /db_9i01/oradata/new_lwlmj/indx01.dbf
    /db_9i01/oradata/new_lwlmj/odm01.dbf
    /db_9i01/oradata/new_lwlmj/tools01.dbf
    /db_9i01/oradata/new_lwlmj/users01.dbf
    /db_9i01/oradata/new_lwlmj/xdb01.dbfSQL> select name from v$tempfile;no rows selectedSQL> select name from v$tablespace;NAME
    ----------------------------------------
    DRSYS
    EXAMPLE
    INDX
    ODM
    SYSTEM
    TOOLS
    UNDOTBS1
    USERS
    XDB
    NEW_TEMP[oracle@CentOSForOracle9i new_lwlmj]$ ls
    control01.ctl  example01.dbf  odm01.dbf   system01.dbf   users01.dbf
    control02.ctl  indx01.dbf     redo01.log  temp01.dbf     xdb01.dbf
    control03.ctl  lost+found     redo02.log  tools01.dbf
    drsys01.dbf    new_temp.dbf   redo03.log  undotbs01.dbf
    [oracle@CentOSForOracle9i new_lwlmj]$ pwd
    /db_9i01/oradata/new_lwlmj
      

  2.   

    需要查v$tempfile 但是为什么查不到,不清楚
      

  3.   

    ALTER database DEFAULT temporary tablespace new_temp;
    是不是应该在这句后面加上scope=spfile呢
      

  4.   

    ...我查看了官方技术文档,ALTER database DEFAULT temporary 这个语句中的所有clause并没有提到scope,这个问题到底应该怎么解决呢