Oracle10g新特性:临时表空间组(temporary tablespace group)

详解ORACLE 11G临时表空间 临时表空间跟其他表空间一样是永久存在的,但是,表空间中的数据具有临时性,仅在用户会话期间存在。是用户执行排序操作和索引创建中的排序等。临时表空间不允许用户创建对象。在应用程序使用排序和散列密集型查询时,由于需要将临时数据存储在临时表空间中,因此临时表空间的性能极为重要。 1,创建临时表空间 SQL>CREATE TEMPORARY TABLESPACE temp_demo TEMPFILE 阅读详情

一个临时表空间组至少包含一个临时表空间。

临时表空间组无法显式创建,当第一个临时表空间分配给该组时自动创建,当组内所有临时表空间被移除时自动删除。

临时表空间组支持的操作:

  • 可以将临时表空间从一个组移动到另外一个组(如果组不存在,则自动创建)。
  • 可以将组中的临时表空间从组中移除。
  • 可以将目前不属于任何组的临时表空间加入一个组。

使用临时表空间组的好处:

  • 防止一个临时表空间出现空间不足的问题。
  • 同一个用户同时连接多个session时可以使用不同的临时表空间。
  • 在并行操作中可以并行使用多个临时表空间。

下面给出几个例子:

1.创建临时表空间组
SQL> create temporary tablespace temp1
  2  tempfile 'e:/oracle/ora10/oradata/ning/temp101.dbf' size 10m
  3  tablespace group group1;

表空间已创建。

SQL> create temporary tablespace temp2
  2  tempfile 'e:/oracle/ora10/oradata/ning/temp201.dbf' size 10m
  3  tablespace group group1;

表空间已创建。

2.查看系统中目前存在的临时表空间组的信息
SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMP1
GROUP1                         TEMP2

3.移动临时表空间到新的临时表空间组
SQL> alter tablespace temp2 tablespace group group2;

表空间已更改。

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMP1
GROUP2                         TEMP2

4.将临时表空间从临时表空间组中移出
SQL> alter tablespace temp2 tablespace group '';

表空间已更改。

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMP1

5.临时表空间组的名字不能和表空间的名字冲突
SQL> create temporary tablespace temp3
  2  tempfile 'e:/oracle/ora10/oradata/ning/temp301.dbf' size 10m
  3  tablespace group temp3;
create temporary tablespace temp3
*
第 1 行出现错误:
ORA-10918: TABLESPACE GROUP name cannot be the same as tablespace name

SQL> create temporary tablespace temp3
  2  tempfile 'e:/oracle/ora10/oradata/ning/temp301.dbf' size 10m
  3  tablespace group temp1;
create temporary tablespace temp3
*
第 1 行出现错误:
ORA-01543: 表空间 'TEMP1' 已存在

6.删除组中所有的临时表空间后,组会自动删除
SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMP1

SQL> drop tablespace temp1 including contents and datafiles;

表空间已删除。

SQL> select * from dba_tablespace_groups;

未选定行

7.可以将数据库或者用户的默认临时表空间指定为临时表空间组
SQL> create temporary tablespace temp1
  2  tempfile 'e:/oracle/ora10/oradata/ning/temp101.dbf' size 10m
  3  tablespace group group1;

表空间已创建。

SQL> alter tablespace temp2 tablespace group group1;

表空间已更改。

SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMP1
GROUP1                         TEMP2

SQL> alter database default temporary tablespace group1;

数据库已更改。

SQL> alter user ning temporary tablespace group1;

用户已更改。

8.同一个用户的不同session可以使用不同的临时表空间

首先用sys用户查询
SQL> select username, session_num, tablespace from v$sort_usage;

未选定行

新开session1执行
SQL> conn ning/ning
已连接。

select a.table_name, b.table_name from dict A, dict B order by a.table_name;

新开session2执行
SQL> conn ning/ning
已连接。

select a.table_name, b.table_name from dict A, dict B;

sys查询:
SQL> select username, session_num, tablespace from v$sort_usage;

USERNAME   SESSION_NUM TABLESPACE
---------- ----------- ----------
NING                74 TEMP2
NING                62 TEMP1

可以发现,同一个用户ning的两个session分别使用了两个不同的临时表空间。

