目录
一、Oracle Online Redo Log Files及其相关内容介绍
1、Online Redo Log Files简介
2、Online Redo Log Files特点
3、Online Redo Log Files文件组
4、多路复用文件
5、联机重做日志文件工作方式
6、LGWR什么时候写重做
7、LS和LSN
8、删除Redo文件成员
9、删除重做文件组
10、重新定位和重命名
11、什么是重做线程
12、归档的重做日志文件(安全,正常企业开发需要打开)
二、Online Redo Log Files一些必要的操作
1、Force Log Switches(强制切换日志开关)和CK
2、增加组操作
3、添加Redo文件成员
4、删除Redo文件成员
5、删除日志文件组
6、重新定位和重命名
7、清理Redo Files(慎用)
8、用OMF管理重做文件
9、 Group & Member Informatior(实用)
三、安全性提示
Oracle Online Redo Log Files是Oracle数据库中的一种重要的日志文件,用于记录数据库中所有的修改操作。
在Oracle数据库中,当发生修改操作时,这些操作将首先写入Online Redo Log Files中,然后再写入数据库中的磁盘上。这样可以保证即使发生意外故障,Oracle数据库也能通过Redo Log来恢复数据,保证数据的完整性和一致性。
Online Redo Log Files通常由多个文件组成,这些文件可以分布在不同的磁盘上,这样可以提高性能和可靠性。同时,Oracle数据库还提供了Archive Log模式,可以在数据库关闭时自动将Online Redo Log Files转储到磁盘上的Archive Log文件中,从而保证数据的可靠性和完整性。
总的来说,Oracle Online Redo Log Files对于保证Oracle数据库的高可用性、高性能和数据的完整性非常重要,是Oracle数据库架构中的核心组成部分之一。
为了防止涉及重做日志本身的故障,Oracle数据库允许多路重做日志,这意味着可以在不同的位置自动维护两个或多个相同的重做日志副本。为了获得最大的好处,这些位置应该位于单独的磁盘上。然而,即使重做日志的所有副本都在同一个磁盘上,冗余也可以帮助防止l/O错误、文件损坏等。当重做日志文件多路复用时,LGWR并发地将相同的重做日志信息写入多个相同的重做日志文件,从而消除了重做日志单点故障。
复用是通过创建多组重做日志文件实现的。一个组由一个重做日志文件和它的多路副本组成。每个相同的副本被称为组的一个成员。每个重做日志组都用一个数字来定义,比如组1、组2,等等。
注意:Oracle建议您使用多重重做日志文件。如果需要恢复,日志文件数据的丢失可能是灾难性的。请注意,当您复用重做日志时,数据库必须增加它执行的I/0量。根据您的配置,这可能会影响数据库的整体性能。
日志交换机和日志序列号
在多个数据库实例的上下文中,每个数据库实例的重做日志也称为重做线程。在典型的配置中,只有一个数据库实例访问甲骨文数据库,所以只有一个线程。然而,在甲骨文实际应用集群环境中,两个或多个实例并发地访问一个数据库,每个实例都有自己的重做线程。每个实例的单独重做线程避免了对单个重做日志文件集的争用,从而消除了潜在的性能瓶颈。
强制切换日志开关(手工切换日志):
ALTER SYSTEM SWITCH LOGFILE;
可以通过以下方式强制检查点:
设置FAST_START_MTTR_TARGET参数
FAST_START_MTTR_TARGET = 600
修改系统检查点命令:
ALTER SYSTEM CHECKPOINT;
ALTER DATABASE ADD LOGFILE GROUP 3
('$HOME/ORADATA/u01/log3a.rdo',
'$HOME/ORADATA/u01/log3b.rdo')
SIZE 1M;
ALTER DATABASE ADD LOGFILE MEMBER
'$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1,
'$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2,
'$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3;
ALTER DATABASE DROP LOGFILE MEMBER
'$HOME/ORADATA/u04/log3c.rdo';
这里并不是真正意义上的删除文件,只是修改了控制文件中的信息,实际文件还在,需要手动进行删除
再删除之前需要先执行以下命令查看当前组,然后再删除需要删除的组
select group#,members,archived,status from v$log;
ALTER DATABASE DROP LOGFILE GROUP 3;
注意:如果你想要删除的组正在工作可以强制切换日志开关
ALTER SYSTEM SWITCH LOGFILE;
然后在查看组的状态,如果还不想就多来几次切换,查看状态,最后删除。
通过以下两种方式之一重新定位或重命名联机重做日志文件:
ALTER DATABASE RENAME FILE
'$HOME/ORADATA/u01/log2a.rdo'
TO '$HOME/ORADATA/u-2/log1c.rdo';
ALTER DATABASE CLEAR LOGFILE 命令用于重新初始化联机重做日志文件
ALTER DATABASE CLEAR LOGFILE GROUP 2:
使用UNARCHIVED 关键字可避免存档损坏的联机重做日志文件
ALTER DATABASE CLEAR UNARCHIVEDLOGFILE GROUP 2;
定义DB CREATE ONLINE LOG DEST n参数:
DB CREATE ONLINE LOG DEST 1
DB CREATE ONLINE LOG DEST 2
可以在没有文件规范的情况下添加组:
ALTER DATABASE ADD LOGFILE:
删除一个组:
ALTER DATABASE DROP LOGFILE GROUP 3;
可以通过查询以下视图来获取有关某个组及其成员的信息
- V$LOG
- V$LOGFILE
动态视图:
- V$LOG 显示控制文件中的重做日志文件信息
- V$LOGFILE 标识重做日志组和成员以及成员状态
- V$LOG_HISTORY 包含日志历史信息
温馨提示:在不同的磁盘上