广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 中检查临时表空间的方法
  • 455
分享到

Oracle 中检查临时表空间的方法

2024-04-02 19:04:59 455人浏览 薄情痞子
摘要

目录一、什么是临时表空间二、oracle创建临时表空间的方法三、如何在 Oracle 中检查临时表空间3.1 如何检查 Temp 表空间的大小3.2 oracle如何查看临时表空间的可用空间3.3 如何在实例级别检查临时

一、什么是临时表空间

临时表空间用于 Oracle 中的排序操作。它也用于连接操作。基本上,它是临时存储,临时对象是在这里创建的。全局临时表也在这个表空间中创建。这是一个非常重要的表空间,如果管理不当,可能会出现问题。让我们看看临时表空间管理的各种查询

二、oracle创建临时表空间的方法

这是创建临时表空间的 SQL

--单个临时文件
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/TEST/oradata/temp_1.dbf' SIZE 1000M; 
--多个临时文件
CREATE TABLESPACE TEMP TEMPFILE 
'/u01/oracle/TEST/oradata/temp_1.dbf' SIZE 1000M 
'/u01/oracle/TEST/oradata/temp_2.dbf' SIZE 1000M 
;
--使用 ASM 
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '+DATA' SIZE 1000M;

三、如何在 Oracle 中检查临时表空间

Oracle 数据库可以有多个临时表空间

select tablespace_name,status,contents from dba_tablespaces where contents='TEMPORARY';

我们可以使用以下查询选择每个表空间中的文件

select file_name, tablespace_name, bytes from dba_temp_files
或
select a.name,b.name, a.bytes from v$tempfile a, v$tablespace b where a.ts#=b.ts#

3.1 如何检查 Temp 表空间的大小

这是有关如何在 oracle 中检查以 GB 为单位的临时表空间大小的查询

select tablespace_name,sum(bytes)/1024/1024/1024 temp_gb
from dba_temp_files group by tablespace_name;
or
select b.name, sum(a.bytes)/1024/1024/1024 from v$tempfile a, v$tablespace b where a.ts#=b.ts# group by b.name;

3.2 oracle如何查看临时表空间的可用空间

select tsh.tablespace_name,
dtf.bytes/1024/1024/1024 total_GB,
sum(nvl(tsh.bytes_used,0))/1024/1024/1024 used_GB,
sum(nvl(tsh.bytes_free,0))/1024/1024/1024 free_GB,
(1-sum(nvl(tsh.bytes_free,0))/dtf.bytes)*100 pct,
from v$temp_space_header tsh,
(select tablespace_name, sum(bytes) bytes
from dba_temp_files
group by tablespace_name) dtf
where dtf.tablespace_name = tsh.tablespace_name(+)
group by tsh.tablespace_name, dtf.bytes/1024, dtf.bytes
order by 1
/

在 11g 中,引入了一个新视图 dba_temp_free_space,因此我们也可以将其用作

SELECT * FROM dba_temp_free_space;

3.3 如何在实例级别检查临时表空间使用情况

select inst_id, tablespace_name, segment_file, total_blocks,
used_blocks, free_blocks, max_used_blocks, max_sort_blocks
from gv$sort_segment;
​
select inst_id, tablespace_name, blocks_cached, blocks_used
from gv$temp_extent_pool;
​
select inst_id,tablespace_name, blocks_used, blocks_free
from gv$temp_space_header;
​
select inst_id,free_requests,freed_extents
from gv$sort_segment;

3.4 如何查看 Temp 表空间的使用百分比

select tablespace_name, ' %free='|| round(sum(free_blocks) / sum(total_blocks) * 100 ,0)
from gv$sort_segment group by tablespace_name;

3.5 如何找到正在使用临时表空间的会话

set pagesize 50000 echo off verify off feedback off lines 80 heading on
col username fORMat a15 head 'Username'
col osuser format a15 head 'OS User'
col sid format 99999 head 'Sid'
col loGon_time format a14 head 'Logon Time'
col tablespace format a15 head 'Tablespace Name'
select
tablespace
, a.osuser
, a.username
, a.sid
, to_char(logon_time,'MM/DD/YY HH24:MI') logon_time
from v$session a, v$sort_usage b
where a.saddr = b.session_addr;

3.5 如何通过会话检查临时使用情况

SELECT s.sid、s.username、s.status、u.tablespace、u.segfile#、u.contents、u.extents、u.blocks 
FROM v$session s、v$sort_usage u 
WHERE s.saddr=u。 session_addr 
ORDER BY u.tablespace, u.segfile#, u.segblk#, u.blocks;

3.6 如果我们还想看到正在运行的 sql

SELECT a.username, a.sid, a.serial#, a.osuser, b.tablespace, b.blocks, c.sql_text 
FROM v$session a, v$tempseg_usage b, v$sqlarea c 
WHERE a.saddr = b .session_addr 
AND c.address= a.sql_address 
AND c.hash_value = a.sql_hash_value 
ORDER BY b.tablespace, b.blocks;

3.7 如何使用大量 TEMP 查找会话

col inst_id format 999
col sid format 99999
col status format a11
col program format a20 trunc
col Machine format a17 trunc
col action format a39
col module format a39
col blocks heading "TEMP BLOCKS"
SELECT b.blocks, s.inst_id, s.sid, s.status,
s.action,
s.program,
s.machine,
s.module
FROM gv$session s,
gv$sort_usage b
WHERE s.saddr = b.session_addr
and s.inst_id = b.inst_id
and b.blocks > 100000
order by b.blocks desc;

四、oracle如何增加临时表空间

我们可以通过扩展现有文件或添加新的临时文件来增加临时表空间。

alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;
or
alter tablespace TEMP add tempfile '+DATA/test/tempfile02.dbf' resize 10000m ;

4.1 如何调整临时文件的大小

alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;

4.2 如何删除临时文件

无法从普通表空间中删除数据文件,但可以从临时表空间中删除临时文件。这是sql

ALTER DATABASE TEMPFILE '<temp file>' DROP INCLUDING DATAFILES;

到此这篇关于Oracle 中检查临时表空间的方法的文章就介绍到这了,更多相关Oracle 临时表空间内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 中检查临时表空间的方法

本文链接: https://www.lsjlt.com/news/88584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 中检查临时表空间的方法
    目录一、什么是临时表空间二、oracle创建临时表空间的方法三、如何在 Oracle 中检查临时表空间3.1 如何检查 Temp 表空间的大小3.2 oracle如何查看临时表空间的可用空间3.3 如何在实例级别检查临时...
    99+
    2022-10-19
  • Oracle中检查临时表空间的方法
    目录一、什么是临时表空间二、oracle创建临时表空间的方法三、如何在 Oracle 中检查临时表空间3.1 如何检查 Temp 表空间的大小3.2 oracle如何查看临时表空间的...
    99+
    2022-11-13
    Oracle 临时表空间 Oracle 检查临时表空间
  • oracle 表空间,临时表空间使用率查询
    临时表空间: SELECT a.tablespace_name, a.BYTES total, a.bytes - nvl(b.bytes, 0) free      ...
    99+
    2022-10-18
  • oracle怎么查看用户临时表空间
    可以使用以下语句来查看Oracle用户的临时表空间:```sqlSELECT tablespace_name, file_n...
    99+
    2023-08-31
    oracle
  • oracle查询临时表空间使用情况
    select h.tablespace_name tablespace_name,f.autoextensible,               round(sum(nvl(p.bytes_use...
    99+
    2022-10-18
  • oracle临时表空间的增删改查命令
    本篇内容介绍了“oracle临时表空间的增删改查命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!orac...
    99+
    2022-10-18
  • Oracle怎么查看和修改临时表空间
    这篇文章主要讲解了“Oracle怎么查看和修改临时表空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle怎么查看和修改临时表空间”吧!--查表空间...
    99+
    2022-10-18
  • 临时表空间过大解决方法
    临时表空间过大解决方法解决临时表空间过大有两种方法,方法一增加临时表空间的大小,方法二重建临时表空间,解决临时表空间过大的问题。方案一:增加临时表空间的大小--1.临时表空间的使用情况SELECT ...
    99+
    2022-10-18
  • 消除临时表空间暴涨的方法
      关于消除temp ts暴涨的方法     经常有人问temp表空间暴涨的问题,以及如何回收临时表空间,由于版本的不同,方法显然也多种多样,但这些方法显示是治标...
    99+
    2022-10-18
  • MySQL 5.7临时表空间的使用方法
    这篇文章将为大家详细讲解有关MySQL 5.7临时表空间的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导读MySQL 5.7的目标是成为发布以来最安全的MySQ...
    99+
    2022-10-18
  • 解决oracle临时表空间的报错
    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展&nbs...
    99+
    2022-10-18
  • ORACLE临时表空间的总结分析
    ORACLE临时表空间的总结分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。临时表空间概念临时表空间用来管理数据库排序操作以...
    99+
    2022-10-19
  • Oracle 临时表空间SQL语句的实现
    目录临时表空间概念以下总结了关于 Oracle 数据库临时表空间的相关 SQL 语句: Oracle 临时表空间创建和添加数据文件: 查看当前默认临时表空间: 查询temp表空间使用...
    99+
    2022-11-12
  • oracle11g如何查询临时表空间的使用率和正在使用临时表空间的用户
    这篇文章给大家分享的是有关oracle11g如何查询临时表空间的使用率和正在使用临时表空间的用户的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。   ...
    99+
    2022-10-18
  • oracle 11g解决临时表空间过大的问题
    有的数据库在使用过程中由于某些操作会导至临时表空间过大,由于临时表空间的工作机制,在作业完成后该部分临时表空间也不会释放。通过重建临时表空间的方法可以解决这个问题,但操作还是有点繁琐。在操作中发现,通过re...
    99+
    2022-10-18
  • 表空间问题----收缩空间方法:表空间中表的查法:扩展表空间
    收缩空间方法:一.不删除数据,收缩表空间的数据文件大小,释放磁盘空间查询对应表所在的表空间select OWNER,SEGMENT_NAME,TABLESPACE_NAME,BYTES/1024/...
    99+
    2022-10-18
  • oracle查询建立临时表的方法是什么
    Oracle可以使用CREATE GLOBAL TEMPORARY TABLE语句来建立临时表。临时表的数据在会话结束时会自动被删除...
    99+
    2023-08-23
    oracle
  • 如何查询过去一段时间内某条sql使用的临时表空间大小
    小编给大家分享一下如何查询过去一段时间内某条sql使用的临时表空间大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!查询过去一段时间内使用的temp表空间大小需要查询V$ACTIVE_SE...
    99+
    2022-10-18
  • oracle临时表空间的作用与创建及相关操作详解
    目录1.1 临时表空间作用1.2 临时表空间和临时表空间组1.3 临时表空间操作(1) 查看表空间(2) 查看表空间详细信息(3) 查看除临时表空间外 表空间对应的数据文件(4) 查看临时表空间对应的数据文件(5) 查看...
    99+
    2022-07-25
    oracle 创建临时表空间 oracle默认临时表空间 oracle创建临时表空间语句
  • 关于增大oracle表空间的方法
                     &...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作