【临时表空间组】临时表空间组的创建、维护及应用
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,关于临时表空间组的概念和简单描述可以参考Oracle官方文档的"Oracle Database SQL Reference"(http://download.oracle.com/docs/cd/B1
千家信息网最后更新 2026年10月31日【临时表空间组】临时表空间组的创建、维护及应用关于临时表空间组的概念和简单描述可以参考Oracle官方文档的"Oracle Database SQL Reference"(http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7003.htm#SQLRF01403)。更多信息可以参考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 --
空间
用户
不同
两个
信息
系统
可以使
名字
数据
数据库
参考
应用
充足
相同
事项
优势
多个
大小
官方
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
深圳九邦互联网科技有限公司
互联网金融监管科技数据
互联网科技社
互联网金融与金融科技
互联网科技的发展
金融科技 互联网金融
华宇互联网科技
以房互联网科技
新华互联网科技校企合作
恒生科技互联网指数分析
互联网汽车科技小镇
科技与互联网哪个更好
互联网大会黑科技排名
威龙国际互联网科技公司
九思连强互联网电子科技有限公司
唯美互联网科技
银川新华互联网科技学校是国营吗
互联网科技大佬云集
互联网的黑科技实验室
咖啡
互联网科技企业
合肥互联网科技公司
九亚互联网科技
广州紫鲸互联网科技
成都铂石互联网科技做什么的
互联网5g黑科技有哪些
广州富喜互联网络科技
普陀区互联网教育科技管理办法
众联互联网络科技