重做日志文件(redo log files)管理(增,删,改,查,切)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

汇总整理一下有关重做日志文件redo log files)管理相关的操作(增,删,改,查,切)。供参考。

1.当前日志相关信息

sys@ora11g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS    FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- --------- ------------- ---------
         1          1         10  209715200          1 YES INACTIVE         461938 09-MAR-09
         2          1         11  209715200          1 NO  CURRENT          485885 09-MAR-09
         3          1          9  209715200          1 YES INACTIVE         432636 04-MAR-09

sys@ora11g> select * from v$logfile;

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

2.添加重做日志组
sys@ora11g>alter database add logfile group 4 ('/oracle/u02/oradata/ora11g/redo04_01.log','/oracle/u02/oradata/ora11g/redo04_02.log') size 50m;

Database altered.

sys@ora11g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS    FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- --------- ------------- ---------
         1          1         10  209715200          1 YES INACTIVE         461938 09-MAR-09
         2          1         11  209715200          1 NO  CURRENT          485885 09-MAR-09
         3          1          9  209715200          1 YES INACTIVE         432636 04-MAR-09
         4          1          0   52428800          2 YES UNUSED                0

sys@ora11g> select * from v$logfile;

    GROUP# STATUS  TYPE                 MEMBER                                   IS_
---------- ------- -------------------- ---------------------------------------- ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01.log    NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02.log    NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03.log    NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_01.log NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_02.log NO


3.添加日志文件
sys@ora11g>alter database add logfile member
             '/oracle/u02/oradata/ora11g/redo01_02.log' to group 1,
             '/oracle/u02/oradata/ora11g/redo02_02.log' to group 2,
             '/oracle/u02/oradata/ora11g/redo03_02.log' to group 3;

Database altered.

sys@ora11g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS    FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- --------- ------------- ---------
         1          1         10  209715200          2 YES INACTIVE         461938 09-MAR-09
         2          1         11  209715200          2 NO  CURRENT          485885 09-MAR-09
         3          1          9  209715200          2 YES INACTIVE         432636 04-MAR-09
         4          1          0   52428800          2 YES UNUSED                0

sys@ora11g>  select * from v$logfile order by 1;

    GROUP# STATUS  TYPE                 MEMBER                                   IS_
---------- ------- -------------------- ---------------------------------------- ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01.log    NO
         1 INVALID ONLINE               /oracle/u02/oradata/ora11g/redo01_02.log NO
         2 INVALID ONLINE               /oracle/u02/oradata/ora11g/redo02_02.log NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02.log    NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03.log    NO
         3 INVALID ONLINE               /oracle/u02/oradata/ora11g/redo03_02.log NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_02.log NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_01.log NO

8 rows selected.

4.重命名日志成员
在重命名日志组成员之前新的目标必须已经存在。Oraclesql命令只是把控制文件中的内部指针指向新的日志文件。
1)关闭数据库

sys@ora11g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

2)使用操作系统命令重命名或移动日志文件
ora11g@RHEL53 /oracle/u02/oradata/ora11g$mv redo01.log redo01_01.log
ora11g@RHEL53 /oracle/u02/oradata/ora11g$mv redo02.log redo02_01.log
ora11g@RHEL53 /oracle/u02/oradata/ora11g$mv redo03.log redo03_01.log

3)启动数据库实例到mount状态,重命名控制文件中的日志文件成员。
NotConnected@> select * from v$logfile order by 1,4;

    GROUP# STATUS  TYPE                 MEMBER                                     IS_
---------- ------- -------------------- ------------------------------------------ ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01.log      NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02.log      NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03.log      NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_01.log   NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_02.log   NO
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_02.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_02.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_02.log   NO

8 rows selected.

NotConnected@>alter database rename file '/oracle/u02/oradata/ora11g/redo01.log' to '/oracle/u02/oradata/ora11g/redo01_01.log';

Database altered.

NotConnected@>alter database rename file '/oracle/u02/oradata/ora11g/redo02.log' to '/oracle/u02/oradata/ora11g/redo02_01.log';

Database altered.

NotConnected@>alter database rename file '/oracle/u02/oradata/ora11g/redo03.log' to '/oracle/u02/oradata/ora11g/redo03_01.log';

Database altered.

4)open数据库,验证结果
NotConnected@>alter database open;

Database altered.

sys@ora11g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- -------- ------------- ---------
         1          1         18  209715200          2 YES INACTIVE        486960 09-MAR-09
         2          1         19  209715200          2 YES INACTIVE        486964 09-MAR-09
         3          1         21  209715200          2 NO  CURRENT         486973 09-MAR-09
         4          1         20   52428800          2 YES INACTIVE        486968 09-MAR-09

sys@ora11g> select * from v$logfile order by 1,4;

    GROUP# STATUS  TYPE                 MEMBER                                     IS_
---------- ------- -------------------- ------------------------------------------ ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_01.log   NO
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_02.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_01.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_02.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_01.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_02.log   NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_01.log   NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_02.log   NO

