首頁 資料庫 mysql教程 oracle清理临时表空间

oracle清理临时表空间

Jun 07, 2016 pm 03:13 PM
oracle 清理 空間 進入

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  正常来说,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。这个问题在论坛中也常被网友问到,下面我总结一下,给出几种处理方法。

  法一、重启库

  库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。

  法二、Metalink给出的一个方法

  修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。

  SQL>alter tablespace temp increase 1;

  SQL>alter tablespace temp increase 0;

  法三、我常用的一个方法,具体内容如下:

  1、 使用如下语句a查看一下认谁在用临时段

  SELECT username,

  sid,

  serial#,

  sql_address,

  machine,

  program,

  tablespace,

  segtype,

  contents

  FROM v$session se,

  v$sort_usage su

  WHERE se.saddr=su.session_addr

  2、   那些正在使用临时段的进程

  SQL>Alter system kill session 'sid,serial#';

  3、把TEMP表空间回缩一下

  SQL>Alter tablespace TEMP coalesce;

  法四、使用诊断事件的一种方法,也是被我认为是“杀手锏”的一种方法

  1、 确定TEMP表空间的ts#

  SQL>select ts#, name from sys.ts$ ;

  TS# NAME

  -----------------------

  0 SYSYEM

  1 RBS

  2 USERS

  3* TEMP

  4 TOOLS

  5 INDX

  6 DRSYS

  2、 执行清理操作

  SQL>alter session set events 'immediate trace name DROP_SEGMENTS level 4' ;

  说明:

  temp表空间的TS# 为 3*, So TS#+ 1= 4

  其它:

  1、 出现如上问题的原因我认为可能是由于大的排序超出了TEMP表空间的空间允许范围引起的。也可能包含着其它的异常的因素。

  2、 观注TEMP等这些空间的状态是Dba日常职责之一,我们可以通过Toad、Object Browser等这些工具办到,也可以用如下的语句:

  SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

  D.TOT_GROOTTE_MB "表空间大小(M)",

  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,

  2),

  '990.99') "使用比",

  F.TOTAL_BYTES "空闲空间(M)",

  F.MAX_BYTES "最大块(M)"

  FROM (SELECT TABLESPACE_NAME,

  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

  FROM SYS.DBA_FREE_SPACE

  GROUP BY TABLESPACE_NAME) F,

  (SELECT DD.TABLESPACE_NAME,

  ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

  FROM SYS.DBA_DATA_FILES DD

  GROUP BY DD.TABLESPACE_NAME) D

  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

  ORDER BY 4 DESC

oracle清理临时表空间

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

oracle中計算兩個日期之間天數的函數 oracle中計算兩個日期之間天數的函數 May 08, 2024 pm 07:45 PM

Oracle 中計算兩個日期之間天數的函數是 DATEDIFF()。具體用法如下:指定時間間隔單位:interval(如 day、month、year)指定兩個日期值:date1 和 date2DATEDIFF(interval, date1, date2) 傳回天數差

oracle資料庫日誌會保存多久 oracle資料庫日誌會保存多久 May 10, 2024 am 03:27 AM

Oracle 資料庫日誌的保留期限取決於日誌類型和配置,包括:重做日誌:由 "LOG_ARCHIVE_DEST" 參數配置的最大大小決定。歸檔重做日誌:由 "DB_RECOVERY_FILE_DEST_SIZE" 參數配置的最大大小決定。線上重做日誌:不歸檔,在資料庫重新啟動時遺失,保留期限與實例運行時間一致。稽核日誌:由 "AUDIT_TRAIL" 參數配置,預設保留 30 天。

oracle資料庫啟動步驟順序為 oracle資料庫啟動步驟順序為 May 10, 2024 am 01:48 AM

Oracle 資料庫啟動順序為:1. 檢查前置條件;2. 啟動監聽器;3. 啟動資料庫執行個體;4. 等待資料庫開啟;5. 連線至資料庫;6. 驗證資料庫狀態;7.啟用服務(如果需要);8. 測試連接。

oracle中interval的用法 oracle中interval的用法 May 08, 2024 pm 07:54 PM

Oracle 中的 INTERVAL 資料類型用於表示時間間隔,語法為 INTERVAL <精度> <單位>,可使用加減乘除運算操作 INTERVAL,適用於儲存時間資料、計算日期差值等場景。

oracle中某個字元出現的次數怎麼看出來 oracle中某個字元出現的次數怎麼看出來 May 09, 2024 pm 09:33 PM

若要在 Oracle 中尋找字元出現的次數,請執行下列步驟:取得字串的總長度;取得字元所在子字串的長度;計算字元出現的次數:以總長度減去子字串長度。

oracle資料庫伺服器硬體配置需求 oracle資料庫伺服器硬體配置需求 May 10, 2024 am 04:00 AM

Oracle 資料庫伺服器硬體配置需求:處理器:多核心,主頻至少 2.5 GHz,大型資料庫建議超過 32 個核心。記憶體:小型資料庫至少 8GB,中型 16-64GB,大型資料庫或高負載工作負載高達 512GB 或更多。儲存:SSD 或 NVMe 磁碟,RAID 陣列可提高冗餘和效能。網路:高速網路(10GbE 或更高),專用網路卡,低延遲網路。其他:穩定電源、冗餘組件、相容作業系統和軟體、散熱和冷卻系統。

oracle需要多少內存 oracle需要多少內存 May 10, 2024 am 04:12 AM

Oracle 所需記憶體量取決於資料庫大小、活動等級和所需效能等級:用於儲存資料緩衝區、索引緩衝區、執行 SQL 語句和管理資料字典快取。具體數量受資料庫大小、活動水準和所需效能水準影響。最佳實踐包括設定適當的 SGA 大小、調整 SGA 元件大小、使用 AMM 和監控記憶體使用情況。

oracle中替換字串的方法 oracle中替換字串的方法 May 08, 2024 pm 07:24 PM

Oracle 中取代字串的方法是使用 REPLACE 函數,該函數的語法為:REPLACE(string, search_string, replace_string)。使用步驟:1. 辨識要替換的子字串;2. 決定替換子字串的新字串;3. 使用 REPLACE 函數進行替換。進階用法包括:多個替換、大小寫敏感、特殊字元替換等。

See all articles