網(wǎng)站首頁 編程語言 正文
一、什么是臨時(shí)表空間
臨時(shí)表空間用于 Oracle 中的排序操作。它也用于連接操作。基本上,它是臨時(shí)存儲(chǔ),臨時(shí)對(duì)象是在這里創(chuàng)建的。全局臨時(shí)表也在這個(gè)表空間中創(chuàng)建。這是一個(gè)非常重要的表空間,如果管理不當(dāng),可能會(huì)出現(xiàn)問題。讓我們看看臨時(shí)表空間管理的各種查詢
二、oracle創(chuàng)建臨時(shí)表空間的方法
這是創(chuàng)建臨時(shí)表空間的 SQL
--單個(gè)臨時(shí)文件
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/u01/oracle/TEST/oradata/temp_1.dbf' SIZE 1000M;
--多個(gè)臨時(shí)文件
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 中檢查臨時(shí)表空間
Oracle 數(shù)據(jù)庫可以有多個(gè)臨時(shí)表空間
select tablespace_name,status,contents from dba_tablespaces where contents='TEMPORARY';
我們可以使用以下查詢選擇每個(gè)表空間中的文件
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 表空間的大小
這是有關(guān)如何在 oracle 中檢查以 GB 為單位的臨時(shí)表空間大小的查詢
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如何查看臨時(shí)表空間的可用空間
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 中,引入了一個(gè)新視圖 dba_temp_free_space,因此我們也可以將其用作
SELECT * FROM dba_temp_free_space;
3.3 如何在實(shí)例級(jí)別檢查臨時(shí)表空間使用情況
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 如何找到正在使用臨時(shí)表空間的會(huì)話
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 如何通過會(huì)話檢查臨時(shí)使用情況
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 如果我們還想看到正在運(yùn)行的 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 查找會(huì)話
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如何增加臨時(shí)表空間
我們可以通過擴(kuò)展現(xiàn)有文件或添加新的臨時(shí)文件來增加臨時(shí)表空間。
alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;
or
alter tablespace TEMP add tempfile '+DATA/test/tempfile02.dbf' resize 10000m ;
4.1 如何調(diào)整臨時(shí)文件的大小
alter database tempfile '+DATA/test/tempfile01.dbf' resize 10000m ;
4.2 如何刪除臨時(shí)文件
無法從普通表空間中刪除數(shù)據(jù)文件,但可以從臨時(shí)表空間中刪除臨時(shí)文件。這是sql
ALTER DATABASE TEMPFILE '<temp file>' DROP INCLUDING DATAFILES;
原文鏈接:https://www.cnblogs.com/lkj371/p/16806416.html
相關(guān)推薦
- 2023-03-16 python中split()函數(shù)的用法詳解_python
- 2022-09-04 python?matplotlib庫繪圖實(shí)戰(zhàn)之繪制散點(diǎn)圖_python
- 2022-04-28 Python語言中的數(shù)據(jù)類型-序列_python
- 2022-07-10 table列表中輸入框input與文本span切換的實(shí)現(xiàn)
- 2022-12-22 Flutter組件開發(fā)過程完整講解_Android
- 2023-01-18 Python3中安裝后SSL問題及解決_python
- 2022-10-05 Win10下自帶的PowerShell讀取文件哈希值_PowerShell
- 2022-08-21 python格式的Caffe圖片數(shù)據(jù)均值計(jì)算學(xué)習(xí)_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支