8 rows selected.

5)最后,不要忘记备份控制文件
sys@ora11g>alter database backup controlfile to trace;

Database altered.

5.删除一个非活动的重做日志组的成员
sys@ora11g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- -------- ------------- ---------
         1          1         18  209715200          2 YES INACTIVE        486960 09-MAR-09
         2          1         19  209715200          2 YES INACTIVE        486964 09-MAR-09
         3          1         21  209715200          2 NO  CURRENT         486973 09-MAR-09
         4          1         20   52428800          2 YES INACTIVE        486968 09-MAR-09

sys@ora11g>alter database drop logfile member '/oracle/u02/oradata/ora11g/redo04_02.log';

Database altered.

sys@ora11g> !ls -l /oracle/u02/oradata/ora11g/redo04_02.log
-rw-r----- 1 oracle oinstall 52429312 Mar  9 16:28 /oracle/u02/oradata/ora11g/redo04_02.log

sys@ora11g>!rm -f /oracle/u02/oradata/ora11g/redo04_02.log

sys@ora11g> select * from v$logfile order by 1,4;

    GROUP# STATUS  TYPE                 MEMBER                                     IS_
---------- ------- -------------------- ------------------------------------------ ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_01.log   NO
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_02.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_01.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_02.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_01.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_02.log   NO
         4         ONLINE               /oracle/u02/oradata/ora11g/redo04_01.log   NO

7 rows selected.

6.删除一个非活动的重做日志组
sys@ora11g>alter database drop logfile group 4;

Database altered.

sys@ora11g>!rm -f /oracle/u02/oradata/ora11g/redo04_01.log

sys@ora11g> select * from v$logfile;

    GROUP# STATUS  TYPE                 MEMBER                                     IS_
---------- ------- -------------------- ------------------------------------------ ---
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_01.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_01.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_01.log   NO
         1         ONLINE               /oracle/u02/oradata/ora11g/redo01_02.log   NO
         2         ONLINE               /oracle/u02/oradata/ora11g/redo02_02.log   NO
         3         ONLINE               /oracle/u02/oradata/ora11g/redo03_02.log   NO

6 rows selected.

7.强制切换日志
sys@ora11g>alter system switch logfile;

System altered.

sys@ora11g>alter system archive log current;

System altered.

8.小结
1)日志文件非常重要,当多路复用重做日志文件时,应该把一个组的成员保存在不同的磁盘上。
2
在完成日志文件维护后一定要记得备份最新的控制文件!
3
以上试验是在11g环境下完成的,在10g环境中一样适用。

Good luck.

secooler
09.03.09

-- The End --

 
 
 
分类:  OralceRac


本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2012/07/25/2608680.html
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4天前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
|
1天前
|
SQL Oracle NoSQL
实时计算 Flink版操作报错合集之报错“找不到对应的归档日志文件”,怎么处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3天前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
4天前
|
存储 Kubernetes Java
阿里泛日志设计与实践问题之在写多查少的降本场景下,通过SLS Scan方案降低成本,如何实现
阿里泛日志设计与实践问题之在写多查少的降本场景下,通过SLS Scan方案降低成本,如何实现
|
4天前
|
弹性计算 监控 索引
阿里泛日志设计与实践问题之SLS Scan服务的稳定性和可用性如何保证
阿里泛日志设计与实践问题之SLS Scan服务的稳定性和可用性如何保证
|
4天前
|
存储 SQL JSON
阿里泛日志设计与实践问题之SLS Scan的语法该如何定义
阿里泛日志设计与实践问题之SLS Scan的语法该如何定义
|
5天前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
24 0
|
SQL 数据采集 监控
基于日志服务数据加工分析Java异常日志
采集并脱敏了整个5月份的项目异常日志,准备使用日志服务数据加工做数据清洗以及分析。本案例是基于使用阿里云相关产品(OSS,RDS,SLS等)的SDK展开自身业务。需要对异常日志做解析,将原始日志中时间、错误码、错误信息、状态码、产品信息、请求方法、出错行号提取出来。然后根据提取出来的不同产品信息做多目标分发处理。对清洗后的数据做异常日志数据分析。
776 0
基于日志服务数据加工分析Java异常日志
|
6天前
|
SQL 存储 JSON
更快更强,SLS 推出高性能 SPL 日志查询模式
从海量的日志数据中,按照各种灵活的条件进行即时查询搜索,是可观测场景下的基本需求。本文介绍了 SLS 新推出的高性能 SPL 日志查询模式,支持 Unix 风格级联管道式语法,以及各种丰富的 SQL 处理函数。同时通过计算下推、向量化计算等优化,使得 SPL 查询可以在数秒内处理亿级数据,并支持 SPL 过滤结果分布图、随机翻页等特性。
211 65
|
7天前
|
Java 应用服务中间件
SpringBoot 记录 access.log 日志
SpringBoot 记录 access.log 日志
17 0
SpringBoot 记录 access.log 日志

热门文章

最新文章