oracle管理重做日志文件

来源:互联网 发布:淘宝特色馆是干什么的 编辑:程序博客网 时间:2024/05/21 08:51

重做日志文件记载了事务操作所引起的数据变化,它由重做记录组成,重做记录又称为重做条目,它由一组变更向量组成,每个变更向量都记录了数据库中的某个数据块所做的修改。

利用重做记录,不仅能够恢复对数据文件所做的修改操作,也能恢复对回滚段所做的修改操作。

重做记录以循环的方式在SGA的重做日志高速缓冲区进行缓存,并且有后台进程LGWR写入到重做日志文件。SCN也会随重做记录一起写入。

默认情况下,数据库会创建三个日志组,每个日志组包含两个成员。

 

一、增加日志组及其成员

在oracle数据库中,至少包含两个重做日志文件组,每个组可以包含一个或多个成员。

1. 添加新的重做日志文件组:

alter database add logfile    

('D:\OracleLogFile\REDO04_1.log',   

 'D:\OracleLogFile\REDO04_2.log')    

 size 20M;

通常情况下,重做日志文件的大小最好在10M到50M之间,Oracle默认的日志文件大小是50M。已经存在的日志文件组不能改变大小,需要删除后重建。

 

2. 向数据库中添加一个新的重做日志文件组,并指定组:
alter database add logfile group 5
('D:\OracleLogFile\REDO04_1.log',
 'D:\OracleLogFile\REDO04_2.log')
size 20M;
日志组的编号必须是连续的,否则会消耗数据库控制文件的空间。

 

3. 向数据库添加一个单一日志文件:
alter database add logfile 'D:\OracleLogFile\REDO04_1.log' reuse;
如果创建的日志文件已经存在,则必须使用reuse关键字。在使用reuse关键字的情况下,不能再制定日志文件的 大小。

 

二、创建日志文件成员文件

1. 为第4个日志文件组添加新的日志文件成员
alter database add logfile member
'D:\OracleLogFile\REDO04_3.log' to group 4;


2. 也可以通过指定重做日志组中其他成员的名称,添加新的日志文件成员
alter database add logfile member
'D:\OracleLogFile\REDO04_3.log' to ('D:\OracleLogFile\REDO04_1.log');

 

三、删除重做日志文件

1. 删除日志成员
alter database drop logfile member
'D:\OracleLogFile\REDO04_3.log';

2. 删除日志文件组
alter database drop logfile group 5;
注意:
一个数据库至少包含两个日志组,删除时不能超过这个限制。
只能删除处于inactive状态的日志组,若不是,则要手动切换到inactive状态才能删除。
若数据库处于归档模式,则删除日志组前保证它已经归档。

3. 清空重做日志文件
即使只有两个日志组,甚至要清空的日志组处于current状态,也就可清空
alter database clear logfile group 4;

 

四、更改重做日志文件的位置或名称
(1)关闭数据库 shutdown
(2)手动复制源文件到目标位置,甚至可以重命名。
(3)启动实例,加载数据库。 startup mount
(4)重新设置重做日志文件的位置或名称
alter databese rename file
'D:\OracleLogFile\REDO04_3.log',
'D:\OracleLogFile\REDO04_4.log'
to
'E:\OracleLogFile\REDO04_3.log',
'E:\OracleLogFile\REDO04_4.log';

(5)打开数据库  alter database open

 

五、查看重做日志信息
V$LOG              显示控制文件的日志文件信息
V$LOGFILE          日志组合日志成员信息
V$LOG_HISTORY      日志历史信息


 

 

 

原创粉丝点击