在我們做備份的時候通常不會備份temp tablespace,那么在我們恢復完DB后通常需要手工重建一個temp tablespace。當然如果我們要做數據文件存放路徑的變更的話。通常是先建一個temp tablespace做一下切換后刪除原來的temp tablespace 包括temp datafile,再重建一個,當然如果我們對Temp tablespace的名字沒有要求的話。就可以省去重一個的步驟了。看一個例子吧:
SQL> CREATE TEMPORARY TABLESPACE TEMPTT
2 TEMPFILE 'D:ORACLEORADATAORCL9ITEMPTT01.DBF' SIZE 10M ;
已建立表格空間.
SQL> ALTER DEFAULT TEMPORARY TABLESPACE TEMPTT;
ALTER DEFAULT TEMPORARY TABLESPACE TEMPTT
*
ERROR 在行 1:
ORA-00940: ALTER 命令無效
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPTT;
已更改資料庫.
SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
已刪除表格空間.
SQL> create temporary tablespace temp
2 tempfile 'd:oracleoradataorcl9itemp01.dbf' size 50M reuse
3 extent management local uniform size 128k;
已建立表格空間.
SQL> alter database default temporary tablespace temp;
已更改資料庫.
SQL> drop tablespace temptt including contents and datafiles;
已刪除表格空間.
SQL> select name from v$tempfile;
NAME
------------------------------------------------------------------------
D:ORACLEORADATAORCL9ITEMP01.DBF
SQL> startup force;
已啟動 ORACLE 執行處理.
Total System Global Area 227613456 bytes
Fixed Size 453392 bytes
Variable Size 75497472 bytes
Database Buffers 150994944 bytes
Redo Buffers 667648 bytes
資料庫已掛載.
資料庫已開啟.
SQL> select name from v$tempfile;
NAME
------------------------------------------------
D:ORACLEORADATAORCL9ITEMP01.DBF
SQL> select member from v$logfile;
MEMBER
------------------------------------------------
D:ORACLEORADATAORCL9IREDO01.LOG
D:ORACLEORADATAORCL9IREDO02.LOG
D:ORACLEORADATAORCL9IREDO03.LOG
SQL> select name from v$datafile;
NAME
------------------------------------------------
D:ORACLEORADATAORCL9ISYSTEM01.DBF
D:ORACLEORADATAORCL9IUNDOTBS01.DBF
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29987/viewspace-51846/,如需转载,请注明出处,否则将追究法律责任。