1、查看当前日志组成员
sql> select member from v$logfile;
2、查看当前日志组状态
sql> select group#,members,bytes/1024/1024.status from v$log;
3、增加日志组
sql> alter database add logfile group 4 ('/opt/oracle/oradata/oral/redo04.log') size 200M;
sql> alter database add logfile group 5 ('/opt/oracle/oradata/oral/redo05.log') size 200M;
sql> alter database add logfile group 6 ('/opt/oracle/oradata/oral/redo06.log') size 200M;
sql> alter system switch logfile;
system altered
sql>select group#,members,bytes/1024/1024.status from v$log;
CURRENT:指当前的日志文件,在进行实例恢复时是必须的
ACTIVE:是指活动的非当前日志,在进行实例恢复时会被用到。Active状态意味着Checkpoint尚未完成,因此该日志文件不能被覆盖。
INACTIVEL:是非活动日志,在实例恢复时不在需要,但在介质恢复时可能需要
UNUSED:表示该日志从未被写入,可能是刚添加的或者RESETLOGS后被重置
4、删除旧的日志组
sql> alter database drop logfile group 1;
sql> alter database drop logfile group 2;
sql> alter database drop logfile group 3;
Database altered
可能会报错如下
ORA-01624:log 1 needed for crash recovery of instance orcl(thread 1)
ORA-00312:online log 1 thread 1 :'/opt/oracle/oradata/orcl/redo01.log'
原因:因为日志成员处在active状态,不能drop掉的,在执行alter system switch logfile;
解决办法:切换日志组,然后重新产出就可以了
sql> alter system switch logfile;
sql> select group#,members,bytes/1024/1024,stuatus from v$log;
sql> alter database drop logfile group 1;
5、再查看日志组
sql> select group#,members,bytes/1024/1024,stuatus from v$log;
6、在操作系统下删除之前的redolog日志文件
oracle@suse-01-27:~>rm -r /opt/oracle/oradata/orcl/redo0[1-3].log
本文介绍了如何查看和管理Oracle数据库的redo日志,包括检查日志组成员、状态,增加和删除日志组,以及在操作系统层面操作redo日志文件。

1620

被折叠的 条评论
为什么被折叠?



