【临时表空间组】临时表空间组的创建、维护及应用
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,关于临时表空间组的概念和简单描述可以参考Oracle官方文档的"Oracle Database SQL Reference"(http://download.oracle.com/docs/cd/B1
千家信息网最后更新 2025年01月24日【临时表空间组】临时表空间组的创建、维护及应用关于临时表空间组的概念和简单描述可以参考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安全错误
数据库的锁怎样保障安全
网络安全宣传手抄报简单漂亮
杭州网络安全比赛
gt7赛车无法与服务器建立连接
软件开发维护服务外包
csgo服务器暂停怎么回事
丰台区技术网络技术服务介绍
r3g刷打印服务器
代理服务器连接被设置怎么办
学生籍管理软件开发预算
数据库ne代表什么意思
数据库修改凭证分录
创赢科技互联网项目孵化
sql数据库恢复模式
博兴资产软件开发服务
做跨境电商是从代理商租服务器吗
数据库命名规则有哪些
网络安全知识教育内容摘要
供电段网络安全检查
振动测试数据库
深圳华润银行软件开发
win8无线网络安全属性
杭州网络安全比赛
大话2天粹英华服务器
ssh服务器管理软件
提高网络安全知识翻译
安徽软件开发小程序
系统概念和数据库哪个好
江西用友软件开发待遇
数据库原理与应用系统测试
举例论述数据库的安全性