环境:

sys@ORCL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

在Oracle中,temp犹如win下的虚拟内存和unix下的swap分区

TTG是10g引入的概念,目的就是为了减少IO竞争

只有临时表空间可以定组,普通的表空间无法定组

对待TTG就像对待单个临时表空间一样,无甚区别

TTG本身不能被创建,它随着temp的加入而创建,temp的脱离而删除

alter tablespace temp tablespace group '';

我们知道一个用户只能使用一个临时表空间,而一个临时表空间中只存在一个临时段

当一个session在使用临时段时,其他session再请求临时段时需要等到拥有该临时段的session使用完毕之后才能使用

而临时表空间组的出现大大改善了同一用户并发session对临时段的争夺

因为临时表空间组的出现使用户能够使用多个临时表空间了

下面作个简单测试

sys@ORCL> create temporary tablespace temp1 tempfile size 20M tablespace group tempg;

Tablespace created.

sys@ORCL> create temporary tablespace temp2 tempfile size 20M tablespace group tempg;

Tablespace created.

sys@ORCL> create temporary tablespace temp3 tempfile size 20M tablespace group tempg;

Tablespace created.

sys@ORCL> alter database default temporary tablespace tempg;

Database altered.

sys@ORCL> drop tablespace temp;

Tablespace dropped.

sys@ORCL> select * from dba_tablespace_groups;

GROUP_NAME                    TABLESPACE_NAME

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

TEMPG                          TEMP1

TEMPG                          TEMP2

TEMPG                          TEMP3

sys@ORCL> alter user hr temporary tablespace tempg;

User altered.

sys@ORCL> conn hr/hr

Connected.

hr@ORCL> create table t as select * from dba_objects;

Table created.

hr@ORCL> begin

2        for i in 1..4

3        loop

4          insert into t select * from t;

5        end loop;

6        commit;

7      end;

8  /

PL/SQL procedure successfully completed.

hr@ORCL> create table tt as select * from t;

Table created.

分别打开两个session以用户hr登录对表t和tt同时进行排序,之后通过如下查询监视对临时表空间的使用情况

sys@ORCL> select operation_type ,sql_id , tablespace,tempseg_size,number_passes from v$sql_workarea_active;

OPERATION_ SQL_ID        TABLESPACE                    TEMPSEG_SIZE NUMBER_PASSES

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

SORT (v2)  b7q3tuybvatbt    temp1                                          0

SORT (v2)  cn7ucn092pg8s    temp3                                          0

sys@ORCL> select sql_text from v$sql where sql_id in (select sql_id from v$sql_workarea_active);

SQL_TEXT

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

select object_id from t order by object_id desc

select object_id from tt order by object_id desc

发现来自同一用户hr的不同session同时排序时使用了同一临时表空间组内的不同临时表空间

这样大大减少了之前同一用户只能使用一个临时表空间而产生的请求临时段的等待时间

