查询临时表空间的状态:
- SQL > select f.file#,
- t.ts#,
- f.name,
- t.name from v$tempfile f,
- v$tablespace t where f.ts# = t.ts#;
- FILE#TS#NAME NAME----------------------------------------------------------------------------------------------------------------------------------1 3 / opt / oracle / app / oracle / oradata / zydev / temp01.dbf TEMP
删除对应的临时表数据文件
- SQL> !rm -rf /opt/oracle/app/oracle/oradata/zydev/temp01.dbf
恢复的两种情况:
1. 重启数据库,临时表空间将自动建立生成
- SQL> shutdown immediate
- 数据库已经关闭。
- 已经卸载数据库。
- ORACLE 例程已经关闭。
- SQL> startup
- ORACLE 例程已经启动。
- Total System Global Area 776646656 bytes
- Fixed Size 2217384 bytes
- Variable Size 574622296 bytes
- Database Buffers 192937984 bytes
- Redo Buffers 6868992 bytes
- 数据库装载完毕。
- 数据库已经打开。
查看日志文件可以看见:
- Re-creating tempfile /opt/oracle/app/oracle/oradata/zydev/temp01.dbf
2. 数据库开启的状态下恢复
- SQL> !rm -rf /opt/oracle/app/oracle/oradata/zydev/temp01.dbf
- SQL> alter tablespace temp add tempfile
- 2 '/opt/oracle/app/oracle/oradata/zydev/temp02.dbf'
- 3 size 30M;
- 表空间已更改。
- SQL> alter tablespace temp drop tempfile
- 2 '/opt/oracle/app/oracle/oradata/zydev/temp01.dbf';
- 表空间已更改。
- SQL> select f.file#,t.ts#,f.name,t.name from v$tempfile f,v$tablespace t where f.ts#=t.ts#;
- FILE# TS# NAME NAME
- ---------- ---------- -------------------------------------------------------------------------------- ------------------------------
- 2 3 /opt/oracle/app/oracle/oradata/zydev/temp02.dbf TEMP
来源: