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

目录

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;

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

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

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

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

select * from v$tempfile;

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

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

1.4 创建临时表空间

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

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

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

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

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

把temp2加入到temp_group 中

alter tablespace temp2 tablespace group temp_group;

把temp2移除emp_group

alter tablespace temp2 tablespace group '';

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

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

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

修改为一个组

alter database default temporary tablespace temp_group ;

修改为一个临时表空间

alter database default temporary tablespace temp2;

补充:对临时文件进行删除 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 time
Cause: An attempt was made to drop a TEMPFILE being used by online users
Action: The TEMPFILE has been taken offline. Try again, later

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

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

总结

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

推荐阅读

    oracle中NUMBER类型和java中对应类型

    oracle中NUMBER类型和java中对应类型,类型,数据类型,问题: 今天在项目中遇到数据库中输入的值在web页面中会自动转变为科学计数,oracle中字

    oracle中dmp文件是什么文件

    oracle中dmp文件是什么文件,文件,数据库,在oracle中,dmp文件是数据库导出的文件,常用于数据库的备份和迁移;例如在dmp文件导入时,需要先把dmp

    oracle 11g中的g是什么意思

    oracle 11g中的g是什么意思,网格,方面,在oracle中,11g中的g是网格运算的意思,是grid的缩写;oracle 11g的版本是为了迎合分布式计算而做出的变

    Oracle常用ASM操作命令

    Oracle常用ASM操作命令,磁盘,路径,在Oracle RAC环境下,使用grid帐号执行运行asmcmd进入asm命令模式,如:[grid@oradb-node1 ~]$ asmcmdASMCMD>

    oracle数据库 存储过程

    oracle数据库 存储过程,存储过程,语句,数据库,执行,编译,参数,Oracle是世界上最出名的关系数据库管理系统之一,它支持面向对象的编程,优化的存储

    如何创建oracle用户(过程浅析)

    如何创建oracle用户(过程浅析),用户,命令,授权,角色,数据库,权限,Oracle是一种广泛使用的关系型数据库管理系统,它可以有效地存储、管理和操作大量

    oracle有哪些版本

    oracle有哪些版本,版本,数据库,企业,推出,性能,新技术,oracle的版本有:1、Oracle 7;2、Oracle 8i;3、Oracle 9i;4、Oracle 10g;5、Oracle 11g;6、Orac

    mysql与oracle有区别吗

    mysql与oracle有区别吗,数据库,数据,关系数据库,管理系统,语句,开源,mysql与oracle有区别:1、Oracle是一个对象关系数据库管理系统(ORDBMS),而MySQL

    oracle怎么锁表

    oracle怎么锁表,锁定,共享锁,排它锁,获取,用户,修改,在Oracle数据库中,当多个用户同时访问同一个表时,可能会出现数据混乱的情况,这时候我们可能需

    oracle的函数有哪些

    oracle的函数有哪些,函数,日期,数字,字符串,四舍五入,操作,oracle的函数有:1、字符串函数,包括ASCII()、CONCAT()等;2、数字函数,包括ABS()、COS()

    oracle视图和表的区别是什么

    oracle视图和表的区别是什么,视图,数据,修改,基表,姓名,语句,区别:1、视图是已经编译好的sql语句,而表不是;2、视图没有实际的物理记录,而表有;3、表

    oracle 如何创建表

    oracle 如何创建表,约束条件,字段,数据类型,创建表,主键,类型,Oracle 是目前最为流行的关系型数据库之一,它的表创建相对比较复杂,但是只要了解了