我首先想问
1、SYSAUX和UNDOTBS1这两个表空间有啥区别。
2、SYSAUX我现在已经对应了两个存放文件SYSAUX01.DBF和SYSAUX03.DBF,UNDOTBS1表空间对应一个存放文件UNDOTBS01.DBF。这三个文件每个有32G,已经占据了我电脑近100G的空间。我想问问如果我直接SHIFT+DELETE把这三个文件删除会有什么后果,然后我重新给这两个表空间定义新的存放文件
UNDOTBS1存放的是追踪记录,可以回滚表的。
如果数据库以后不用了,那么删除没有任何后果。如果你只是暂时删除,还想放到数据库里,或者转移到另一个计算机,就不要删除。
操作顺序有点问题,先把数据库备份后,应先重新给这两个表空间定义新的文件,再删除,存储文件。这样数据库异常可恢复,另外,若不先修改存储文件,可能会报文件正在使用无法删除。
SYSAUX 表空间主要存放的是EM以及其他统计信息,比如awr快照、审计信息等等,在默认的情况下这些信息都是存放在SYSAUX 表空间内
当然我们也可以通过修改这些信息的存放位置。
UNDOTBS1 表空间的话主要暂时存储DML操作的数据,主要作用有回滚、恢复实例、读一致性,闪回。对于undo表空间我们要清楚一点,一个数据
可以拥有多个undo表空间,但是在使用的永远只有一个,我记得以前看小布老师讲解的视频中说到,如果实际应用当中我们只要一个表空间就行了,不需要多个,因为我们能用的只是一个表空间,你使用多个还不如只用一个大的就可以了(大概就是这个意思)
对于undotbs的大小管理的话主要就是控制两个参数
undo_retention:表示保留删回时长
retention guarantee:表示未达到 undo_retention的内容是否删除
这两参数就不详细说了,最好就是百度一下或者去看官言方文档
Oracle Database Advanced Application Developer's Guide
dba 那本
两个表空间的功能上面那位兄弟说的很清楚了,SYSAUX这个无法直接删除,UNDO的话可以先建一个小的,然后将数据库UNOD那个参数改成后建的那个,然后将之前大的那个删掉