首页 > 数据库 > Oracle > 正文

[Oracle]减少临时表使用空间的几种方法

2024-08-29 13:50:18
字体:
来源:转载
供稿:网友
1、 第一种方式,直接resize tempfile , 虽然简单,但是很轻易无效sys@mescp> select tablespace_name,file_name ,2 file_id,bytes/1024/1024 as "size(M)"3 from dba_temp_files4 /TABLESPACE_NAME FILE_NAME FILE_ID size(M)-------------------- ---------------------------------- ---------- ----------TEMP /orabin/oradata/mescp/temp01.dbf 1 1024TEMP /orabin/oradata/mescp/tmp1_01.dbf 2 40962 rows selected.sys@mescp> alter database tempfile 1 resize 16M;alter database tempfile 1 resize 16M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE value-- 失败了   2、第二种,建立另一个临时表空间,并把它设为default temporary tablespace,再删除原来的temporary tablespace以及tempfile。    
  需要切换,复杂了点……  3、我提供的方式sys@mescp> alter database tempfile 1 drop ;Database altered.sys@mescp> alter tablespace temp add tempfile2 '/orabin/oradata/mescp/temp01.dbf'3 size 16M reuse autoextend on next 16M maxsize 4096M;Tablespace altered.sys@mescp> alter database tempfile 2 drop ;Database altered.sys@mescp> alter tablespace temp add tempfile2 '/orabin/oradata/mescp/tmp1_01.dbf'3sys@mescp> 3 size 16M reuse autoextend on next 16M maxsize 4096M;sys@mescp> /Tablespace altered.sys@mescp> select tablespace_name,file_name ,2 file_id,bytes/1024/1024 as "size(M)"3 from dba_temp_files4 /TABLESPACE_NAME FILE_NAME FILE_ID size(M)-------------------- ---------------------------------- ---------- ----------TEMP /orabin/oradata/mescp/temp01.dbf 1 16TEMP /orabin/oradata/mescp/tmp1_01.dbf 2 162 rows selected.  无需重新建立temporary tablespace,无需修改database的default temporary tablespace


上一篇:如何处理Oracle中的坏块问题

下一篇:[Oracle]10g中SPOOL内容追加至文件

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片

新闻热点

疑难解答

图片精选

网友关注