Chinaunix首页 | 论坛 | 博客
  • 博客访问: 417457
  • 博文数量: 72
  • 博客积分: 2541
  • 博客等级: 少校
  • 技术积分: 756
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-20 16:08
文章分类

全部博文(72)

文章存档

2013年(13)

2009年(1)

2008年(7)

2007年(45)

2006年(6)

我的朋友

分类: Oracle

2007-03-13 14:44:19

做完数据库的恢复后,临时表空间不可用,物理文件已经被删除,具体解决方法如下:
 
1、查询dba_temp_files发现临时文件不可用:
 
SQL> select file_name from dba_temp_files;
未选定行
 
2、重建临时表空间出错:
 
SQL>  create temporary tablespace temp tempfile
  2   'F:\oracle\oradata\orcl\temp.dbf' size 500m
  3   extent management local;
 create temporary tablespace temp tempfile
*
ERROR 位于第 1 行:
ORA-01543: 表空间 'TEMP' 已经存在

SQL> drop tablespace temp;
drop tablespace temp
*
ERROR 位于第 1 行:
ORA-12906: 不能删除默认的临时表空间
 
3、查询dba_tablespaces发现temp临时表空间存在:
 
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS
CWMLITE
DRSYS
EXAMPLE
INDX
TEMP
TOOLS
ASE_TEST
PERFSTAT
STUDENT_DATA
已选择11行。
 
4、创建新的临时文件:
 
SQL> create temporary tablespace temp1 tempfile
  2  'F:\oracle\oradata\orcl\temp1.dbf' size 500m
  3  extent management local;
表空间已创建。
 
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS
CWMLITE
DRSYS
EXAMPLE
INDX
TEMP
TOOLS
ASE_TEST
PERFSTAT
STUDENT_DATA
TABLESPACE_NAME
------------------------------
TEMP1
已选择12行。
 
5、重新指定临时表空间:
 
SQL> alter database default temporary tablespace temp1;
数据库已更改。
SQL> select file_name from dba_temp_files;
FILE_NAME
------------------------------------------------------------
F:\ORACLE\ORADATA\ORCL\TEMP1.DBF
 
6、删除temp临时表空间:
 
SQL> drop tablespace temp;
表空间已丢弃。
 
 
注:如果要是物理文件还存在,则可以直接把物理文件添加进temp表空间就可以:
 
alter tablespace temp add tempfile '物理文件名';
阅读(4415) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~