参考:Metalink 245645.1

 
Oracle 临时表空间管理与最佳实践 临时表空间的有效管理是Oracle数据库性能优化的关键成部分。通过使用临时表空间、实施定期监控、进行性能优化,以及采用动态管理策略,数据库管理员可以确保临时表空间高效运作,从而提升整体数据库性能。无论是使用临时表空间还是单独管理临时表空间,了解和掌握各种管理命令和最佳实践都是至关重要的。记住,临时表空间管理是一个持续的过程,需要根据数据库工作负载的变化不断调整和优化。 阅读详情

相关推荐

OracleDB入门3:临时表空间

本文转载于ORACLE临时表空间总结 概念 临时表空间 临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY...

本博客纯属个人学习记载,不对外负责,若有错误,请批评指正 456

Oracle 临时表空间管理(Temporary Tablespace

Oracle临时表空间Temporary Tablespace)主要用来存储数据库运行中产生的临时对象,例如SQL排序结果集,临时表等,这些对象的生存周期只有会话。本文总结了Oralce中涉及临时表空间的管理和优化操作。

最简单的方法,解决最实际的问题。 8182

临时表空间

临时表空间 1、数据库版本SQL> select * from v$version; BANNER-----------------------------------------------------------...

cuhun7152的博客 190

oracle临时表空间,oracle临时表空间

oracle11g开始提供tempgroup,就是把当前创建的临时表空间合起来,共同为数据库供服务, 一个临时表空间至少包括一个临时表空间临时表空间支持以下操作:1.临时表空间支持间移动(如果目标不存在,则会自动创建)2.可以将中的临时表空间中移除。3.可以将目前不属于任何临时表空间加入到一个内。优点:1.为不同的用户,在一个内分配不同的表空间。2.当同一用户的不同ses...

weixin_42300525的博客 295

oracle 创建 temporary tablespace group

os: centos 7.4 db: oracle 12.1.0.2 oracle 可以对多个 temporary tablespace 包装成 temporary group temporary smallfile tablespace 创建两个 temporary tablespace,在 orclpdb 下操作 CREATE TEMPORARY TABLESPACE peiyb_temp01...

一名数据库爱好者的专栏 1092

10g】temporary tablespace group可以使用多个临时表空间

oracle10g以前,每个用户只能使用一个临时表空间,就是其默认临时表空间oracle10g及其以后版本提供了新的临时表空间的功能,允许将多个临时表空间打包成一个,然后指定用户的默认临时表空间为该临时表空间,从而达到一个用户可以使用多个临时表空间的目的。 一个临时表空间至少包含一个临时表空间临时表空间无法显式创建,当第一个临时表空间分配给该时自动创建,当内所有临时表空间被...

viviliving的专栏 523

oracle11g下清理临时表空间

维护的一个生产数据库,被“集中监控”软件监控到临时表空间使用率100%,需要清理。于是,想到了添加临时文件的方法。但是想到原临时文件temp01.dbf已经用掉了2GB,想一并清理这个文件,用到了shrink特性,释放了空间。 1:cha

lmalds的专栏 2万+

oracle temporary tablespace,Oracle 临时表空间的概念

一个临时表空间必须由至少一个临时表空间成,并且无明确的最大数量限制.A temporary tablespace group contains at least one tablespace. There is no limit for a group to have a maximum number of tablespaces如果删除一个临时表空间的所有成员,该也自动被删除。临时表空间...

weixin_39944375的博客 386

oracle内存表与临时表,Oracle 临时表之临时表空间(TTG)

环境:sys@ORCL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 ...

weixin_36308872的博客 604

Oracle Temporary tablespace group

一个临时表空间至少包含一个临时表空间临时表空间无法显式创建,当第一个临时表空间分配给该时自动创建,当内所有临时表空间被移除时自动删除。 临时表空间支持的操作: 可以将临时表空间从一个移动到另外一个(如果不存在,则自动创建)。 可以将中的临时表空间中移除。 可以将目前不属于任何临时表空间加入一个。 使用临时表空间的好处: 防止一个临时表空间出现空

Watson的专栏 4101
上一篇: Oracle的数据类型(一):char/varchar2
下一篇: oracle10g新特性:闪回恢复区(Flash recovery area)
NinGoo
博客等级 码龄22年 31粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值