壓縮暴漲的ora10g資料庫臨時表空間的大小

2021-08-25 08:02:15 字數 1806 閱讀 6020

近日在維護ora10g資料庫時發現臨時表空間的資料檔案temp.dbf從最初的512m猛增到5g,嚴重占用了磁碟空間。經過多次努力,總於解決問題,現將查詢到的臨時表空間的相關資料以及處理方法簡要歸納如下:1、臨時表空間的作用:

臨時表空間主要用途是在資料庫進行排序運算、管理索引、訪問檢視等操作時提供臨時的運算空間,當運算完成之後系統會自動清理。

當臨時表空間不足時,表現為運算速度異常的慢,並且臨時表空間迅速增長到最大空間(擴充套件的極限),並且一般不會自動清理了。

2、迅速增長的原因:

一般原因是sql演算法不正確,可能導致出現了迪卡爾積。

另外乙個原因是檢視的建立問題。oracle資料庫中多張表聯合查詢時,極限的表單數量為4張,一般將以為3張!有時需要大於4張表聯合查詢時,怎麼辦呢?可以建立子檢視:

如view1(聯合table0,table1,table2),view2(聯合table0,table3,table4),view3(聯合table0,table5,table6)

然後將view1、view2、view3聯合成view4。這樣可以解決臨時表空間迅速增長的問題!

3、臨時表空間異常增漲後的處理

臨時表空間異常暴漲後,極大的占用了磁碟空間,同時會影響普通查詢的速度,以下方法可以達到清理臨時表空間資料檔案temp.dbf的大小

方法一、在系統不繁忙的時候,執行命令縮減臨時表空間資料檔案的尺寸

alter database tempfile 'd:\oracle\product\10.1.\oradata\orcl\temp01.dbf' resize 10m;

方法二、

a、建立中轉臨時表空間

create temporary tablespace temp2 tempfile 'd:\oracle\product\10.2.0\oradata\ncpec\temp02.dbf' size 512m reuse autoextend on next 640k maxsize unlimited

b、改變預設臨時表空間為剛剛建立的新臨時表空間temp2

alter database default temporary tablespace temp2;

c、刪除原有的臨時表空間以及資料檔案

drop tablespace temp including contents and datafiles;

d、重新建立臨時表空間

create temporary tablespace temp tempfile 'd:\oracle\product\10.2.0\oradata\ncpec\temp01.dbf' size 512m reuse autoextend on next 640k maxsize unlimited;

e、重置預設臨時表空間為新建的temp表空間

alter database default temporary tablespace temp;

f、刪除中轉用臨時表空間

drop tablespace temp2 including contents and datafiles;

4、臨時表空間使用注意:

a、臨時表空間是用於在進行排序操作(如大型查詢,建立索引和聯合查詢期間儲存臨時資料),每個使用者都可以有乙個臨時表空間

b、對於大型操作頻繁,(大型查詢,大型分類查詢,大型統計分析等),應指定單獨的臨時表空間,以方便管理

c、分配使用者單獨臨時表空間,一般是針對大型產品資料庫,oltp資料庫,資料庫倉庫。對於小型產品不需要單獨制定臨時表空間,使用預設臨時表空間

注:如果臨時表空間異常增漲很快,則要考慮是否應用的sql語句產生了笛卡兒積,可以通過stactpack 進行分析查出問題所在,從而保證資料庫的正常執行

資料庫匯入匯出 11g10g

資料庫version 匯入匯出工具 from 匯出資料庫 to 匯入資料庫 expdp impdp 11.2.0.2.0 10.2.0.3.0 實現目的 將11g 11.2.0.2.0 中的資料匯入到 10g 10.2.0.3.0 環境中去 適用範圍 將高版本的資料庫匯入到低版本的資料庫中 使用工具...

oracle 10g 資料庫的整理

1.oracle 10g 資料庫如何在本機進行連線和管理?不需要主機描述符。直接sqlplus 使用者名稱 密碼 資料庫例項名 即可登入。oracle 10g採用web介面進行管理 http localhost 1158 em 登入,輸入使用者名稱密碼即可。2.遠端如何連線oracle 10g 資料...

Oracle 10g資料庫的恢復

非歸檔模式下資料庫的恢復 非歸檔模式下資料庫的恢復主要指利用非歸檔模式下的冷備份恢復資料庫。步驟為 關閉資料庫。shutdown immediate 將備份的所有資料檔案 控制檔案 聯機重做日誌檔案還原到原來所在的位置。重新啟動資料庫。startup 注意非歸檔模式下的資料庫恢復是不完全恢復,只能將...