切换undo和temporary表空间

一个库报1652的表空间报错,一看主机目录已经100%.检查后发现最近有两天的rman备份没有按计划清除造成空间爆满。看到最近一天的备份是存在的,可以把那两天的文件清除。这一下子就腾出100多G的空间。报错暂时解决。
两天的rman备份占100G空间,想到这个月开发让帮忙导入两个大表的数据,于是清理一些临时保存的数据,又发现undo表空间和temp表空间文件都已扩展到文件系统允许的最大值:
 
total 159864560
drwxr-xr-x  2 oracle oinstall      135168 May 29 09:49 archive
-rw-r-----  1 oracle oinstall  5242888192 May 29 14:51 bsa_02.dbf
-rw-r-----  1 oracle oinstall  5242888192 May 29 14:51 bsa_03.dbf
-rw-r-----  1 oracle oinstall  5242888192 May 29 14:42 bsa_04.dbf
-rw-r-----  1 oracle oinstall  5242888192 May 29 14:42 bsa_05.dbf
-rw-r-----  1 oracle oinstall  5242888192 May 29 14:30 bsa_06.dbf
-rw-r-----  1 oracle oinstall 22439534592 May 29 14:48 bsa_07.dbf
-rw-r-----  1 oracle oinstall 15204360192 May 29 11:14 bsa_cdz01.dbf
-rw-r-----  1 oracle oinstall 10737426432 May 29 09:20 bsa_cdz02.dbf
-rw-r-----  1 oracle oinstall 10737426432 May 29 14:50 bsa.dbf
-rw-r-----  1 oracle oinstall    10428416 May 29 14:51 control01.ctl
-rw-r-----  1 oracle oinstall    10428416 May 29 14:51 control02.ctl
-rw-r-----  1 oracle oinstall    10428416 May 29 14:51 control03.ctl
-rw-r--r--  1 oracle oinstall    20979712 May 29 09:20 cwmlite01.dbf
-rw-r--r--  1 oracle oinstall    20979712 May 29 09:20 drsys01.dbf
-rw-r--r--  1 oracle oinstall  1073750016 May 29 09:20 example01.dbf
-rw-r--r--  1 oracle oinstall    26222592 May 29 09:20 indx01.dbf
-rw-r--r--  1 oracle oinstall    20979712 May 29 09:20 odm01.dbf
-rw-r-----  1 oracle oinstall  1073750016 May 29 09:20 perfstat01.dbf
-rw-r-----  1 oracle oinstall   104858112 May 29 08:47 redo01.log
-rw-r-----  1 oracle oinstall   104858112 May 29 14:51 redo02.log
-rw-r-----  1 oracle oinstall   104858112 May 29 08:44 redo03.log
-rw-r-----  1 oracle oinstall   104858112 May 29 08:50 redo04.log
-rw-r-----  1 oracle oinstall   104858112 May 29 08:42 redo05.log
-rw-r-----  1 oracle oinstall   104858112 May 29 08:41 redo06.log
-rw-r--r--  1 oracle oinstall   398467072 May 29 14:50 system01.dbf
-rw-r-----  1 oracle oinstall  4194312192 May 29 11:14 system02.dbf
-rw-r--r--  1 oracle oinstall 34358697984 May 29 09:00 temp01.dbf
-rw-r--r--  1 oracle oinstall    10493952 May 29 09:20 tools01.dbf
-rw-r-----  1 oracle oinstall   524296192 May 29 09:20 u1_01.dbf
-rw-r--r--  1 oracle oinstall 34359730176 May 29 14:51 undotbs01.dbf
-rw-r--r--  1 oracle oinstall   391913472 May 29 11:14 users01.dbf
-rw-r--r--  1 oracle oinstall  1073750016 May 29 09:20 xdb01.dbf
 
而undo现在实际使用只到10%,而不需要这么大的表空间,决定创建比较小的表空间,并限制扩展的最大值:
create undo tablespace undotbs2 datafile '/opt/oracle/product/oradata/db01/undotbs02.dbf' size 1000m autoextend on next 500m maxsize 10000m;
alter system set undo_tablespace='UNDOTBS2' scope=both;
alter tablespace undotbs1 offline;

drop tablespace undotbs1 including contents AND DATAFILES CASCADE CONSTRAINTS ;

create temporary tablespace temp2 tempfile '/opt/oracle/product/oradata/db01/temp2.dbf' size 1000m autoextend on next 500m maxsize 10000m;
alter database default temporary tablespace temp2;
drop tablespace temp1 including contents AND DATAFILES;

 

undo1.jpg

undo2.jpg

请使用浏览器的分享功能分享到微信等