资讯详情

Oracle11g 临时表存储特性

2012-05-12 阅读:163 来源:嘉为IT培训学院
进入>
 创建全局临时表时,所占用的空间是从哪里分配的呢?它来自用户的临时表空间。通常这不会成为问题,但在某些特殊情况下,但我们可能要出于某种目的需要释放临时表空间(通常是为了排序)。有时,您可能要创建临时表,以使用位于更快、更高效磁盘上的其他临时表空间来提高数据访问速度。在这些情况下,您只能将该表空间变成用户的临时表空间。

在 Oracle 数据库 11g 中,可以使用另一个临时表空间来存放全局临时表。让我们看一看这种方案的实现方式。
首先,再创建一个临时表空间:

SQL> create temporary tablespace test_temp tempfile ’D:ORACLE11GORADATATESTTEST_TEMP.DBF’ size 20m;

Tablespace created

SQL> create global temporary table my_temp (
2  id number

3  name varchar2 (100))
4 on commit preserve rows
5 tablespace test_temp;

Table created

SQL> select temporary_tablespace from dba_users where username=’HR’;

TEMPORARY_TABLESPACE
------------------------------
TEMP

SQL> select table_name,tablespace_name,logging from user_tables where table_name=’MY_TEMP’;

TABLE_NAME TABLESPACE_NAME LOGGING
------------------------------ ------------------------------ -------
MY_TEMP TEST_TEMP NO

现在,将在表空间 TEST_TEMP 而不是用户的默认临时表空间 (TEMP) 上创建此临时表。

同时,在11g中,可以直接shrink 临时表空间

alter tablespace test_temp shrink space;
alter tablespace test_temp shrink space keep 10m;

比如:
SQL> select bytes,name from v$tempfile where ts#=8 and file#=2;

BYTES NAME
---------- ------------------------------------------------
D:ORACLE11GORADATATESTTEST_TEMP.DBF

SQL> alter tablespace toms_temp shrink space keep 10m;

Tablespace altered

SQL> select bytes,name from v$tempfile where ts#=8 and file#=2;

BYTES NAME
---------- --------------------------------------------------
 D:ORACLE11GORADATATESTTEST_TEMP.DBF

SQL>

加载全文

免责声明:本站部分内容、图片来自用户自主上传,如果您对本站信息资源版权的归属问题存有异议,请您致信,我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。

以上是嘉为IT培训学院为大家整理的有关Oracle11g 临时表存储特性的全部内容,更多精彩请访问学习资讯新闻专栏。
上一篇:

相关课程

更多>
2020猎学网广告栏
申请课程免费试听名额

课程顾问24小时内联系您

你好

顾问将于24小时内联系您!

确定
在线咨询 微信咨询 立即报名
申请1对1课程顾问咨询服务
×
你好

顾问将于24小时内联系您!

确定
广州猎学网 >嘉为IT培训学院 >Oracle11g 临时表存储特性