热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle临时表之临时表空间组(TTG)

在Oracle中,temp犹如win下的虚拟内存和unix下的swap分区TTG是10g引入的概念,目的就是为了减少IO竞争只有临时表空间可以定组,普

在Oracle中,temp犹如win下的虚拟内存和unix下的swap分区TTG是10g引入的概念,目的就是为了减少IO竞争只有临时表空间可以定组,普

环境:

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同时排序时使用了同一临时表空间组内的不同临时表空间

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

linux

推荐阅读
  • 在将Web服务器和MySQL服务器分离的情况下,是否需要在Web服务器上安装MySQL?如果安装了MySQL,如何解决PHP连接MySQL服务器时出现的连接失败问题? ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • Linux笔记:JDK安装与环境变量配置
    本文详细介绍了在Linux系统中安装JDK并配置环境变量的步骤,帮助读者顺利完成Java开发环境的搭建。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 在Linux系统中,find和grep是两个常用的命令,用于文件和文本的查找。本文将详细介绍这两个命令的区别及其常见用法。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 高端存储技术演进与趋势
    本文探讨了高端存储技术的发展趋势,包括松耦合架构、虚拟化、高性能、高安全性和智能化等方面。同时,分析了全闪存阵列和中端存储集群对高端存储市场的冲击,以及高端存储在不同应用场景中的发展趋势。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • 1.tarzxfapache-activemq-5.12.0-bin.tar.gztarzxfapache-activemq-5.12.0-bin.tar.gz2.cdapac ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • 本文旨在探讨信息安全专业的职业规划路径,结合个人经历和专家建议,为即将毕业的学生提供实用的指导。 ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
author-avatar
烂在心底
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有