需求背景

由于前期安装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. 如何用MAT分析Android程序的内存泄露

    本文结合<Android开发艺术探索>书籍中的内存分析例子来讲解如何利用MAT工具来查找内存泄漏(以AndroidStudio开发工具为例). 1.下载MAT(Eclipse Memory ...

  2. 00011 - find中的-print0和xargs中-0的奥妙

    默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('\n'), 因此我们看到的 find 的输出都是一行一行的: [bash-4.1.5] ; ls -l total 0 -r ...

  3. POI实现数据导入功能

    一.导入过程(基本就是导出的逆向过程) 1.存在一个包含数据的Excel文件 2.将文件作为参数传到服务器 3.服务器解析文件,并将数据封装成实体对象 4.将对象持久化更新到数据库 5.刷新页面导入成 ...

  4. 使用Dotfuscator混淆你的.net程序

    简介 众所周知C#等net框架的程序是无法防止反编译的,但可以通过混淆,让反编译出来的代码非常难看. Dotfuscator是微软推荐使用的第三方混淆器,用来保护你的net程序.可以在安装VS的时候顺 ...

  5. jsfiddle将demo设置为public公开的

    jsfiddle的demo虽然可以通过链接分享给所有人,但是进入个人主页是没有的,需要将项目设置为公开public的 根据提示,打开demo项目页==>左侧菜单==>填写标题和描述==&g ...

  6. 【转】netstat 的10个基本用法

    5. 获取进程名.进程号以及用户 ID 查看端口和连接的信息时,能查看到它们对应的进程名和进程号对系统管理员来说是非常有帮助的.举个栗子,Apache 的 httpd 服务开启80端口,如果你要查看 ...

  7. python中的update

    update()批量写入批量更新字典,举个例子: 1 a = { 2 "name":"dlrb", 3 "age":25, 4 " ...

  8. tomcat中项目后有括号

    引入他人项目时,由于报错,copy本地workspace下其他项目的 .settings和.project到该项目路径下 结果Eclipse 的 Server 中出现了  aaa(bbb)的情况 并且 ...

  9. DOS 和 DDOS 攻击

    <一>: ICMP 协议 01: 是什么 => 互联网信心控制协议. Internet Control Message Protocol 02: 干什么 => 用于实现链路连通 ...

  10. FDQuery 怎么能插入NULL参数

    [FireDAC][Phys][MSSQL]-335. Parameter [fieldAA] data type is unknown. Hint: specify TFDParam.DataTyp ...