有关oracle中重建redo log的方法

发布时间:2020-03-01编辑:脚本学堂
有关oracle中重建redo log的方法,有需要的朋友建议参考下。

有关oracle中重建redo log的方法,有需要的朋友建议参考下。

1. 查看当前Logfile状态

复制代码 代码如下:
select group#, bytes, archived, status from v$log;

确认group 1的状态为INACTIVE,如果不是,则执行以下命令强制切换logfile;
 

复制代码 代码如下:
alter system switch logfile;

2. 再次查看logifle状态

复制代码 代码如下:
select group#, bytes, archived, status from v$log;

3. drop掉redo group1;
从上一步确认group 1的当前状态为inactive,将它drop掉。
 

复制代码 代码如下:
ALTER DATABASE DROP LOGFILE GROUP 1;

4. 增加大小合适的group:

复制代码 代码如下:
ALTER DATABASE ADD LOGFILE group 1 ('/oradata/umppdb/redo01.log', '/oradata/umppdb/redo11.log') size 50M reuse;

5. 重复1-2步骤,确认group 2的状态为inactive;然后执行以下操作:

复制代码 代码如下:
ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE ADD LOGFILE group 2 ('/oradata/umppdb/redo02.log', '/oradata/umppdb/redo12.log') size 50M reuse;

6. 重复1-2步骤,确认group 3的状态为inactive;然后执行以下操作
 

复制代码 代码如下:
ALTER DATABASE DROP LOGFILE GROUP 3;
ALTER DATABASE ADD LOGFILE group 3 ('/oradata/umppdb/redo03.log', '/oradata/umppdb/redo13.log') size 50M reuse;

如果发现group 3的状态不管怎么switch都不能转为inactive状态,则添加一个group 4来周转一下:
 

复制代码 代码如下:
ALTER DATABASE ADD LOGFILE group 4 ('/oradata/umppdb/redo04.log', '/oradata/umppdb/redo14.log') size 50M reuse;

直到重建完group3之后,再将group 4 drop掉;

最后,3个redo group的查询信息如下:
 

复制代码 代码如下:

select group#, bytes, archived, status from v$log;

GROUP# BYTES ARCHIV STATUS
---------- ---------- ------ --------------------------------
1 52428800 NO CURRENT
2 52428800 YES INACTIVE
3 52428800 YES UNUsed