【临时表空间组】临时表空间组的创建、维护及应用
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,关于临时表空间组的概念和简单描述可以参考Oracle官方文档的"Oracle Database SQL Reference"(http://download.oracle.com/docs/cd/B1
千家信息网最后更新 2025年12月01日【临时表空间组】临时表空间组的创建、维护及应用关于临时表空间组的概念和简单描述可以参考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安全错误
数据库的锁怎样保障安全
河南软件开发 工资待遇
正确认识网络技术的作文
数据库中的表都可以删除吗
内蒙古智慧党建软件开发公司
监控管理服务器是什么
服务器修好后怎么样
我国网络安全和信息化工程
制作本地数据库
网络安全国际形势
数据库原理何玉洁答案
吉林市创业软件开发有限公司
公司内部服务器会保存邮件吗
资讯信息数据库设计
网络安全的项目经理
svn服务器怎么管理
江西网络安全审计系统咨询公司
戴尔服务器显示管理软件
奶块ios服务器不可用
access数据库分析
四川企业软件开发报价
行政事业单位网络安全预算
网络安全业界知名专家
数据库管理器在哪打开
苏州项目软件开发哪家好
网络技术非法牟利
微站小程序个性化软件开发支持
枣庄网络安全
软件开发公司门口形象墙
软件开发哪些大专好
神通数据库导入txt字体