Chinaunix首页 | 论坛 | 博客
  • 博客访问: 130811
  • 博文数量: 161
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -30
  • 用 户 组: 普通用户
  • 注册时间: 2017-09-21 21:45
文章分类
文章存档

2009年(1)

2008年(74)

2007年(48)

2006年(38)

我的朋友

分类: Oracle

2008-03-10 10:34:45

如果说oracle 8i以下(包括8i)还是使用的是有数据文件特性的临时数据文件,Oracle 9i已经是真正意义的临时文件了,这样的临时文件不需要备份与恢复,也不会记录任何redo log信息。

因此,9i才有了一个新的关键字tempfile,而在8i的时候,这个都是datafile。如要添加一个新的临时文件,8i是:

alter tablespace temp add datafile ''temp file name'' size 2000M;

9i

alter tablespace temp add tempfile ''temp file name'' size 2000M;

这个是9i一个新的特性,就是真正意义的临时数据文件。而且从9i开始,数据库将有默认的临时表空间,新建用户如果不特殊指定将用默认的临时表空间(在老的版本中如果不特殊指定,将默认system表空间为临时表空间),从如下视图可以查询到当前默认临时表空间。

select PROPERTY_NAME, PROPERTY_VALUE

from database_properties 

where property_name = ''DEFAULT_TEMP_TABLESPACE'';

PROPERTY_NAME                                         PROPERTY_VALUE

------------------------------                          ---------------    

DEFAULT_TEMP_TABLESPACE          TBS_TEMP 

如我们可以通过如下命令要创建与设置临时表空间

create temporary tablespace temp tempfile ''temp file name'' size 100m;

alter database default temporary tablespace temp;

linux/unix上,如果不指定reuse关键字,新创建出来的临时文件都是稀疏文件,也就是说空间不是马上分配的,所以有很快的创建速度。临时表空间一旦创建,就不能转化为永久表空间了,不能执行离线(offline)操作,而且当前默认的临时表空间不能被删除。

SQL> drop tablespace temp including contents and datafiles;

drop tablespace temp including contents and datafiles

ORA-12906: cannot drop default temporary tablespace

如果是非当前默认的临时表空间,则可以删除,另外,临时文件可以随时增加或者是删除。

SQL>alter tablespace tbs_temp add tempfile ''temp file name'' size 100M;

Database altered

SQL>alter database tempfile ''temp file name'' drop;

Database altered

 

阅读(2200) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~