ORACLE中的一些問題——臨時(shí)表空間

ORACLE中的一些問題——臨時(shí)表空間

ID:37866078

大?。?1.94 KB

頁數(shù):4頁

時(shí)間:2019-06-01

ORACLE中的一些問題——臨時(shí)表空間_第1頁
ORACLE中的一些問題——臨時(shí)表空間_第2頁
ORACLE中的一些問題——臨時(shí)表空間_第3頁
ORACLE中的一些問題——臨時(shí)表空間_第4頁
資源描述:

《ORACLE中的一些問題——臨時(shí)表空間》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、1臨時(shí)表空間1.1什么是臨時(shí)表空間????在Oracle數(shù)據(jù)庫中進(jìn)行排序、分組匯總、索引等到作時(shí),會(huì)產(chǎn)生很多的臨時(shí)數(shù)據(jù)。如有一張員工信息表,數(shù)據(jù)庫中是安裝記錄建立的時(shí)間來保存的。如果用戶查詢時(shí),使用OrderBY排序語句指定按員工編號(hào)來排序,那么排序后產(chǎn)生的所有記錄就是臨時(shí)數(shù)據(jù)。對(duì)于這些臨時(shí)數(shù)據(jù),Oracle數(shù)據(jù)庫是如何處理的呢?通常情況下,Oracle數(shù)據(jù)庫會(huì)先將這些臨時(shí)數(shù)據(jù)存放到內(nèi)存的PGA(程序全局區(qū))內(nèi)。在這個(gè)程序全局區(qū)中有一個(gè)叫做排序區(qū)的地方,專門用來存放這些因?yàn)榕判虿僮鞫a(chǎn)生的臨時(shí)數(shù)據(jù)。但是這個(gè)分區(qū)的容量是有限的。當(dāng)這個(gè)分區(qū)的大小不足以容納排序后所產(chǎn)生

2、的記錄時(shí),數(shù)據(jù)庫系統(tǒng)就會(huì)將臨時(shí)數(shù)據(jù)存放到臨時(shí)表空間中。這就是臨時(shí)表空間的來歷??雌饋砗孟襁@個(gè)臨時(shí)表空間是個(gè)臨時(shí)工,對(duì)于數(shù)據(jù)庫的影響不會(huì)有多大。其實(shí)大家這是誤解這個(gè)臨時(shí)表空間了。在用戶進(jìn)行數(shù)據(jù)庫操作時(shí),排序、分組匯總、索引這些作業(yè)是少不了,其會(huì)產(chǎn)生大量的臨時(shí)數(shù)據(jù)。為此基本上每個(gè)數(shù)據(jù)庫都需要用到臨時(shí)表空間。而如果這個(gè)臨時(shí)表空間設(shè)置不當(dāng)?shù)脑?,則會(huì)給數(shù)據(jù)庫性能帶來很大的負(fù)面影響。?1.2臨時(shí)表空間作用????索引create或rebuild????Orderby或groupby????Distinct操作????Union或intersect或minus????Sort-

3、mergejoins????analyze?1.1臨時(shí)表空間建立???以下命令是創(chuàng)建一個(gè)臨時(shí)表空間.其命令和創(chuàng)建其它表空間不同的地方是增加temporay關(guān)建字.請(qǐng)注意.如果tablespace設(shè)置的是maxsizeunlimited那么,臨時(shí)表空間也會(huì)一直在需要的時(shí)候增長.如果在創(chuàng)建數(shù)據(jù)庫時(shí)沒有指定默認(rèn)臨時(shí)表空間.那么會(huì)用system表空間作為默認(rèn)臨時(shí)表空間當(dāng)system表空間是本地管理時(shí),你必須定義最少一個(gè)默認(rèn)表空間在創(chuàng)建數(shù)據(jù)庫的時(shí)候.本地管理的system表空間不能作為默認(rèn)臨時(shí)表空間.???createtemporarytablespaceTEMP1TEMP

4、FILE'/oradata/TEMP1_01.dbf'size100M;???臨時(shí)表空間與正常的表空間還有以下區(qū)別????1.Tempfiles總是被設(shè)置為NOLOGGING模式????2.不能把一個(gè)tempfile設(shè)置成readonly模式????3.不能重命名一個(gè)tempfile????4.不能通過alterdatabase來創(chuàng)建一個(gè)tempfile????5.當(dāng)你創(chuàng)建或者重寫tempfile大小的時(shí)候,數(shù)據(jù)通常不會(huì)自動(dòng)分配tempfile指定的大小的????6.磁盤空間給它(即不會(huì)初始化),但是會(huì)在塊被訪問之前分配.(這也是為什么創(chuàng)建臨時(shí)表空間會(huì)比平時(shí)表空間

5、要快的多的原因)????7.tempfile的信息存儲(chǔ)在dba_temp_files,動(dòng)態(tài)視圖v$tempfile中.不在dba_data_files或者v$datafile中.?????臨時(shí)表空間的信息不會(huì)記錄在controlfile中,所以當(dāng)啟動(dòng)打開數(shù)據(jù)庫時(shí),不會(huì)做臨時(shí)表空間的校驗(yàn),即,即使臨時(shí)表空間不存在也可以打開數(shù)據(jù)庫(默認(rèn)情況下oracle會(huì)自動(dòng)創(chuàng)建)?1.2臨時(shí)表空間修改大小???ALTERdatabaseTEMPFILE'F:oracleproduct10.2.0oradataobpmTEMP01.dbf'resize100M;?1.1臨

6、時(shí)表空間刪除???droptablespacetemp01includingcontentsanddatafiles;???注意以上語句并不會(huì)真正的刪除dbf文件.所以下次新建的時(shí)候如果是已存在一的file最好在新建表空間語名中加上reuse?1.2將當(dāng)前臨時(shí)表空間指定為新的臨時(shí)表空間??alterdatabasedefaulttemporarytablespaceTEMP1;????查看當(dāng)前數(shù)據(jù)庫默認(rèn)臨時(shí)表空間:???select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE

7、'?1.3監(jiān)空臨時(shí)表空間使用大小???表空總大小????selecttablespace_name,(blocks*8)/1024fromdba_temp_files;????表空間已使用大小?????select(blocks*8)/1024fromv$sort_usage;????可以通過v$sort_usage查看具體的詳細(xì)信息.比如是什么操作用到temp表空間.哪名sql,用了多少個(gè)段等等.????在dba_segment,dba_extents中沒有查看臨時(shí)表空間段和臨時(shí)表空間的擴(kuò)展.????據(jù)說臨時(shí)表空間用了就不會(huì)回收段.想查證一下.但是沒有找到資料,

8、我看V$s

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。