精华内容
下载资源
问答
  • oracle查找定位占用临时表空间较大的SQL语句方法,包括:(1)造成临时表空间暴涨的SQL还在运行中(2)造成临时表空间暴涨的SQL已经运行过了。
  • Oracle查询临时表空间的占用

    千次阅读 2021-05-07 09:51:26
    可以使用以下语句查询是哪个session number的哪个sql占用了较大的临时表空间select inst_id,username,session_num,sql_id,tablespace,segtype,sum(blocks)*8/1024/1024 size_in_gb from gV$TEMPSEG_USAGE group by ...

    可以使用以下语句查询是哪个session number的哪个sql占用了较大的临时表空间

    select inst_id,username,session_num,sql_id,tablespace,segtype,sum(blocks)*8/1024/1024 size_in_gb from gV$TEMPSEG_USAGE group by inst_id,username,session_num,sql_id,tablespace,segtype

    select * from gv$sqlarea where sql_id=''

    以上

    oracle11g 查询临时表空间的使用率和正在使用临时表空间的用户

    转: oracle11g 查询临时表空间的使用率和正在使用临时表空间的用户 原创 Oracle 作者:记录每一次错误 时间:2018-12-21 15:46:33 11179 0 今天开发反映说临时表 ...

    oracle创建临时表空间、用户表空间、创建用户关联表空间、授权等

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test ...

    Oracle重建临时表空间

    [oracle@hd58 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Wed Jun 27 11:58:25  ...

    oracle 创建临时表空间/表空间,用户及授权

    1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...

    oracle删除临时表空间一直处于等待状态

    现象: 新建一个临时表空间mytemp 然后将其改为默认临时表空间后,执行一条带order by的查询语句,查询出结构后, 修改默认临时表空间为原来的temp,然后执行 drop tablespace ...

    ORACLE DG临时表空间管理

    实施目标:由于磁盘空间不足,将主库的临时表空间修改位置 standby_file_management 管理方式:AUTO SQL> show parameter standby_file NA ...

    oracle 查看临时表空间temp 的使用情况以及扩展表空间

    SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS, USED_SPACE )/SPACE*,) &qu ...

    ORACLE 临时表空间清理

    Oracle临时表空间主要用来做查询和存放一些缓冲区数据.临时表空间消耗的主要原因是需要对查询的中间结果进行排序.临时表空间的主要作用: 索引create或rebuildOrder by 或 grou ...

    随机推荐

    《zw版·Halcon入门教程与内置demo》

    halcon系统的中文教程很不好找,而且大部分是v10以前的版本. 例如,QQ群: 247994767(Delphi与halcon), 共享 ...

    jQuery核心之那些有效的方法

    jQuery提供了一些很有效的方法,这些方法都在$命名空间之下,对常规的编码很有帮助,完整的api详见:utilities documentation on api.jquery.com $.trim ...

    OC中修饰符:宏define 常量:const extern

    const const最好理解,修饰的东西不能被修改 指针类型根据位置的不同可以理解成3种情况: I 常量指针 // 初始化之后不能赋值,指向的对象可以是任意对象,对象可变. NSString * c ...

    kmeans算法的matlab实践

    把图像中所有的像素点进行RGB聚类分析,然后输出看结果 img = imread('qq.png'); %取出R矩阵,并将这个R矩阵拉成一列 imgR = img(:,:,1); imgR = img ...

    【剑指offer】面试题36:数组中的逆序对

    题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 思路: 归并排序的合并过程.主要是考虑合并两个有序序列时,计算逆序 ...

    Gradle 2.0用户手册——总览(译)(转)

    2.1 特性 本章将介绍一系列Gradle的特性. 申明式构建和基于约定的构建 Gradle的核心是基于Groovy呈现了一种丰富的针对特定领域的语言,称之为Domain Specific Langu ...

    mysql常用的用户授权语句

    一:授权主要的 SQL //某个数据库所有的权限 ALL 后面+ PRIVILEGES GRANT ALL PRIVILEGES ON 库名.* TO '用户'@'%' IDENTIFIED BY ' ...

    codeforces479E

    Riding in a Lift CodeForces - 479E Imagine that you are in a building that has exactly n floors. You ...

    VFIO PF SRIOV IOMMU UIO概念解释、关联

    1.UIO出现的原因 第一,硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等.它们被不同的内核子系统支持.这些标准的设备的驱动编写较为容易而且 ...

    JSTL 递增序号

    ${x ...

    展开全文
  • 也就是说当前临时表空间文件的大小是历史上使用临时表空间最大的大小。 临时表空间的主要作用: 索引create或rebuild Order by 或 group by Distinct 操作 Union 或 intersect 或 minus Sort-merge joins analyze
  • 数据库 data 磁盘不足,磁盘占用 80% 以上数据库 binlog 磁盘不足,磁盘占用 80% 以上二、排查过程登陆告警的服务器,查看磁盘空间,并寻找大容量文件后,发现端口号为 4675 的实例临时表空间 ibtmp1 的大小有 955G...

    数据库 data 磁盘不足,磁盘占用 80% 以上

    数据库 binlog 磁盘不足,磁盘占用 80% 以上

    二、排查过程

    登陆告警的服务器,查看磁盘空间,并寻找大容量文件后,发现端口号为 4675 的实例临时表空间 ibtmp1 的大小有 955G,导致磁盘被使用了 86%;

    8b3c6ae0d07045aded4a5de2ff3c8e00.png

    猜测和库里执行长 SQL 有关系,产生了很多临时数据,并写入到临时表空间。

    0fa90fd84b74533782c48e7a35b3100c.png

    看到有这样一条 SQL,继续分析它的执行计划;

    e9220182c95a25c6cffc338ff311346b.png

    很明显看到图中标记的这一点为使用了临时计算,说明临时表空间的快速增长和它有关系。这条 SQL 进行了三表关联,每个表都有几十万行数据,三表关联并没有在 where 条件中设置关联字段,形成了笛卡尔积,所以会产生大量临时数据;而且都是全表扫描,加载的临时数据过多;还涉及到排序产生了临时数据;这几方面导致 ibtmp1 空间快速爆满。

    三、解决办法

    和项目组沟通后,杀掉这个会话解决问题;

    6fbf8f48dede1f4dbde786d440dfb7c4.png

    d68328de1d2c5fb2a0e8b64a4559fe73.png

    但是这个 SQL 停下来了,临时表空间中的临时数据没有释放;

    最后通过重启 mysql 数据库,释放了临时表空间中的临时数据,这个只能通过重启释放。

    dcb94f7defb8c51ae3f85f1aeda48478.png

    四、分析原理

    通过查看官方文档,官方是这么解释的:

    24a083fd7f71c4e64fc9642873aea531.png

    翻译:

    b5cbc43295a82b7c042c09124b8e89ef.png

    根据官网文档的解释,在正常关闭或初始化中止时,将删除临时表空间,并在每次启动服务器时重新创建。重启能够释放空间的原因在于正常关闭数据库,临时表空间就被删除了,重新启动后重新创建,也就是重启引发了临时表空间的重建,重新初始化,所以,重建后的大小为 12M。

    从错误日志里可以验证上面的观点:

    de894410dad833ed363aa21c9f1d3b0e.png

    五、官网对于 ibtmp1 大小的说明

    833d5cc37006a41ecb581300193e2500.png

    65efbfd2c4fb78bce96d8c77d7cf1ed6.png

    六、如何避免

    1. 对临时表空间的大小进行限制,允许自动增长,但最大容量有上限,本例中由于 innodb_temp_data_file_path 设置的自动增长,但未设上限,所以导致 ibtmp1

    有 955G。

    正确方法配置参数 innodb_temp_data_file_path:

    [mysqld]

    innodb_temp_data_file_path=ibtmp1:12M:autoextend:max:500M

    参考官方文档:

    a7eee1724ceb55db2aebfbc3b776ebc9.png

    662d791975f18ba5e985ec3ea8911324.png

    设置了上限的大小,当数据文件达到最大大小时,查询将失败,并显示一条错误消息,表明表已满,查询不能往下执行,避免 ibtmp1 过大。

    2. 在发送例如本例中的多表关联 SQL 时应确保有关联字段而且有索引,避免笛卡尔积式的全表扫描,对存在 group by、order by、多表关联的 SQL 要评估临时数据量,对 SQL 进行审核,没有审核不允许上线执行。

    3. 在执行前通过 explain 查看执行计划,对 Using temporary 需要格外关注。

    七、其他补充

    1> 通过字典表查看执行的 SQL 产生临时表、使用临时表空间的情况:

    查询字典表:sys.x$statements_with_temp_tables

    select * from sys.x$statements_with_temp_tables where query like 'select%' and db='test' order by tmp_tables_to_disk_pct,disk_tmp_tables desc\G;

    b848cbbb60582947a0817fa98f75b835.png

    查询字典表:sys.statements_with_temp_tables

    select * from sys.statements_with_temp_tables where query like 'select%' and db='test' order by tmp_tables_to_disk_pct,disk_tmp_tables desc\G;

    e4d0d55eb476e9973a802f6bdf85bfd3.png

    这两个表查询的结果是一样的,各列含义如下:

    query:规范化的语句字符串。

    db:语句的默认数据库, NULL 如果没有。

    exec_count:语句已执行的总次数。

    total_latency:定时出现的语句的总等待时间。

    memory_tmp_tables:由该语句的出现创建的内部内存临时表的总数。

    disk_tmp_tables:由该语句的出现创建的内部磁盘临时表的总数。

    avg_tmp_tables_per_query:每次出现该语句创建的内部临时表的平均数量。

    tmp_tables_to_disk_pct:内部内存临时表已转换为磁盘表的百分比。

    first_seen:第一次看到该声明的时间。

    last_seen:最近一次发表该声明的时间。

    digest:语句摘要。

    通过字典表 tmp_tables_to_disk_pct 这一列结果可知,内存临时表已转换为磁盘表的比例是 100%,说明通过复现这个查询,它的临时计算结果已经都放到磁盘上了,进一步证明这个查询和临时表空间容量的快速增长有关系。

    2> 对于 mysql5.7 中 kill行长 SQL 的会话,ibtmp1 容量却没有收缩问题的调研;

    8f322d12ceab47549c523c178f277b86.png

    从文章中的解释看,会话被杀掉后,临时表是释放的,只是在 ibtmp1 中打了删除标记,空间并没有还给操作系统,只有重启才可以释放空间。

    3> 下面,进一步用 mysql8.0 同样跑一下这个查询,看是否有什么不同;

    mysql 版本:8.0.18

    9f0080dfb355322dbe54551de42c895d.png

    91cee9dfc9b579dac03f23c6e2c659a8.png

    当这个 sql 将磁盘跑满之后,发现与 5.7 不同的是这个 SQL 产生的临时数据保存到了 tmpdir,mysql5.7 是保存在 ibtmp1 中,而且由于磁盘满,SQL 执行失败,很快磁盘空间就释放了;

    问题:如何使用到 8.0 版本的临时表空间?

    通过查看 8.0 的官方文档得知,8.0 的临时表空间分为会话临时表空间和全局临时表空间,会话临时表空间存储用户创建的临时表和当 InnoDB 配置为磁盘内部临时表的存储引擎由优化器创建的内部临时表,当会话断开连接时,其临时表空间将被截断并释放回池中;也就是说,在 8.0 中有一个专门的会话临时表空间,当会话被杀掉后,可以回收磁盘空间;而原来的 ibtmp1 是现在的全局临时表空间,存放的是对用户创建的临时表进行更改的回滚段,在 5.7 中 ibtmp1 存放的是用户创建的临时表和磁盘内部临时表;

    也就是在 8.0 和 5.7 中 ibtmp1 的用途发生了变化,5.7 版本临时表的数据存放在 ibtmp1 中,在 8.0 版本中临时表的数据存放在会话临时表空间,如果临时表发生更改,更改的 undo 数据存放在 ibtmp1 中;

    a8ef271a20a246645ce815bb41dd4853.png

    2486fb3076a73f6e51ebdbed19e8e087.png

    6ac27d10e13159dd3dd5a464bf06037c.png

    686d7916a7ffa551e96b0bf7052328da.png

    d78008c18c853b0fe53107c267046508.png

    实验验证:将之前的查询结果保存成临时表,对应会话是 45 号,通过查看对应字典表,可知 45 号会话使用了 temp_8.ibt 这个表空间,通过把查询保存成临时表,可以用到会话临时表空间,如下图:

    bfdb04377370c987d095af19f3f3951e.png

    下一步杀掉 45 号会话,发现 temp_8.ibt 空间释放了,变为了初始大小,状态为非活动的,证明在 mysql8.0 中可以通过杀掉会话来释放临时表空间。

    08cc5678fb70d8edba500e0fe23e1046.png

    总结:在 mysql5.7 时,杀掉会话,临时表会释放,但是仅仅是在 ibtmp 文件里标记一下,空间是不会释放回操作系统的。如果要释放空间,需要重启数据库;在 mysql8.0 中可以通过杀掉会话来释放临时表空间。

    展开全文
  • Oracle 临时表空间 SQL语句

    千次阅读 2021-09-11 12:51:18
    以下总结了关于 Oracle 数据库临时表空间的相关 SQL 语句: Oracle 临时表空间创建和添加数据文件: --创建临时表空间 tempdata create temporary tablespace tempdata tempfile '/oradata/orcl/tempdata01.dbf' ...

    以下总结了关于 Oracle 数据库临时表空间的相关 SQL 语句:

    Oracle 临时表空间创建和添加数据文件:

    --创建临时表空间 tempdata
    create temporary tablespace tempdata tempfile '/oradata/orcl/tempdata01.dbf' size 30g autoextend off;
    --新增临时表空间数据文件
    alter tablespace tempdata add tempfile '/oradata/orcl/tempdata02.dbf' size 30g autoextend off;
    --删除临时表空间数据文件
    展开全文
  • 解决oracle临时表空间的报错

    千次阅读 2021-05-02 00:49:42
    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652:无法通过128 (在表空间TEMP中)扩展temp段原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续...

    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段

    原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续空间,一旦没有足够的可分配空间或者分配不连续就会出现上述的现象。

    回忆下临时表空间的作用:

    临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。

    当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了。

    解决办法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小。当然也可以扩展表空间。

    1、增大临时表空间(或增加临时表空间文件)。

    2、设置临时数据文件自动扩展

    步骤:

    1、查询临时表空间状态:

    SQL> col file_name for a20;

    SQL> select tablespace_name,file_name,bytes/1024/1024file_size,autoextensible from dba_temp_files;

    2a97a804774fcb8df352e2b1ffb60e34.png

    2、扩展临时表空间

    SQL> alter database tempfile '/u01/app/oracle/oradata/CP7PV1DB/temp01.dbf'resize 8192m;

    或也可增加临时表空间文件

    alter tablespace temp add tempfile‘/u01/app/oracle/oradata/CP7PV1DB/temp02.dbf’ size 8192m;

    注:临时表空间文件如果已经32G,达到最大文件大小,只能添加文件。

    SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/CP7PV1DB/temp03.dbf' size 4G autoextend on next 128M maxsize 6G;

    SQL> ALTER TABLESPACE TEMP DROP TEMPFILE '/u01/app/oracle/oradata/CP7PV1DB/temp03.dbf';

    SQL> ALTER DATABASE TEMPFILE  '/u01/app/oracle/oradata/CP7PV1DB/temp03.dbf' RESIZE 6G;

    3、设置自动扩展

    SQL> alter database tempfile'/u01/app/oracle/oradata/CP7PV1DB/temp01.dbf' autoextend on next 10m maxsizeunlimited;

    4、扩展表空间时的报错

    ERROR atline 1:

    ORA-00376:file 201 cannot be read at this time

    ORA-01110:data file 201: '/u01/app/oracle/oradata/CP7PV1DB/temp01.dbf'

    原因是临时表空间不知道什么原因offline了,修改为online后修改成功。

    SQL>  alter database tempfile ‘/u01/app/oracle/oradata/CP7PV1DB/temp01.dbf’online;

    Database altered.

    5、删除临时表空间(补充)

    SQL>drop tablespace temp01  including contents and datafiles;

    SQL> ALTER DATABASE TEMPFILE  '/u01/app/oracle/oradata/CP7PV1DB/temp01.dbf' DROPINCLUDING DATAFILES;

    Database altered.

    注意:删除临时表空间的临时数据文件时,不需要指定INCLUDING DATAFILES 选项也会真正删除物理文件,否则需要手工删除物理文件。也不能直接删除当前用户的默认表空间,否则会报ORA-12906错误。如果需要删除某一个默认的临时表空间,则必须先创建一个临时表空间,然后指定新创建的表空间为默认表空间,然后删除原来的临时表空间。

    6、更改系统默认的临时表空间

    --查询默认临时表空间

    SQL> select *from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION

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

    DEFAULT_TEMP_TABLESPACE        TEMP       Name of default temporary tablespace

    --修改默认临时表空间

    SQL> alterdatabase default temporary tablespace temp02;

    Databasealtered.

    我们可以查询是否切换为TEMP02:

    SQL> select *from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION

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

    DEFAULT_TEMP_TABLESPACE        TEMP02     Name of default temporary tablespace

    7、查看临时表空间的使用率

    SQL>SELECT temp_used.tablespace_name,

    total - used as "Free",

    total as "Total",

    round(nvl(total - used, 0) * 100 /total, 3) "Free percent"

    FROM (SELECT tablespace_name,SUM(bytes_used) / 1024 / 1024 used

    FROM GV_$TEMP_SPACE_HEADER

    GROUP BY tablespace_name) temp_used,

    (SELECT tablespace_name, SUM(bytes) /1024 / 1024 total

    FROM dba_temp_files

    GROUP BY tablespace_name) temp_total

    WHEREtemp_used.tablespace_name = temp_total.tablespace_name;

    TABLESPACE_NAME                      Free      Total Free percent

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

    TEMP                                 6876       8192       83.936

    8、查找消耗资源比较多的sql语句

    Select se.username,

    se.sid,

    su.extents,

    su.blocks * to_number(rtrim(p.value)) asSpace,

    tablespace,

    segtype,

    sql_text

    from v$sort_usage su, v$parameter p, v$session se, v$sql s

    where p.name = 'db_block_size'

    and su.session_addr = se.saddr

    and s.hash_value = su.sqlhash

    and s.address = su.sqladdr

    order by se.username, se.sid;

    先创建一个临时表空间,把这个表空间设置为默认的临时表空间,然后把以前的临时表空间删掉,再把数据文件删掉,很简单。

    经验:Oracle表空间中的数据文件只能增加不能删除.;可以移动数据文件,把表空间的指针rename一下.默认的临时表空间不能脱机.

    展开全文
  • ORACLE数据库临时表空间不足通用解决方案原因分析:1.ORACLE临时表空间是由oracle数据库定时对表空间进行释放,但也会出现表空间释放不及时...普通临时表空间的数据文件扩展一般设置无限制(即最大为32G),如不够有时需...
  • Oracle 临时表、临时表空间临时表空间组用法、区别及表空间组优点临时表Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时。每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此...
  • Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。 重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间...
  • db2 系统临时表空间

    万次阅读 2014-05-26 14:28:15
    如果结果集中的行大小接近于现有系统临时表空间最大行长度限制,那么可能需要创建具有更大页大小的系统临时表空间。 开始之前 确保具有 SYSCTRL 或 SYSADM 权限来在必要时创建系统临时表空间。 ...
  • 不要让临时表空间影响数据库性能

    千次阅读 2016-12-26 16:36:26
    ,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB,如果还有增长,那么依此类推,临时表空间始终保持在一个最大的上限。像上文提到的恐怖现象经过分析可能是以下几个方面的原因造成的。    1. 没有为...
  • 临时表空间 create temporary tablespace ebank_temp --表空间名字ebank_temp tempfile 'ebank_temp.dbf' --表空间文件物理路径 size 2G --表空间大小 extent management local; 表空间 create tablespace 表...
  • oracle 临时表空间作用及相关使用

    千次阅读 2019-05-05 14:30:57
    临时表空间作用: 1、临时数据产生后Oracle数据库会先将这些存放到内存的PGA)内的sor_area排序区(SORT_AREA_SIZE参数)的地方,专门用来存放这些因为排序操作而产生的临时数据。但是这个分区的容量是有限的。当这...
  • 有时候,发现DB2系统临时表空间使用率很高,想知道哪些应用占用了临时表空间,以及这些应用执行的SQL语句,怎么办?Technote How to find application that uses up temporary tablespace 中已经有介绍,我这里的...
  • 临时表空间不足问题

    千次阅读 2018-04-03 22:45:32
    今晚开发临时拉我去定位一个数据库问题,是临时表空间不足的问题,主要是他们的sql存在clob大字段排序把临时表空间占满了且不释放。 这种问题解决的最好办法就是优化SQL,能把临时表空间耗尽的sql明显是存在很大的...
  • 临时表空间 1是一个磁盘空间 2用于存储用户排序或汇总时产生的临时数据 3默认所有用户的临时表空间是temp 4与临时表空间对应的是临时文件,非基本表空的数据文件 5.用户操作结束后,临时文件的临时数据会被系统...
  • Oracle临时表空间说明

    千次阅读 2016-09-28 05:42:36
    一、临时表空间作用... 2 二、临时表空间释放... 2 法一、重启库... 2 法二、Metalink给出的一个方法... 3 法三、我常用的一个方法... 3 法四、使用诊断事件的一种方法... 3 法五、 重建TEMP 表空间... 3 三...
  • oracle 查看表空间使用率(包括临时表)select * from ( Select a.tablespace_name, to_char(a.bytes/1024/1024,'99,999.999') total_bytes, to_char(b.bytes/1024/1024,'99,999.999') free_bytes, to_char(a.bytes/...
  • 表空间不够用,需要增大表空间,实际上需要增大数据文件的大小 表空间和数据文件的关系是:一个数据文件只能属于一个表空间,一个表空间可以有一个或者多个数据文件   --查询表空间的数据文件 SELECT * FROM dba_...
  • 解决Oracle临时表空间占满的问题

    千次阅读 2018-10-11 21:36:06
    正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有...
  • 当init.ora中指定的sort_area_size大小不足以满足排序操作时,用户将要在他们先前指定的临时表空间进行排序操作,如果磁盘上存在大量的排序操作,您应当确保用户在不同的磁盘上完成排序工作。 使用tempfiles,它时...
  • oracle 临时表空间和数据表空间

    千次阅读 2013-12-21 00:16:40
    Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。  重启数据库可以释放临时表空间,如果不能重启实例,而一直保持问题sql语句的执行,temp表空间...
  • 临时表空间组中必须由至少一个临时表空间组成,并且无明确的最大数量限制。 如果删除一个临时表空间组的所有成员,该组也自动被删除。 临时表空间的名字不能与临时表空间组的名字相同。 在给用户分配的一个临时表...
  • select sess.username, sql.sql_text, sort1.blocks from v$session sess, v$sqlarea sql, v$sort_usage sort1 where sess.serial# = sort1.session_num and sort1.sqladdr = sql.address and ...
  • Oracle Temp临时表空间及其故障处理

    千次阅读 2017-06-12 14:54:43
    Oracle Temp临时表空间及其故障处理 Oracle 11g中Temp临时...
  • 在数据库的日常学习中,发现公司生产数据库的默认临时表空间temp使用情况达到了30G,使用率达到了100%; 待调整为32G后,使用率还是为100%,导致磁盘空间使用紧张。根据临时表空间的主要是对临时数据进行排序和...
  • ORACLE临时表空间总结

    千次阅读 2016-09-28 05:40:59
    临时表空间概念   临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像...
  • Oracle临时表空间

    千次阅读 2013-02-22 16:20:13
    oracle的临时表空间 Oracle临时表空间为何暴涨?  昨天在做测试的时候发现一个非常奇怪的问题:在程序的查询模块中做查询的时候,开始速度很快,但是过了一段时间以后速度就变慢,最后干脆就报错,不工作...
  • oracle临时表空间过大的原因

    千次阅读 2013-02-18 11:13:51
    如果没有猜错的话,在磁盘空间的(内存)的分配上,Oracle使用的是贪心算法,如果上次磁盘空间消耗达到1GB,那么临时表空间就是1GB,如果还有增长,那么依此类推,临时表空间始终保持在一个最大的上限。Oracle临时表...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,216
精华内容 56,486
关键字:

临时表空间最大多少