服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

undo表空间暴长后如何才能取消自动扩展

【赛迪网-it技术报道】案例:undo表空间原来被设置成了自动扩展,现在已经有10g大小,基于这种情况,应当如何处理?

解决方法:

重新建立一个undo2表空间,不要设置为自动扩展,指定最大值,然后切换undo1到这个新的undo2表空间,等到所有事务都移动到undo2以后,删除undo1即可。

如果原来的undo1上没有活动的事务的话,可以直接删除,重新建立。

查了一下资料,用一下命令:

alter database datafile 文件路径 autoextend off;取消自动扩展,

alter database datafile 文件路径 autoextend on;设置自动扩展。

也可以实现。

查看表空间数据文件是否为自动扩展:

sql> col file_name format a40

sql> col tablespace_name format a20

sql> select file_id,file_name,tablespace_name,autoextensible from dba_data_files order by file_id;

file_id file_name tablespace_name aut

---------- ---------------------------------------- -------------------- ---

1 c:\oracle\oradata\oradb\system01.dbf system yes

2 c:\oracle\oradata\oradb\rbs01.dbf rbs yes

3 c:\oracle\oradata\oradb\users01.dbf users yes

4 c:\oracle\oradata\oradb\temp01.dbf temp yes

5 c:\oracle\oradata\oradb\tools01.dbf tools yes

6 c:\oracle\oradata\oradb\indx01.dbf indx yes

7 c:\oracle\oradata\oradb\dr01.dbf drsys yes

8 d:\test.dbf test no

已选择8行。

说明如下:

test表空间用以下语句创建的一个实验表空间,没有指定autoextend on 参数,所以不是自动扩展。

sql> create tablespace test datafile

2 'd:\test.dbf' size 5m

3 default storage (initial 1m next 1m pctincrease 0)

4 /

扫描关注微信公众号