【臨時表空間組】臨時表空間組的建立、維護及應用
關於臨時表空間組的概念和簡單描述可以參考Oracle官方文件的“Oracle Database SQL Reference”()。更多資訊可以參考MOS的“10g: Temporary Tablespaces Group [ID 245645.1]”文章。
本文就臨時表空間組的建立及簡單維護做一個實踐。
1.資料庫版本資訊
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.建立臨時表空間組TEMP_GRP,其中包含兩個臨時表空間TEMP1、TEMP2
sys@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檢視可以檢視臨時表空間組的資訊
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP1 TEMP2
可見,臨時表空間組GROUP1包含了兩個臨時表空間TEMP1和TEMP2。滿足了我們臨時表空間組建立的要求。
4.指定臨時表空間組GROUP1為所有新建立的使用者的預設臨時表空間
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 GROUP1
OK,此時新建立的secooler使用者的預設臨時表空間已經指定到了臨時表空間組GROUP1上。
5.將臨時表空間TEMP2移動到臨時表空間組GROUP2
sys@ora10g> alter tablespace TEMP2 tablespace group GROUP2;
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP2 TEMP2
系統中本沒有GROUP2臨時表空間組,此處系統會自動建立這個資料庫物件。
6.移除臨時表空間組中所有臨時表空間後臨時表空間組會自動刪除
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP2 TEMP2
sys@ora10g> alter tablespace TEMP2 tablespace group '';
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
7.臨時表空間組應用一例
sys@ora10g> alter tablespace TEMP2 tablespace group GROUP1;
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP1 TEMP2
開啟兩個不同的session連線到secooler使用者執行下面排序語句
secooler@ora10g> select a.table_name, b.table_name from all_tables a, all_tables b order by 1;
經過反覆嘗試之後可以看到同一個使用者的不同session可以使用到臨時表空間組中的不同臨時表空間
sys@ora10g> select username, session_num, tablespace from v$sort_usage;
USERNAME SESSION_NUM TABLESPACE
------------------------------ ----------- -------------------------------
SECOOLER 1506 TEMP1
SECOOLER 3662 TEMP2
8.小結
使用臨時表空間組的優勢及注意事項:
1.臨時表空間組中可以包含無數個臨時表空間,沒有限制,這樣擴大了臨時表空間的大小,保證有充足的臨時表空間;
2.臨時表空間組的名字不可以和已有的臨時表空間名字相同;
3.臨時表空間組不是顯式建立的,而是隨臨時表空間被指定到臨時表空間組時隱式建立的。當臨時表空間組中的所有臨時表空間被移除或被刪除之後,該臨時表空間組也隨即被刪除;
4.同一個使用者連線的多個會話可以使用到臨時表空間組中的不同臨時表空間,提高系統的效能。
Good luck.
secooler
10.07.13
-- The End --
本文就臨時表空間組的建立及簡單維護做一個實踐。
1.資料庫版本資訊
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.建立臨時表空間組TEMP_GRP,其中包含兩個臨時表空間TEMP1、TEMP2
sys@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檢視可以檢視臨時表空間組的資訊
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP1 TEMP2
可見,臨時表空間組GROUP1包含了兩個臨時表空間TEMP1和TEMP2。滿足了我們臨時表空間組建立的要求。
4.指定臨時表空間組GROUP1為所有新建立的使用者的預設臨時表空間
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 GROUP1
OK,此時新建立的secooler使用者的預設臨時表空間已經指定到了臨時表空間組GROUP1上。
5.將臨時表空間TEMP2移動到臨時表空間組GROUP2
sys@ora10g> alter tablespace TEMP2 tablespace group GROUP2;
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP2 TEMP2
系統中本沒有GROUP2臨時表空間組,此處系統會自動建立這個資料庫物件。
6.移除臨時表空間組中所有臨時表空間後臨時表空間組會自動刪除
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP2 TEMP2
sys@ora10g> alter tablespace TEMP2 tablespace group '';
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
7.臨時表空間組應用一例
sys@ora10g> alter tablespace TEMP2 tablespace group GROUP1;
Tablespace altered.
sys@ora10g> select * from dba_tablespace_groups;
GROUP_NAME TABLESPACE_NAME
------------------------------ ------------------------------
GROUP1 TEMP1
GROUP1 TEMP2
開啟兩個不同的session連線到secooler使用者執行下面排序語句
secooler@ora10g> select a.table_name, b.table_name from all_tables a, all_tables b order by 1;
經過反覆嘗試之後可以看到同一個使用者的不同session可以使用到臨時表空間組中的不同臨時表空間
sys@ora10g> select username, session_num, tablespace from v$sort_usage;
USERNAME SESSION_NUM TABLESPACE
------------------------------ ----------- -------------------------------
SECOOLER 1506 TEMP1
SECOOLER 3662 TEMP2
8.小結
使用臨時表空間組的優勢及注意事項:
1.臨時表空間組中可以包含無數個臨時表空間,沒有限制,這樣擴大了臨時表空間的大小,保證有充足的臨時表空間;
2.臨時表空間組的名字不可以和已有的臨時表空間名字相同;
3.臨時表空間組不是顯式建立的,而是隨臨時表空間被指定到臨時表空間組時隱式建立的。當臨時表空間組中的所有臨時表空間被移除或被刪除之後,該臨時表空間組也隨即被刪除;
4.同一個使用者連線的多個會話可以使用到臨時表空間組中的不同臨時表空間,提高系統的效能。
Good luck.
secooler
10.07.13
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28853590/viewspace-2150958/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【儲存管理】建立臨時表空間組、建立臨時表空間組及使用
- oracle臨時表空間組Oracle
- 臨時表空間的建立、刪除,設定預設臨時表空間
- 【TEMP】臨時表空間的工作原理及維護方法
- oracle 臨時表空間Oracle
- oracle臨時表空間Oracle
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- oracle的臨時表空間Oracle
- oracle10G新特性之臨時表空間組的應用Oracle
- 批量處理時臨時增加回滾表空間臨時表空間檔案
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- Oracle 臨時表空間概念Oracle
- Oracle Temp 臨時表空間Oracle
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 【實驗】重建臨時表空間解決臨時表空間過大問題
- Oracle 臨時表空間的概念Oracle
- ORACLE臨時表空間的清理Oracle
- MySQL 5.7 新特性 共享臨時表空間及臨時表改進MySql
- Oracle10g新特新:臨時表空間組Oracle
- 【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案
- 【臨時表空間】11g中使用 SHRINK方法縮小臨時表空間和臨時檔案(續)
- oracle臨時表空間相關Oracle
- MySQL InnoDB臨時表空間配置MySql
- Oracle TEMP臨時表空間概念Oracle
- 臨時表空間操作總結
- ORACLE臨時表空間總結Oracle
- oracle 重建臨時表空間 tempfileOracle
- 刪掉Oracle臨時表空間Oracle
- oracle 表空間,臨時表空間使用率查詢Oracle
- 【Oracle-資料庫維護】-刪除臨時表空間Oracle資料庫
- 臨時表空間的空間使用情況查詢
- ORACLE預設的臨時表空間Oracle
- oracle的臨時表空間temporary tablespaceOracle
- Oracle10新特性:臨時表空間組(temporary tablespace group)Oracle
- 10G新特性: 臨時表空間組(temporary tablespace group)
- Oracle 10G 中臨時表空間組的操作和使用Oracle 10g
- Oracle修改預設表空間和預設臨時表空間Oracle
- Oracle Temp臨時表空間處理Oracle