临时表和临时表空间组介绍

oracle11g中的临时表空间 临时表空间:用来存放用户的临时性数据,在需要时覆盖,关闭时自动删除,不能存放 永久性数据。临时表空间在硬盘中。 1、临时表空间概念介绍 和 举例介绍       临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把... 阅读详情


Oracle 临时表功能介绍:
         Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时。每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此的数据,也就是说临时表是会话独立的。并且不产生日志。
         Oracle 的临时表分为事务型和会话型。
         事务型临时表就是指在事务处理过程中插入的记录只在事务提交或回滚之前有效,一旦事务完成,表中的记录便被自动清除。
         会话型临时表指临时表中的数据在本次会话期间一直有效,直到会话结束。会话结束后表中针对此次会话的数据会自动清空。

Oracle 临时表的不足之处:
         1、不支持lob对象,例如 Spatial 的SDO_GEOMETRY。这也许是设计者基于运行效率的考虑,但实际应用中确实需要此功能时就无法使用临时表了。
         2、不支持主外键关系。这意味着临时表 

创建临时表的语法:
CREATE GLOBAL TEMPORARY TABLE table
"(" column datatype [DEFAULT expr] [{ NULL | NOT NULL}]
[, column datatype [DEFAULT expr] [ {NULL | NOT NULL} ]... ")"
ON COMMIT {DELETE | PRESERVE } ROWS ;

--Sample
CREATE GLOBAL TEMPORARY TABLE TABLE_NAME (
   COL1  VARCHAR2(10),
   COL2  NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;
如果选择PRESERVE ROWS,则在会话结束后表中的数据自动清空,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束。

        Oracle中的临时表有两种一种是事务级别的临时表它在事务结束的时候自动清空记录,另一种是会话级的它在我们访问数据库是的一个会话结束后自动的清空。关于临时表多用户并行不是问题,一个会话从来不会阻止另一个会话使用临时表。即使“锁定”临时表,一个会话也不会阻止其他会话使用它们的临时表。
 
   如果有在SQL SERVER 和/或sybase中使用临时表的经验,需要主要考虑的不是执行select x,y ,z into #temp from some_table 来创建和装载临时表,而是:
 
1.对于每一个数据库,创建所有的temp表作为全局临时表。这将作为应用程序安装的一部分完成,就像创建永久表一样。
 
2.只要在过程中简单的insert into temp(x,y,z) selelct x,y,z from some_table。
 
只是理解这点,这里的目的不是运行存储过程创建表。在Oracle中这样做不是正确的方法。DDL是一种消耗资源非常大的操作,在运行时尽量不要使用,应用程序需要的临时表应在应用程序安装时创建,而不是在运行时创建。Oracle中的临时表和其他数据库的临时表是相似的,在每个数据库中创建临时表一次,不必在数据库中的每个存储过程中创建一次。临时表总是存在的,他们作为对象存在于数据字典中,并且总是保持为空,直到有会话在其中放入数据。
 
所有我在这里说明如果我们在存储过程中建临时表,每次都建立一个那么我的系统随着用户的操作调用此存储过程,每次多一个这样的表,我们在不知不觉中数据库中的表的数量会越来越多,而我们还不知道会存在很大的隐患的所有说这点不可小视,为了我们的系统能在客户那里平稳、安全的运行我们一定要注意这样的问题。如果不手动Drop 表,临时表还是在数据字典中存在的。

临时表空间组介绍

Temporary Tablespace Groups

Oracle Database 10g introduced the concept of a temporary tablespace group. Rather than having just one temporary tablespace and the possibility that it may become a performance bottleneck, you can define an entire group of temporary tablespaces and spread temporary tablespace input/output across them. To create a group of temporary tablespaces, simply specify the GROUP clause when creating it. Both of the following tablespaces comprise a temporary tablespace group named temp_group01:


CREATE TEMPORARY TABLESPACE temp01 TEMPFILE '/oradata/db01/
temp01.dbf' SIZE 100M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M TABLESPACE GROUP temp_group01;

CREATE TEMPORARY TABLESPACE temp02 TEMPFILE '/oradata/db02/
temp02.dbf' SIZE 100M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M TABLESPACE GROUP temp_group01;


Having created a group of temporary tablespaces, you can now make that group the default source of temporary disk space for your database, as follows:


ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_group01;


Now, rather than have all temporary input/output go against a single temporary tablespace, the database can distribute that I/O load among all the temporary tablespaces in the group. Temporary tablespace groups are even more of an advantage when you are performing operations in parallel. If you issue an ORDER BY query against a partitioned table and if multiple execution server processes are started in order to process that query in parallel, one for each partition, those execution servers no longer need to all funnel to the same temporary tablespace. Instead, the execution servers will be distributed across all the temporary tablespaces in the active group.

        在 oracle 10g 中,可以创建多个临时表空间,并把它们组成一个临时表空间组,这样应用
数据用于排序时可以使用组里的多个临时表空间,一个临时表空间组至少有一个临时表空
间,其最大个数没有限制,组的名字不能和其中某个表空间的名字相同。
 
         临时表空间组是在创建临时表空间时通过指定group字句创建的,如果删除组中的全部
临时表空间,那么这个组也将消失。

      我们将可以将一个表空间从一个组移动另一个组,或是从一个组中删除临时表空间,或是往
组里添加新的表空间。
 
    使用临时表空间组,有如下的优点:   
            1.避免当临时表空间不足时所引起的磁盘排序问题;   
            2.当一个用户同时有多个会话时,可以使得它们使用不同的临时表空间;
            3.使得并行的服务器在单节点上,能使用多个临时表空间 .

现在就看看如何操作使用临时表空间组:

   1:创建临时表空间组:

             SQL> create temporary tablespace tempts1 tempfile
                  
2  '/home/oracle/temp1_02.dbf' size 2M tablespace group group1;

                  Tablespace created
                  
              SQL
> create temporary tablespace tempts2 tempfile
                    
2  '/home/oracle/temp2_02.dbf' size 2M tablespace group group2;

                    Tablespace created
    2.查询临时表空间组:
  SQL> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1                         TEMPTS1
GROUP2                         TEMPTS2

SQL
> 
3.将表空间从一个临时表空间组移动到另外一个临时表空间组:
 SQL> alter tablespace tempts1 tablespace group GROUP2 ;

Tablespace altered

SQL
> select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP2                         TEMPTS1
GROUP2                         TEMPTS2

SQL
> 
4.把临时表空间组指定给用户
SQL>  alter user scott temporary tablespace GROUP2;

User altered

SQL
> 
5.在数据库级设置临时表空间
SQL>  alter database <db_name> default temporary tablespace GROUP2;  

Database altered. 

SQL
> 
6.  删除临时表空间组 (删除组成临时表空间组的所有临时表空间)
SQL> drop tablespace tempts1 including contents and datafiles;

Tablespace dropped

SQL
>  select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------
GROUP2                         TEMPTS2

SQL
> drop tablespace tempts2 including contents and datafiles;

Tablespace dropped

SQL
>  select * from dba_tablespace_groups;

GROUP_NAME                     TABLESPACE_NAME
------------------------------ ------------------------------

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

相关推荐

sybase 15.7 说明文档

sybase 15.7 说明文档,详细描述了Sybase的文档,

saybase分页查询库表数据(临时表的创建与判断删除)

第一次涉及使用到sybase数据库,需要通过sql分页查询某个表数据。sybase无法直接分页,只提供top方法获取top几的数据,通过网上比较常见的方法是通过建立临时表的方式获取(效率有待确定)。 1.将需要分页的表存定义rowid存进临时表: select top tabelNum rowid=identity(12), * into #tmp from tableName 2.将分页起始位置作为参数进行查询: select * from #tmp where rowid between star

qq_39178473的博客 750

C++语言程序设计教程第4版杨进才沈显君课后习题答案解析

为了更好地学习这门课程,我尝试在网上寻找一些学习资料和参考书籍,但效果并不是很理想。因此,我希望能有一些学长学姐或者是有经验的程序员能够分享一些学习经验和方法,让我更好地掌握这门课程。学习过程中,我发现这本书的内容非常丰富,讲解也非常详细,对于像我这样编程基础薄弱的学生来说,是一本非常实用的教材。同时,我也希望有经验的程序员能够推荐一些适合初学者的C++语言学习资料和工具,以便我能更好地学习和掌握这门课程。总之,希望能得到大家的帮助和支持,让我更好地学习和掌握C++语言程序设计。主 编: 杨进才,沈显君。

weixin_58833001的博客 1334

Sybase对多个临时数据库tempdb的支持

发现Sybase有个非常有趣的特性,就是支持多个tempdb。虽然一向对Sybase没什么好感,但对这个特性还是十分欣赏。查看了一点资料,觉得Sybase自身的一个白皮书比较权威,试着做个翻译。 概述 当数据库应用程序需要存储中间结果或者数据时,就需要临时空间。在Sybase的旗舰产品 ASE中,这个临时空间将由一个特殊的系统数据库tempdb来提供。而且,SQL语句对数据进行处理时,...

数据库天地 314

安卓应用锁开发实战:如何通过拦截Activity启动实现密码验证(附完整代码)

本文深入探讨了在安卓系统中开发应用锁功能的两种实战方案:通过修改ActivityStarter源码或实现IActivityController接口来拦截Activity启动流程,从而实现启动前的密码验证。文章详细对比了两种方案的技术选型、实现细节与适用场景,并提供了处理隐式Intent、验证状态管理等核心问题的完整代码,为开发系统级安全功能提供了实用指南。

tcp8optimizer的博客 457

Pspice安装教程:Windows系统完整指南(含环境变量设置)

详细讲解在Windows系统中完成Pspice安装的全过程,涵盖安装步骤与关键的环境变量设置,帮助用户顺利运行仿真工具。适合初学者快速上手pspice安装教程中的核心环节。

weixin_42230607的博客 1179

Oracle 临时表、临时表空间、临时表空间组用法、区别及表空间组优点

Oracle 临时表、临时表空间、临时表空间组用法、区别及表空间组优点临时表Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时。每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此的数据,也就是说临时表是会话独立的。并且不产生日志。Oracle 的临时表分为事务型和会话型。事务型临时表就是指在事务处理过程中插入的记录只在事务提交或回滚之前有效,一旦事务完成,表中的记...

听雪楼主 2873

10分钟上手YOLOv11:最强姿态估计模型来了,代码开源,效果炸裂!

【10分钟玩转YOLOv11实时姿态估计】🚀 YOLOv11作为YOLO家族最新成员,在速度、精度和易用性上全面升级,尤其适用于姿态估计等复杂视觉任务。本文带您快速掌握: 1️⃣ 核心概念:姿态估计即识别人体17个关键点(如关节部位)并连接成数字骨架,是智能健身、体感游戏等应用的基础。 2️⃣ 技术优势: 超轻量级(最小仅2.9M参数) 极速推理(GPU仅1.7ms) 高精度(COCO mAP@50-95达50%) 3️⃣ 三步实操: ① 安装:pip install ultralytics ② 准备人物

weixin_41246802的博客 1788

全局临时表

-- CREATE GLOBAL TEMPORARY TABLE t_tmp_session on commit preserve rows as select * from dba_objects where 2 =1 ; CREATE GLOBAL TEMPORARY TABLE t_tmp_transction on commit delete rows as select *

465

YOLO26优化:FPN涨点&轻量化篇 |多级特征融合金字塔(HS-FPN),助力小目标检测

高层筛选特征金字塔网络(HS-FPN),能够刷选出大小目标,增强模型表达不同尺度特征的能力,助力小目标检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 331

农作物生长模型:数学建模与实战案例

在本篇博客中,我们介绍了农作物生长模型的基本原理,并结合Matlab代码和实战案例,演示了如何应用数学建模技术进行农作物生长模型的研究与应用。农作物生长模型在农业领域具有重要意义,希望本篇博客能帮助读者更好地理解农作物生长模型的原理和应用,并在实际农业生产中取得更好的效果。

YOLO 2734

oracle临时表空间扩容_oracle之临时表空间组

在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须不相同,不然会出现错误。任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...

weixin_39967996的博客 1700

OpenClaw实战四|内容创作全流程AI助理:自动撰稿+智能剪辑+多平台发布,一人顶一个内容团队

AI替代的是「写稿、剪辑、发布」这种流水线工作,真正让你解放出来,去做选题、创意、人设、变现这些高价值的事。OpenClaw这套内容创作全流程AI助理,最大的价值不是「帮你发内容」,而是让一个人,拥有一个内容团队的产能。不管是个人博主、小团队,还是企业新媒体,都能用零代码的方式,快速搭建属于自己的自动化内容矩阵。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 589

oracle 临时表存在哪里_oracle之临时表空间组

在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须不相同,不然会出现错误。任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...

weixin_39634579的博客 403

10万张数据集持续迭代:YOLO模型的场景专属自进化体系如何搭建?

做工业质检的朋友应该都有过这样的经历——拿着在COCO上刷榜的YOLO模型跑到产线上一测,精度直接腰斩。这不是模型不行,是场景不对口。过去一年,我深度参与了一个工业视觉项目:产线每天产生超过10万张图像,需要持续迭代检测模型。我们踩过无数坑,最终摸索出一套YOLO模型的场景专属自进化体系。今天不聊虚的,直接上干货。让模型在真实场景数据中持续学习、自动进化,而不是每次依赖人工标注从头训练。下面我从主动学习筛选、增量持续学习、架构选型、部署优化、安全防护五个维度,拆解整个搭建过程。声明。

2601_95807009的博客 106

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

oracle 临时表空间满了_oracle之临时表空间组

在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须不相同,不然会出现错误。任何临时表空间都可以 在一个临时 表空间中添加、删除甚至 移动到其他临时表空间组中。临时表空间的好处:1)可以避免在sql查询排序的时候导致的表空间不足的情况,避免hold这个结果,尤其是在 分区表中。...

weixin_39720662的博客 108

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

oracle 临时表空间的作用和创建以及相关操作

文章目录一.临时表空间1. 临时表空间作用2. 临时表空间和临时表空间组3. 临时表空间操作(1)查看表空间(2)查看表空间详细信息(3)查看除临时表空间外 表空间对应的数据文件(4)查看临时表空间对应的数据文件(6)查看临时表空间组信息(7)查看默认的临时表空间(7)创建临时表空间(8)给临时表空间添加一个临时文件(9)修改系统默认的临时表空间 一.临时表空间 1. 临时表空间作用 用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久临时性数据。 如: 当用户对大量数

不是一枚开发 5万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

oracle中移动临时表空间位置,oracle 10G中临时表空间组的操作和使用 .

在 oracle 10g 中,可以创建多个临时表空间,并把它们组成一个临时表空间组,这样应用数据用于排序时可以使用组里的多个临时表空间,一个临时表空间组至少有一个临时表空间,其最大个数没有限制,组的名字不能和其中某个表空间的名字相同。临时表空间组是在创建临时表空间时通过指定group字句创建的,如果删除组中的全部临时表空间,那么这个组也将消失。我们将可以将一个表空间从一个组移动另一个组,或是从一个...

weixin_39540020的博客 354

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_39603265的博客 126

oracle 之 临时表空间组

oracle 之 临时表空间组。 今天是2013-08-28,把之前搞过 的内容在练习一下,记录一下比较。 oracle 在10g开始新增了临时表空间组的概念。 在一个临时表空间 组中,用户可以定义很多临时表 空间。一个临时表空间组包含至少一个临时表空间,但是没有包含最大个临时表空间个数。注意,临时表空间组的名子和临时表空间的名字必须相同,不然 会出现错误。任何临时表空间都可以 在一个临时

Rhys learn oracle! 1586

oracle 创建组,Oracle创建临时表空间组

在Oracle 11g以后,用户可以创建临时表空间组,一个临时表空间组中可以包含一个或多个临时表空间。临时表空间组中必须由至少一个临时表空间组成,并且无明确的最大数量限制。如果删除一个临时表空间组的所有成员,该组也自动被删除。临时表空间的名字不能与临时表空间组的名字相同。在给用户分配的一个临时表空间时,可以使用临时表空间组的名字代替实际的临时表空间名;在给数据库分配默认临时表空间时,也可以使用临时...

weixin_39733232的博客 312

临时表空间组

1.概述 在oracle 10g中引入了临时表空间组的概念,对临时表空间组的概念理解要点如下: 1.> 临时表空间组是一组临时表空间 2.> 临时表空间组和临时表空间之间的名字不能相同 3.> 不能显示的创建和删除临时表空间组,即当第一个临时表空间分配给临时表空间组时临时表空间组自动创建,当最后一个临时表空间从临时表空间组退出时临时表空间组自动删除。 2.临时表空间组的优势     默

EVISWANG的博客 715

Oracle临时表空间组的概念【转载】

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

weixin_30345055的博客 194
上一篇: 表空间使用率,备忘
下一篇: undo异常
DBA学习记录
博客等级 码龄15年 7粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值