自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle清理臨時表空間的實際操作

數(shù)據(jù)庫 Oracle
在Oracle清理臨時表空間的操作中我們完成一些語句操作后,有時我們會遇到段沒有被釋放的情況,以下就是文章的相關(guān)內(nèi)容的介紹。

本文是對Oracle清理臨時表空間的相關(guān)應(yīng)用的介紹。正常的來說,我們在完成Select語句、等一些經(jīng)常使用TEMP的表空間排序與相關(guān)操作后,Oracle會自動的釋放掉在臨時段a的。以下就是相關(guān)內(nèi)容的介紹。

但有些有侯我們則會遇到臨時段沒有被釋放,TEMP表空間幾乎滿的狀況,甚至是我們重啟了數(shù)據(jù)庫仍沒有解決問題。這個問題在論壇中也常被網(wǎng)友問到,下面我總結(jié)一下,給出幾種處理方法。

法一、重啟庫

庫重啟時,Smon進程會完成臨時段釋放,TEMP表空間的清理操作,不過很多的時侯我們的庫是不允許down的,所以這種方法缺少了一點的應(yīng)用機會,不過這種方法還是很好用的。

法二、Metalink給出的一個方法

修改一下TEMP表空間的storage參數(shù),讓Smon進程觀注一下臨時段,從而達到清理和TEMP表空間的目的。

 

  1. SQL>alter tablespace temp increase 1;  
  2. SQL>alter tablespace temp increase 0;  

 

法三、我常用的一個方法,具體內(nèi)容如下:

1、 使用如下語句a查看一下認(rèn)誰在用臨時段

 

  1. SELECT username,  
  2. sid,  
  3. serial#,  
  4. sql_address,  
  5. machine,  
  6. program,  
  7. tablespace,  
  8. segtype,  
  9. contents  
  10. FROM v$session se,  
  11. v$sort_usage su  
  12. WHERE se.saddr=su.session_addr  

 

2、 那些正在使用臨時段的進程

 

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

 

3、把TEMP表空間回縮一下

 

  1. SQL>Alter tablespace TEMP coalesce; 

法四、使用診斷事件的一種方法,也是被我認(rèn)為是“殺手锏”的一種方法

1、 確定TEMP表空間的ts#

 

  1. SQL>select ts#, name from sys.ts$ ;  
  2. TS# NAME  
  3. SYSYEM  
  4. RBS  
  5. USERS  
  6. TEMP  
  7. TOOLS  
  8. INDX  
  9. DRSYS 

 

2、 執(zhí)行清理操作

 

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

說明:

temp表空間的TS# 為 3*, So TS#+ 1= 4

Oracle清理的其它方法:

1、 出現(xiàn)如上問題的原因我認(rèn)為可能是由于大的排序超出了TEMP表空間的空間允許范圍引起的。也可能包含著其它的異常的因素。

2、 觀注TEMP等這些空間的狀態(tài)是Dba日常職責(zé)之一,我們可以通過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)"

 

  1. FROM (SELECT TABLESPACE_NAME,  
  2. ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,  
  3. ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES  
  4. FROM SYS.DBA_FREE_SPACE  
  5. GROUP BY TABLESPACE_NAME) F,  
  6. (SELECT DD.TABLESPACE_NAME,  
  7. ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB  
  8. FROM SYS.DBA_DATA_FILES DD  
  9. GROUP BY DD.TABLESPACE_NAME) D  
  10. WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME  
  11. ORDER BY 4 DESC  

 

以上的相關(guān)內(nèi)容就是對Oracle清理臨時表空間的介紹,望你能有所收獲。

【編輯推薦】

  1. Oracle索引聚簇表的數(shù)據(jù)加載中兩個組成部分
  2. 關(guān)閉Oracle死鎖進程的具體操作步驟
  3. 關(guān)閉Oracle死鎖進程的具體操作步驟
  4. Oracle實現(xiàn)跨服務(wù)器操作詳解
  5. Oracle客戶端配置安裝的實際操作步驟
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-05-10 18:05:15

Oracle釋放und

2010-05-10 18:46:14

Oracle更改表空間

2010-04-01 16:06:08

Oracle修改表ow

2010-05-07 12:19:38

Oracle刪除用戶表

2010-04-01 14:06:13

Oracle Name

2010-04-20 11:06:33

Oracle索引

2010-05-10 10:19:28

Oracle實戰(zhàn)RMA

2010-03-31 16:11:00

Oracle啟動

2010-04-01 13:39:43

Oracle Name

2010-04-14 17:06:41

Oracle安裝路徑

2010-04-16 13:59:40

Oracle數(shù)據(jù)

2010-05-07 12:35:05

Oracle spat

2010-04-02 13:34:33

Oracle DBA

2010-04-07 13:02:14

Oracle 存儲過程

2010-03-29 15:57:07

Oracle exp備

2010-04-12 14:44:06

Oracle Impd

2010-04-14 09:33:58

Oracle Spat

2010-04-06 08:58:27

Oracle job

2010-04-02 15:53:36

Oracle綁定變量

2010-04-26 17:24:37

Oracle查詢表名Oracle表列名
點贊
收藏

51CTO技術(shù)棧公眾號