分类: Oracle
2008-05-16 20:40:36
来源: |
|
案例: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:ORACLEORADATAORADBSYSTEM01.DBF SYSTEM YES 2 C:ORACLEORADATAORADBRBS01.DBF RBS YES 3 C:ORACLEORADATAORADBUSERS01.DBF USERS YES 4 C:ORACLEORADATAORADBTEMP01.DBF TEMP YES 5 C:ORACLEORADATAORADBTOOLS01.DBF TOOLS YES 6 C:ORACLEORADATAORADBINDX01.DBF INDX YES 7 C:ORACLEORADATAORADBDR01.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 / |