oracle临时表空间的作用与创建及相关操作详解

2022-12-08 0 191

目录1.1 临时表空间作用1.2 临时表空间和临时表空间组1.3 临时表空间操作(1) 查看表空间(2) 查看表空间详细信息(3) 查看除临时表空间外 表空间对应的数据文件(4) 查看临时表空间对应的数据文件(5) 查看临时表空间组信息(6) 查看默认的临时表空间1.4 创建临时表空间补充:对临时文件进行删除总结

1.1 临时表空间作用

用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久临时性数据。

如:

当用户对大量数据进行排序时,排序在PGA中进行,若数据过多,导致内存不足,oracle会把需要排序的数据分为多份,每次取一份在PGA中排序,其余部分放在临时表空间,直至所有数据排序完成,不过临时表空间在硬盘上,数据交换降低性能

1.2 临时表空间和临时表空间组

临时表空间组是由一组临时表空间组成的组,临时表空间组和临时表空间不能同名。临时表空间组不能显式地被创建和删除;当把第一个临时表空间分配某个临时表空间组时,会自动创建临时表空间组;当把临时表空间组内最后一个临时表空间删除时,会自动删除临时表空间组;

1.3 临时表空间操作

(1) 查看表空间select * from v$tablespace;

oracle临时表空间的作用与创建及相关操作详解

(2) 查看表空间详细信息select * from dba_tablespaces;

CONTENTS字段值为TEMPORARY,即临时表空间

oracle临时表空间的作用与创建及相关操作详解

(3) 查看除临时表空间外 表空间对应的数据文件select * from dba_data_files;

oracle临时表空间的作用与创建及相关操作详解

(4) 查看临时表空间对应的数据文件select * from dba_temp_files;

oracle临时表空间的作用与创建及相关操作详解

select * from v$tempfile;

oracle临时表空间的作用与创建及相关操作详解

(5) 查看临时表空间组信息select * from dba_tablespace_groups;

oracle临时表空间的作用与创建及相关操作详解

(6) 查看默认的临时表空间select * from database_properties where PROPERTY_NAME=\’DEFAULT_TEMP_TABLESPACE\’;

oracle临时表空间的作用与创建及相关操作详解

oracle临时表空间的作用与创建及相关操作详解

1.4 创建临时表空间

(1) 创建不属于组的临时表空间

create temporary tablespace temp2 tempfile \’D:\\software\\oracle\\oradata\\orcl\\temp2a.dbf\’ size 10m autoextend on ;

oracle临时表空间的作用与创建及相关操作详解

(2) 属于组的临时表空间

create temporary tablespace temp3 tempfile \’D:\\software\\oracle\\oradata\\orcl\\temp3a.dbf\’ size 10m autoextend ontablespace group temp_group ;

oracle临时表空间的作用与创建及相关操作详解

(2) 临时表空间加入或移除临时表空间组

把temp2加入到temp_group 中

alter tablespace temp2 tablespace group temp_group;

oracle临时表空间的作用与创建及相关操作详解

把temp2移除emp_group

alter tablespace temp2 tablespace group \’\’;

oracle临时表空间的作用与创建及相关操作详解

(3)给临时表空间添加一个临时文件

oracle临时表空间的作用与创建及相关操作详解

alter tablespace temp2 add tempfile \’D:\\software\\oracle\\oradata\\orcl\\temp2b.dbf\’ size 10m autoextend on;

oracle临时表空间的作用与创建及相关操作详解

(4)修改系统默认的临时表空间

修改为一个组

alter database default temporary tablespace temp_group ;

oracle临时表空间的作用与创建及相关操作详解

修改为一个临时表空间

alter database default temporary tablespace temp2;

oracle临时表空间的作用与创建及相关操作详解

补充:对临时文件进行删除alter tablespace temp drop tempfile \’/m/oracle/oradata4/temp05.dbf\’;alter tablespace temp drop tempfile \’/m/oracle/oradata5/temp06.dbf\’;alter tablespace temp drop tempfile \’/m/oracle/oradata5/temp07.dbf\’;alter tablespace temp add tempfile \’/m/oracle/oradata4/temp05.dbf\’ size 1G reuse;alter tablespace temp add tempfile \’/m/oracle/oradata5/temp06.dbf\’ size 1G reuse;alter tablespace temp add tempfile \’/m/oracle/oradata5/temp07.dbf\’ size 1G reuse;

删除过程:

SQL> alter database tempfile '/u01/app/oracle/oradata/temp2' drop including datafiles;alter database tempfile '/u01/app/oracle/oradata/temp2' drop including datafiles*ERROR at line 1:ORA-25152: TEMPFILE cannot be dropped at this time

通过查看官方针对ORA-25152的描述信息,发现如下:

ORA-25152: TEMPFILE cannot be dropped at this timeCause: An attempt was made to drop a TEMPFILE being used by online usersAction: The TEMPFILE has been taken offline. Try again, later

可能是临时表空间被占用,执行以下脚本,查询出占用临时表空间的会话信息,使用alter system kill命令杀掉会话进程,即可解决问题。

也可以等待一段时间之后,对临时表空间临时文件进行删除即可 。

总结

到此这篇关于oracle临时表空间的作用与创建及相关操作的文章就介绍到这了,更多相关oracle临时表空间创建内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 oracle数据库 oracle临时表空间的作用与创建及相关操作详解 https://www.u-9.cn/sql/oracle/6142.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载