国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Oracle 中檢查臨時表空間的方法

瀏覽:32日期:2023-03-12 15:25:12
目錄
  • 一、什么是臨時表空間
  • 二、oracle創建臨時表空間的方法
  • 三、如何在 Oracle 中檢查臨時表空間
    • 3.1 如何檢查 Temp 表空間的大小
    • 3.2 oracle如何查看臨時表空間的可用空間
    • 3.3 如何在實例級別檢查臨時表空間使用情況
    • 3.4 如何查看 Temp 表空間的使用百分比
    • 3.5 如何找到正在使用臨時表空間的會話
    • 3.5 如何通過會話檢查臨時使用情況
    • 3.6 如果我們還想看到正在運行的 sql
    • 3.7 如何使用大量 TEMP 查找會話
  • 四、oracle如何增加臨時表空間
    • 4.1 如何調整臨時文件的大小
    • 4.2 如何刪除臨時文件

一、什么是臨時表空間

臨時表空間用于 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 臨時表空間內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 99小视频| 99热久久国产精品免费观看 | 精品久久久日韩精品成人 | 精品视频一区二区三区免费 | 韩国主播19福利视频在线 | 一个人的视频日本免费 | 亚洲制服欧美自拍另类 | 在线观看aaa | 久热香蕉在线视频 | 久久精品国产在爱久久 | 日本三级香港三级三级人!妇久 | 欧美猛交xxxx免费看 | 香港免费毛片 | 国产一区二区三区亚洲欧美 | 久久一级毛片 | 欧美三级成人观看 | 久久久久亚洲精品中文字幕 | 亚洲精品一区二区三区在 | 成 人色 网 站 欧美大片在线观看 | 亚洲一区二区三区福利在线 | 国内精品久久久久久久久 | 亚洲欧美专区精品久久 | 成人毛片视频免费网站观看 | 永久黄网站色视频免费观看99 | 成人性版蝴蝶影院污 | 日韩欧美亚洲每的更新在线 | 国产女主播在线 | 99久久国产综合精品国 | 国产三级国产精品国产普男人 | 牛牛本精品99久久精品88m | 一本色道久久综合网 | 亚洲国产日韩在线 | 美女黄色在线网站大全 | 日韩亚洲在线 | 亚洲第一男人天堂 | 国产成人丝袜网站在线看 | 在线观看国产精品入口 | 女初高中福利视频在线观看 | 欧美2区 | 亚洲男人的天堂久久精品 | 国产成人久久777777 |