oracle内存表与临时表,Oracle 临时表之临时表空间组(TTG)相关推荐

  1. oracle 内部表连接方式,ORACLE 表连接方式

    一表的连接 表的连接是指在一个SQL语句中通过表与表之间的关联,从一个或多个表检索出相关的数据.连接是通过SQL语句中FROM从句的多个表名,以及WHERE从句里定义的表之间的连接条件来实现的.如果一 ...

  2. oracle 内部表连接方式,oracle表连接方式

    ORACLE表连接方式及常见用法(二) /2010-12-22 13:30:13 /个人分类: 一 引言 数据仓库是目前已知的比较成熟和被广泛采用的解决方案,用于整合电信运营内部所有分散的原始业务数据 ...

  3. oracle添加表的索引,oracle批量添加指定表前缀的索引SQL语句

    oracle批量添加指定表前缀的索引SQL语句 需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 ##需要输入用户名,表空间,索引个数,表名前缀,过滤的表名后缀 declare --用户名 ...

  4. oracle提示表名无效,ORACLE提示表名无效

    在创建ORACLE数据库时,创建表 提示表名无效 请查看数据库表名是否出现了小写字母或者关键字,如USER- [问题描述]在使用 SQL Server 2008 r2 时,有时在完成SQL书写后,会提 ...

  5. oracle两表联查分组,oracle解决多表关联分组查询问题

    做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid ...

  6. oracle建表加compress,oracle 建表后添加表注释及字段注释

    oracle添加表注释和表字段注释 创建Oracle数据库表时候加上注释 CREATE TABLE t1( id  varchar2(32) primary key, name VARCHAR2(8) ...

  7. oracle锁表怎么解决,Oracle锁表问题的简捷处理技巧

    在开发Oracle数据库时,我们常遇到频繁操作的Oracle数据表,会出现Oracle锁表.现在就针对这一问题,提下个人的解决Oracle锁表的技巧. 首先问题分析: (1)锁的分析 ORACLE里锁 ...

  8. 建oracle簇表,详解ORACLE簇表、堆表、IOT表、分区表

    详解ORACLE簇表.堆表.IOT表.分区表 簇和簇表 簇其实就是一组表,是一组共享相同数据块的多个表组成.将经常一起使用的表组合在一起成簇可以提高处理效率. 在一个簇中的表就叫做簇表.建立顺序是:簇 ...

  9. oracle建表备份数据,oracle建表备份脚本,如果update的数据不对,可以从WEB_RI_PLYEDR_CED_BAK找回...

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. --oracle建表备份脚本,如果update的数据不对,可以从WEB_RI_PLYEDR ...

最新文章

  1. linux强制踢出用户,Linux下管理员强行踢出用户的命令使用方法
  2. 文巾解题 183. 从不订购的客户
  3. 明确需求与功能,优化小打卡的分享刺激点
  4. UOJ #131 BZOJ 4199 luogu P2178【NOI2015】品酒大会 (后缀自动机、树形DP)
  5. 2017计算机三级试卷,2017年计算机三级《网络技术》测试题及答案
  6. ViceDinoSpecCtrl.cpp
  7. JavaScript玩转机器学习:Node 中的 TensorFlow.js
  8. 20172301 2018-2019-1《程序设计与数据结构》课程总结
  9. Allegro 导入ASC file的步骤
  10. leetcode [59] 螺旋矩阵 II / Spiral Matrix II,面试常考题 模拟螺旋过程
  11. ffmpeg合并m3u8 ts key文件 解决Invalid data found when processing input错误
  12. Linux 之软连接
  13. iphoneX的safari浏览器操作栏隐藏时兼容底部Home键
  14. 北京骑行者,改动的不只是通勤方式
  15. 西北工业大学计算机学院推免,2021年西北工业大学接收推荐免试研究生预报名的通知...
  16. eclipse快捷键及各种设置
  17. 无线通信——课后计算题,你会几道?
  18. mBlock机器人组装教程_能自我组装的机器人M-block,来自mit人工智能实验室
  19. 如何优雅的关闭Java线程池
  20. PostgreSQL数据库管理 第五章表空间管理

热门文章

  1. flex 修改生成html,CSS Flex –动画教程
  2. python读csv最快方法_使用Python读写csv文件的三种方法
  3. git菜单形式的_添加“Git Bash Here”到右键菜单
  4. c#串口程序接收数据并打印_C#程序可打印各种数据类型的大小
  5. 利用ASP.NET MVC 的默认类型绑定器---将Jquery datatables中的数据强类型绑定到实体类中
  6. java虚拟机MyEclipse_Eclipse和MyEclipse运行环境java虚拟机jvm设置,自己设置jre
  7. iphone双卡_单卡 iPhone 变双卡,3分钟搞定安卓备用机短信——IFTTT妙用
  8. 计算机的iscsi配置,我们将了解如何设置自己的支持iscsi配置的存储节点
  9. linux共享内存示例,linux 进程间共享内存示例
  10. python发展路线_Python进阶路径-从学徒到大师