上午老总过来说临时表空间为空,让我过去看看。我一看报ORA-25153,这一定是临时表空间逻辑名还在,但是找不到临时文件的原因。
解决方法:
1、查询临时表空间状态状态
select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
TEST_TBS ONLINE
TEST_TBS_TEMP ONLINE
说明表空间是在线的
2、查询临时表空间文件
select tablespace_name,file_name from dba_temp_files;
未选定行
说明已经找不到物理文件了
3、alter database default temporary tablespace temp;
执行此命令后会报ORA-12907: 表空间 TEMP 已经是默认的临时表空间
这就说明临时表空间丢失了数据文件
4、我们添加一个临时文件给它
alter tablespace temp add tempfile '/opt/Oracle/oradata/temp02.dbf' size 512m autoextend on;
5、我们查看一下文件是否建立成功
select tablespace_name,file_name from dba_temp_files;
: