第七章Maintaining Online Redo Log Files
删除redo file成员
可以删除redo log file groups中的redo log file成员,此时可能改组中只有一个redo log file,而其他的组内有两个redo log file。但是这种情况最好是临时的,需要即使校正,以防止单点故障。
实例启动通常需要至少两个有效的redo log file组,每个组内至少有一个redo log file。
redo log file状态invalid说明数据库无法访问这个文件,如果状态是stale,说明数据库认为该文件不完整或者不正确。stale状态下的redo log file可以变成valid。
只有在redo log file组状态不是active和current时,才能删除组内的redo log file成员
如果需要删除当前正在使用的redo log file组内的成员,需要手动进行log switch
归档模式下,删除redo log file组内成员时还要确保该成员已经完成归档
删除redo log file成员并不会在磁盘中删除该文件,只是在控制文件中将该redo log file文件的信息从数据库结构中删除。正确从数据库中删除redo log file成员后,最好在磁盘中将该文件删除,节约空间。
alter database drop logfile member ‘$HOME/ORADATA/u04/log3c.rdo’;
删除redo files组
一个实例需要至少两个online redo log files组
状态active和current的组无法被删除
online redo log files组被删除后,并不会在磁盘中删除,需要手动从磁盘中删除
alter database drop logfile group 3;
online redo log files组的组号最好是连续的,如果有group1、group2、group3,最好先删除group3
redo log file更改存储位置、更改名称
更改redo log file存储位置或名称之前最好对数据库进行全备份,操作完成后立即对控制文件进行备份
两种方式
1、使用alter database rename file命令
①关闭数据库
②复制online redo log files到新的位置
③打开数据库至mount状态
④执行alter database rename file命令
alter database rename file ‘$HOME/ORADATA/u01/log2a.rdo’ to ‘$HOME/ORADATA/u02/log1c.rdo’
⑤open数据库
2、添加新成员,之后删除旧的成员