Oracle 中檢查臨時(shí)表空間的方法
一、什么是臨時(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;
到此這篇關(guān)于Oracle 中檢查臨時(shí)表空間的方法的文章就介紹到這了,更多相關(guān)Oracle 臨時(shí)表空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
oracle報(bào)錯(cuò)(ORA-00600)問題處理
最近在做一個(gè)項(xiàng)目,使用的是Oracle數(shù)據(jù)庫,近兩天不知道怎么回事,告警日志里總是顯示這個(gè)錯(cuò)誤(ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[])度娘了一下,終于找到解決方式,分享給大家2014-08-08Oracle客戶端與plsql查詢數(shù)據(jù)亂碼修改成中文的快速解決方法
這篇文章主要介紹了Oracle客戶端與plsql查詢數(shù)據(jù)亂碼修改成中文的快速解決方法的相關(guān)資料,需要的朋友可以參考下2016-08-08Oracle 要慌了!華為終于開源了自家的 Huawei JDK——畢昇 JDK!
畢昇 JDK 是華為內(nèi)部 OpenJDK 定制版 Huawei JDK 的開源版本,是一個(gè)高性能、可用于生產(chǎn)環(huán)境的 OpenJDK 發(fā)行版,感興趣的朋友跟隨小編一起看看吧2020-12-12Windows10系統(tǒng)中Oracle完全卸載正確步驟
自己剛到公司就是熟悉數(shù)據(jù)庫的安裝卸載,所以分享一下學(xué)到的,下面這篇文章主要給大家介紹了關(guān)于Windows10系統(tǒng)中Oracle完全卸載正確步驟的相關(guān)資料,文章通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Oracle故障處理Rman-06207&Rman-06214的方法
新搭建的環(huán)境,還沒上線,今天在部署腳本,RMAN 備份中有一個(gè)警告,下面這篇文章主要給大家介紹了關(guān)于Oracle故障處理Rman-06207&Rman-06214的相關(guān)資料,需要的朋友可以參考下2022-11-11基于OGG實(shí)現(xiàn)Oracle實(shí)時(shí)同步MySQL的全過程
這篇文章詳細(xì)闡述了基于OGG實(shí)現(xiàn)Oracle實(shí)時(shí)同步MySQL全過程,文中通過圖文結(jié)合和代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-11-11Oracle Database 10g數(shù)據(jù)庫安裝及配置教程
這篇文章主要介紹了Oracle Database 10g Release 2數(shù)據(jù)庫安裝及配置教程,感興趣的小伙伴們可以參考一下2016-08-08