臨時(shí)表空間組的創(chuàng)建、維護(hù)及應(yīng)用

關(guān)于臨時(shí)表空間組的概念和簡(jiǎn)單描述可以參考Oracle官方文檔的“Oracle Database SQL Reference”(statements_7003.htm Temporary Tablespaces Group [ID 245645.1]”文章。本文就臨時(shí)表空間組的創(chuàng)建及簡(jiǎn)單維護(hù)做一個(gè)實(shí)踐。1.數(shù)據(jù)庫(kù)版本信息SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE 10.2.0.1.0 ProductionTNS for Linux: Version 10.2.0.1.0 - ProductionNLSRTL Version 10.2.0.1.0 - Production2.創(chuàng)建臨時(shí)表空間組TEMP_GRP,其中包含兩個(gè)臨時(shí)表空間TEMP1、TEMP2sys@ora10g> create temporary tablespace TEMP1 tempfile '/oracle/oradata/ora10g/temp1_01.dbf' size 10m autoextend on tablespace group group1;Tablespace created.sys@ora10g> create temporary tablespace TEMP2 tempfile '/oracle/oradata/ora10g/temp2_01.dbf' size 10m autoextend on tablespace group group1;Tablespace created.3.使用DBA_TABLESPACE_GROUPS視圖可以查看臨時(shí)表空間組的信息sys@ora10g> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMP1GROUP1 TEMP2可見(jiàn),臨時(shí)表空間組GROUP1包含了兩個(gè)臨時(shí)表空間TEMP1和TEMP2。滿(mǎn)足了我們臨時(shí)表空間組創(chuàng)建的要求。4.指定臨時(shí)表空間組GROUP1為所有新創(chuàng)建的用戶(hù)的默認(rèn)臨時(shí)表空間sys@ora10g> alter database default temporary tablespace GROUP1;Database altered.sys@ora10g> create user secooler identified by secooler;User created.sys@ora10g> select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where username = 'SECOOLER';USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE-------------- --------------------- ---------------------SECOOLER USERS GROUP1OK,此時(shí)新創(chuàng)建的secooler用戶(hù)的默認(rèn)臨時(shí)表空間已經(jīng)指定到了臨時(shí)表空間組GROUP1上。5.將臨時(shí)表空間TEMP2移動(dòng)到臨時(shí)表空間組GROUP2sys@ora10g> alter tablespace TEMP2 tablespace group GROUP2;Tablespace altered.sys@ora10g> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMP1GROUP2 TEMP2系統(tǒng)中本沒(méi)有GROUP2臨時(shí)表空間組,此處系統(tǒng)會(huì)自動(dòng)創(chuàng)建這個(gè)數(shù)據(jù)庫(kù)對(duì)象。6.移除臨時(shí)表空間組中所有臨時(shí)表空間后臨時(shí)表空間組會(huì)自動(dòng)刪除sys@ora10g> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMP1GROUP2 TEMP2sys@ora10g> alter tablespace TEMP2 tablespace group '';Tablespace altered.sys@ora10g> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMP17.臨時(shí)表空間組應(yīng)用一例sys@ora10g> alter tablespace TEMP2 tablespace group GROUP1;Tablespace altered.sys@ora10g> select * from dba_tablespace_groups;GROUP_NAME TABLESPACE_NAME------------------------------ ------------------------------GROUP1 TEMP1GROUP1 TEMP2開(kāi)啟兩個(gè)不同的session連接到secooler用戶(hù)執(zhí)行下面排序語(yǔ)句secooler@ora10g> select a.table_name, b.table_name from all_tables a, all_tables b order by 1;經(jīng)過(guò)反復(fù)嘗試之后可以看到同一個(gè)用戶(hù)的不同session可以使用到臨時(shí)表空間組中的不同臨時(shí)表空間sys@ora10g> select username, session_num, tablespace from v$sort_usage;USERNAME SESSION_NUM TABLESPACE------------------------------ ----------- -------------------------------SECOOLER 1506 TEMP1SECOOLER 3662 TEMP28.小結(jié)使用臨時(shí)表空間組的優(yōu)勢(shì)及注意事項(xiàng):1.臨時(shí)表空間組中可以包含無(wú)數(shù)個(gè)臨時(shí)表空間,沒(méi)有限制,這樣擴(kuò)大了臨時(shí)表空間的大小,保證有充足的臨時(shí)表空間;2.臨時(shí)表空間組的名字不可以和已有的臨時(shí)表空間名字相同;3.臨時(shí)表空間組不是顯式創(chuàng)建的,而是隨臨時(shí)表空間被指定到臨時(shí)表空間組時(shí)隱式創(chuàng)建的。當(dāng)臨時(shí)表空間組中的所有臨時(shí)表空間被移除或被刪除之后,該臨時(shí)表空間組也隨即被刪除;4.同一個(gè)用戶(hù)連接的多個(gè)會(huì)話(huà)可以使用到臨時(shí)表空間組中的不同臨時(shí)表空間,提高系統(tǒng)的性能。Good luck.secooler10.07.13-- The End --
了解更多網(wǎng)絡(luò)知識(shí)關(guān)注:http://www.vecloud.com/