image

编辑人: 沉寂于曾经

calendar2025-05-24

message5

visits895

Oracle如何进行日志切换和初始化文件创建

管理联机重做日志文件

联机重做日志文件主要特点:

 

a

b

c

d


对数据库做的任何改变都会被记录在联机重做日志中

提供了一种恢复机制

必须组成组

至少需要两组

 

一个 oracle数据库至少有两个重做日志文件,一个组一个。如果同一个组有两个文件,LGWR

会向两个文件写入相同的信息,同一组的每个成员都有一个相同的日志序列号。Log switch:将一个

日志组切换到另一个日志组,Log switch引发了 checkpoint,Checkpoint:就修改过的数据回写到磁

盘的数据文件中。

LGWR什么时候开始写

a当一个事务 commit的时候(一个事务 commit并不是把数据写到数据文件中,而是写到联机

重做日志文件中)

b 3秒钟写一次

c Redo Log Buffer达到 1/3满的时候

d Redo Log Buffer中有超过 1M内容的时候

e在一个 check point执行之前,LGWR先把信息写到联机重做日志文件中。

手工切换日志

alter system switch logfile;

手工启动检查点

alter system checkpoint;

查询当前系统中日志的情况

select * from v$logfile;

增加一个新组

文件系统:alter database add logfile group 4 (‘/directory_name/redo_name.log’) size

xxxxM;

裸卷:alter database add logfile group 4 (‘/dev/vgX/rredo_xx_NN’) size 1023M;

给日志组增加一个新成员

文件系统: alter database add logfile member ‘/directory_name/redo_name.log’ to

group 4;

裸卷:alter database add logfile member ‘/dev/vgX/rredo_xx_NN’ to group 2

删除一个成员(只是在控制文件中删除相关信息,在 OS中还是真实存在)

alter database drop logfile member ‘/directory_name/redo_name.log’;

alter database drop loggile member ‘/dev/vgX/rredo_xx_NN’;

active current状态的组不能够被 drop

删除一个组

alter database drop logfile group 2;

重新放置和重命名联机重做日志文件(在做此操作前,必须要对数据库进行全备份)有两种方法:

a、使用 alter database rename file命令

1)关闭数据库

2)拷贝联机重做日志文件到新目录下

 

3)将数据库置于 MOUNT状态

4)执行命令 alter database rename file ‘/directory_name/redo_name1.log ‘ to

/directory_name/redo_name2.log ‘;

5)将数据库置于 OPEN状态

b、增加一个新成员,删除旧成员

alter database add logfile member ‘/directory_name/redo_name.log’ to group 2;

alter database drop logfile member ‘/directory_name/redo_name.log’;

alter system switch logfile;

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:Oracle如何进行日志切换和初始化文件创建

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share