需求背景

由于前期安装oracle时redo文件大小或者路径规划不合理需要进行修改,以便满足性能测试要求。redo文件规划大小建议与生产环境一致。

重做日志相关数据字典

1、v$log  记录数据库中有多少个重做日志组,每个组中有多少个成员、日志大小及状态

2、v$logfile 记录着每个日志组成员的属性、文件路径、文件名、状态等

操作步骤

1、查看现有日志组及重做文件大小

SQL> select group#,sequence#,bytes/1024/1024 sizeMB,members,status from v$log;

    GROUP#  SEQUENCE#     SIZEMB    MEMBERS     STATUS
---------- ---------- ---------- ---------- ---------
1 27 50 1 INACTIVE
2 28 50 1 CURRENT
3 29 50 1 INACTIVE

STAUS状态值说明:

inactive:表示实例恢复已不再需要这组联机重做日志组了。
active:表示该组是活动的但不是当前组,实例恢复时需要这组日志。
current:表示该组日志是当前组,该联机重做日志组是活动的,当前正在使用。
unused:表示该日志组从未写过,是重做日志刚刚添加到状态。

2、查看当前重做日志文件的状态和路径

SQL> select group#,status,type,member from v$logfile;

    GROUP# STATUS  TYPE    MEMBER
---------- ------- ------- ---------------------------------------------
3 ONLINE /home/oracle/oradata/ora11g/redo03.log
2 ONLINE /home/oracle/oradata/ora11g/redo02.log
1 ONLINE /home/oracle/oradata/ora11g/redo01.log

STATUS状态说明:

空白:表示该文件正在使用。
stale:表示该文件中的内容是不完全的。
invalid:表示该文件是不可以被访问的。
deleted:表示该文件已不再有用了。

3、新增创建重做日志文件组group 4、group 5、group 6,文件大小设置为1000M。

SQL> alter database add logfile group ('/dev/vgoracle/lvredo4.log') size 1000M;

Database altered.

SQL> alter database add logfile group ('/dev/vgoracle/lvredo5.log') size 1000M;

Database altered.

SQL> alter database add logfile group ('/dev/vgoracle/lvredo6.log') size 1000M;

Database altered.

4、执行alert system switch logfile命令进行多次切换,直至group 4或者group 5日志组的状态为current。

SQL> alter system switch logfile;

System altered.

SQL> select group#,sequence#,bytes// sizeMB,members,status from v$log;

    GROUP#  SEQUENCE#     SIZEMB    MEMBERS     STATUS
---------- ---------- ---------- ---------- ---------
INACTIVE
ACTIVE
INACTIVE
CURRENT
NOUSE
NOUSE

5、执行alter system checkpoint手工执行同步数据,将redo文件记录写入数据文件。确保group 1、group 2、group 3文件组状态为INACTIVE。

SQL> select group#,sequence#,bytes// sizeMB,members,status from v$log;

    GROUP#  SEQUENCE#     SIZEMB    MEMBERS     STATUS
---------- ---------- ---------- ---------- ---------
INACTIVE
INACTIVE
INACTIVE
CURRENT
NOUSE
NOUSE

6、当日志组处于INACTIVE状态是,可以执行drop操作删除。对应的OS文件需手工删除。

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 3;

Database altered.

7、操作完成。重新查看重做日志文件组状态

SQL> select group#,sequence#,bytes// sizeMB,members,status from v$log;

    GROUP#  SEQUENCE#     SIZEMB    MEMBERS     STATUS
---------- ---------- ---------- ---------- ---------
ACTIVE
NOUSE
NOUSE

说明:如果习惯使用日志组1/2/3,可以按照上述过程重新操作一遍即可。

8、清理被替换的redo文件

rm /home/oracle/oradata/ora11g/redo01.log
rm /home/oracle/oradata/ora11g/redo02.log
rm /home/oracle/oradata/ora11g/redo03.log

重建redo文件的更多相关文章

  1. 【练习】trace文本重建控制文件

    这个小练习是针对控制文件全部丢失后怎么能快速的重建一个控制文件,快速的起库 1.备份控制文件到trace下 SQL> alter database backup controlfile to t ...

  2. Oracle 重建控制文件

    前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...

  3. 【恢复】 Redo文件丢失的恢复

    第一章 Redo文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢 ...

  4. Oracle 重建控制文件一例

    环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的.本文的场景可以通过复制控制文件到新路径,运行一段时间后,再 ...

  5. 【翻译自mos中文文章】重建控制文件的方法

    重建控制文件的方法 參考原文: How to Recreate a Controlfile (Doc ID 735106.1) 适用于: Oracle Database - Enterprise Ed ...

  6. 简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错

    一.故障描写叙述 首先是实例恢复须要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO可是无活动事务使用下面CLEAR命令: 用CLEAR命令重建该日志文件SQL>al ...

  7. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  8. 转储oracle的redo文件

    1.确定当前使用的redo文件 SQL> select member from v$logfile where group# = ( select group# from v$log where ...

  9. redo文件一

    redo log files and redo log buffer redo log files的作用的是确保数据库崩溃之后能正确的恢复数据库,恢复数据库到一,致性的状态 redo log file ...

随机推荐

  1. 0009 - WebFlux

    1.概述 大多数场景使用MVC都是阻塞式的,WebFlux使用的场景是异步非阻塞的 响应式编程是基于异步和事件驱动的非阻塞程序,只是垂直通过在JVM内启动少量线程扩展,而不是水平通过集群扩展. Spr ...

  2. sas 日期比较代码备忘

    DATA A;    SET S.payrecordinfo;    YY=DATEPART(AddTime);    FORMAT YY MMDDYY10.;RUN; DATA A1;    SET ...

  3. 1-自己动手编写ArrayList集合

    学习集合的原理,这是一个很简单的代码,没有索引下标越界判断,异常处理等,不够健壮,后面会继续更新完善代码..... 只是入门学习一下 package my; /*** * 自己动手编写一个ArrayL ...

  4. ES6核心内容讲解

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  5. SP1812 LCS2 - Longest Common Substring II

    能匹配上子串的节点对它的所有parent都有贡献 在树上转移即可 #include<cstdio> #include<algorithm> #include<cstrin ...

  6. CF 966E May Holidays

    /* 考虑对于询问分块, 每根号n个询问做一次 考虑一次询问, 我们建立出虚树来每条链上的更改一定是一样的, 然后会有根号条链 对于每条链上的点按照w基数排序并且合并相同, 然后每次更改 就是一个指针 ...

  7. Django实现瀑布流,组合搜索

    Django中组合搜索功能 需求分析 很多电商网站中有组合搜索的功能,所谓组合搜索就是网页中组合多个条件,对数据库中进行查询,并且将结果显示在页面中,看个例子吧: 注意红框中的标识,我们可以根据URL ...

  8. Python开发之AJAX

    一.概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用:一个简单操作 ...

  9. three.js学习:纹理Texture之平面纹理

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  10. 自动化工具gulp搭建环境(详解)

    src:读取文件和文件夹       dest:生成文件(写文件)       watch:监控文件       task:定制任务         pipe:以流的方式处理文件 bower的安装和使 ...