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

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

Oracle临时表之临时表空间组(TTG)环境:www.2cto.com[sql]sys@ORCL>select*fromv$version;BANNER----------------------------------------------------------------OracleDatabase10

Oracle临时表之临时表空间组(TTG)
 
环境:   www.2cto.com  
[sql] 
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的脱离而删除
[sql] 
alter tablespace temp tablespace group '';  
 
          我们知道一个用户只能使用一个临时表空间,而一个临时表空间中只存在一个临时段
          当一个session在使用临时段时,其他session再请求临时段时需要等到拥有该临时段的session使用完毕之后才能使用
          而临时表空间组的出现大大改善了同一用户并发session对临时段的争夺
          因为临时表空间组的出现使用户能够使用多个临时表空间了
 
          下面作个简单测试
[sql] 
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同时进行排序,之后通过如下查询监视对临时表空间的使用情况
[sql] 
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同时排序时使用了同一临时表空间组内的不同临时表空间
   这样大大减少了之前同一用户只能使用一个临时表空间而产生的请求临时段的等待时间.
 

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用arm-eabi-gdb调试Android平台上的C/C++程序。通过具体步骤和实用技巧,帮助开发者更高效地进行调试工作。 ... [详细]
  • 深入解析 HDFS Federation:多命名空间架构详解
    HDFS Federation 是一种扩展 HDFS 架构的方式,通过引入多个独立的 NameNode 来解决单点故障和性能瓶颈问题。本文将详细探讨 HDFS Federation 的工作原理、优势以及潜在挑战。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 掌握Linux:基础命令入门
    本章节深入浅出地介绍了Linux系统中的基本命令操作,帮助读者快速上手并理解其核心功能。 ... [详细]
  • 解决Linux系统中pygraphviz安装问题
    本文探讨了在Linux环境下安装pygraphviz时遇到的常见问题,并提供了详细的解决方案和最佳实践。 ... [详细]
author-avatar
猪猪看看新闻2011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有