热门标签 | 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同时排序时使用了同一临时表空间组内的不同临时表空间
   这样大大减少了之前同一用户只能使用一个临时表空间而产生的请求临时段的等待时间.
 

推荐阅读
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 本文介绍Linux中的Diff命令,该命令用于逐行对比两个文本文件,展示它们之间的差异。通过系统性检查,它能有效标识出文件间所有不同的行,无需事先对文件进行排序。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 本文介绍如何在SQL Server中创建动态SQL存储过程,并提供详细的代码实例和解释。通过这种方式,可以更灵活地处理查询条件和参数。 ... [详细]
  • 磁盘健康检查与维护
    在计算机系统运行过程中,硬件或电源故障可能会导致文件系统出现异常。为确保数据完整性和系统稳定性,定期进行磁盘健康检查至关重要。本文将详细介绍如何使用fsck和badblocks工具来检测和修复文件系统及硬盘扇区的潜在问题。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了Linux系统中软链接和硬链接的概念、创建方法及其应用场景。通过实例解释了两者的区别,包括如何防止误删文件及软链接在跨文件系统时的优势。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • Linux系统中Java程序Too Many Open Files问题的深入解析与解决方案
    本文详细分析了在Linux环境下运行的Java应用程序中可能出现的“Too many open files”异常现象,探讨其成因及解决方法。该问题通常出现在高并发文件访问或大量网络连接场景下,对系统性能和稳定性有较大影响。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
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社区 版权所有