日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle临时表空间暴涨,如何解决Oracle临时表空间过大

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle临时表空间暴涨,如何解决Oracle临时表空间过大 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方案一:增加臨時表空間的大小

1.臨時表空間的使用情況題

SELECT D.tablespace_name,

SPACE "SUM_SPACE(M)",

blocks "SUM_BLOCKS",

used_space "USED_SPACE(M)",

Round(Nvl(used_space, 0) / SPACE * 100, 2) "USED_RATE(%)",

SPACE - used_space "FREE_SPACE(M)"

FROM (SELECT tablespace_name,

Round(SUM(bytes) / (1024 * 1024), 2) SPACE,

SUM(blocks) BLOCKS

FROM dba_temp_files

GROUP BY tablespace_name) D,

(SELECT tablespace,

Round(SUM(blocks * 8192) / (1024 * 1024), 2) USED_SPACE

FROM v$sort_usage

GROUP BY tablespace) F

WHERE D.tablespace_name = F.tablespace(+)

AND D.tablespace_name like 'TEMP%';

查看臨時表空間的總大小和最大擴展大小(能看到數據文件)

select file_name,

tablespace_name,

bytes / 1024 / 1024 MB,

autoextensible,

maxbytes / 1024 / 1024 MAX_MB

from dba_temp_files;

增加臨時表空間的大小

alter tablespace temp1 add tempfile '/data/prod/proddata/temp013.dbf' size 4G;

alter tablespace temp2 add tempfile '/data/prod/proddata/temp024.dbf' size 4G;

方案二:重建臨時表空間,解決臨時表空間過大的問題。

0.查看目前默認的臨時表空間

select *

from database_properties

where property_name = 'DEFAULT_TEMP_TABLESPACE';

1.創建中轉臨時表空間

create temporary tablespace temp3 tempfile '/data/prod/proddata/temp31.dbf' size 4G tablespace group temp;

create temporary tablespace temp4 tempfile '/data/prod/proddata/temp41.dbf' size 4G tablespace group temp;

2.刪除原臨時表空間組中的臨時表空間

2.1從默認臨時表空間組temp中移除temp1和temp2;

ALTER TABLESPACE temp1 TABLESPACE GROUP '';

ALTER TABLESPACE temp2 TABLESPACE GROUP '';

2.2刪除臨時表空間temp1和temp2

drop tablespace temp1 including contents and datafiles;

drop tablespace temp2 including contents and datafiles;

2.3如果刪除表空間的時候,hang住的話,可以使用下列語句,先把運行在temp臨時表空間的sql語句kill掉,這樣的sql語句多為排序的語句

Select se.username,

se.sid,

se.serial#,

su.extents,

su.blocks * to_number(rtrim(p.value)) as Space,

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;

2.4 kill相關進程

alter system kill session '584,23181';

alter system kill session '196,64972';

alter system kill session '262,19832';

alter system kill session '324,40273';

alter system kill session '326,38967';

alter system kill session '1266,54596';

or

--重啟DB

--關閉應用-->關閉監聽-->shutdown immediate

--startup-->啟動監聽-->執行以下操作后打開應用

2.5 創建臨時表空間,并加入臨時表空間組temp

create temporary tablespace temp1 tempfile '/data/prod/proddata/temp11.dbf' size 4G tablespace group temp;

create temporary tablespace temp2 tempfile '/data/prod/proddata/temp21.dbf' size 4G tablespace group temp;

2.6 給臨時表空間組temp的成員temp1,temp2,temp3,temp4 各增加一個成員。

alter tablespace temp1 add tempfile '/data/prod/proddata/temp12.dbf' size 4G;

alter tablespace temp2 add tempfile '/data/prod/proddata/temp22.dbf' size 4G;

alter tablespace temp3 add tempfile '/data/prod/proddata/temp32.dbf' size 4G;

alter tablespace temp4 add tempfile '/data/prod/proddata/temp42.dbf' size 4G;

2.7查看臨時表空間組temp

select * from dba_tablespace_groups;

3 臨時表空間組仍然使用99.98%,

3.1為每個臨時表空間添加4G空間

alter tablespace temp1 add tempfile '/data/prod/proddata/temp13.dbf' size 4G;

alter tablespace temp2 add tempfile '/data/prod/proddata/temp23.dbf' size 4G;

alter tablespace temp3 add tempfile '/data/prod/proddata/temp33.dbf' size 4G;

alter tablespace temp4 add tempfile '/data/prod/proddata/temp43.dbf' size 4G;

總結

以上是生活随笔為你收集整理的oracle临时表空间暴涨,如何解决Oracle临时表空间过大的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。