Oracle 被drop的临时文件在数据库中仍可见且保留在文件系统中

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]

 

适用于:

Oracle Server – Enterprise Edition – 版本 11.2.0.2 及以上   [Release: 11.2 及以上 ]
本文信息适用于任何平台。

症状

在使用标准DDL drop一个临时文件后,文件在DBA_TEMP_FILES和V $ TEMPFILE视图中仍可见且物理保留在文件系统上,例如

SQL> select * from dba_temp_files order by tablespace_name;

FILE_NAME
——————————————————————————–
FILE_ID TABLESPACE_NAME                     BYTES     BLOCKS STATUS
———- —————————— ———- ———- ——-
RELATIVE_FNO AUT   MAXBYTES MAXBLOCKS  INCREMENT_BY USER_BYTES USER_BLOCKS
———— — ———- ———- ———— ———- ———–
/u09citcw/oradata/CWCIT0/temp_f04.dbf
6 TEMP                                                 OFFLINE

SQL> select * from v$tempfile;

FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED
———- —————- ——— ———- ———- ——- ———-
BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE
———- ———- ———— ———-
NAME
——————————————————————————–
6      32937457307 12/30/2011         3          4 OFFLINE READ WRITE
0          0   8589934592       8192
/u09citcw/oradata/CWCIT0/temp_f04.dbf

注意事项:

1. 尝试drop临时文件的会话收到一个ORA-25152 错误:

SQL> alter database tempfile ‘/u09citcw/oradata/CWCIT0/temp_f04.dbf’ drop;

alter database tempfile
‘/u09citcw/oradata/CWCIT0/temp_f04.dbf’ drop
*
ERROR at line 1:
ORA-25152: TEMPFILE cannot be dropped at this time

  1. 对于此时仍使用临时文件的会话,一个查询失败显示:


ERROR:
ORA-01135: file 201 accessed for
DML/query is offline
ORA-01110: data file 201: ‘/u09citcw/oradata/CWCIT0/temp_f04.dbf’

 

原因

这种情况是由使用了被drop的临时文件中信息的会话会引起的。

临时文件的drop在下面2个步骤完成:

  1. 临时文件被脱机,所以没有新的会话能访问它。
  2. 如果没有会话在访问临时文件中的排序信息,则它被drop了。如果有,则它未被drop,直到使用退出/kill的临时文件或会话来完成这些会话。

这也被记录在
Bug 5890956 – DROPPING TEMPFILE RETURNS ERROR BUT ALREADY RUNNING QUERY ABORTS WITH ORA-01135
这被关闭显示状态’Not a Bug’

解决方案

杀/断开正在使用临时文件中排序数据的会话后再次重新运行DROP语句。

万一失败的查询需要重复,你可以在重新设置临时文件联机后操作。

参考

BUG:5890956 – DROPPING TEMPFILE RETURNS ERROR BUT ALREADY RUNNING QUERY ABORTS WITH ORA-01135
NOTE:289894.1 – Queries To Monitor Temporary Tablespace Usage


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *