ORACLE配置重做日志文件

oracle服务器上已提交的数据都被记录在重做日志文件上,一旦数据库崩溃,就可以使用重做日志文件恢复数据。

查看数据库目前的重做日志文件配置

select GROUP#, SEQUENCE#, BYTES, MEMBERS, STATUS, ARCHIVED from v$log;

结果:

可以看出:目前有3个重做日志组(group),每组一个重做日志文件(MEMBERS),每个文件200M,当前组是第一组。

select * from v$logfile;

3个重做文件组都位于同一块盘,同一文件夹下,每个日志组中只有一个成员,是不可靠的。

创建disk1、disk2、disk3 三个文件夹,假设它们是三块不同的磁盘。现在决定,将重做日志组设为5个,每个组3个成员,每个成员大小50M,成员分别位于disk1、disk2、disk3。

增加日志组4:

alter database add logfile
  2  ('H:\oracle\disk1\onlinelog\REDO04A.LOG',
  3  'H:\oracle\disk2\onlinelog\REDO04B.LOG',
  4  'H:\oracle\disk3\onlinelog\REDO04C.LOG')
  5  SIZE 50M;

查询:

可以看出增加了一个重做日志组4。

增加日志组5

同上;

查询:

发现group1为当前组,当前组不能删除,所以先删除组2和组3

删除组3:

ALTER DATABASE DROP LOGFILE GROUP 3;

可以看出组3被删掉了。

添加新的日志组3

 ALTER DATABASE ADD LOGFILE GROUP 3
  2  ('H:\oracle\disk1\onlinelog\REDO03A.LOG',
  3  'H:\oracle\disk2\onlinelog\REDO03B.LOG',
  4  'H:\oracle\disk3\onlinelog\REDO03C.LOG')
  5  SIZE 50M;

日志组2同理。

因为日志组1为当前组,不能删除,所以进行切换操作。

ALTER SYSTEM SWITCH LOGFILE;

切换后,日志组2变为当前组,但日志组1处于活动状态,这个状态也是不能删除的,等一段时间后,会转换为非活动态,

这个时候就可以删除日志组1了,

操作同上,最后再查询验证一下:

 

 

posted @ 2019-02-11 20:59  太空堡垒啦啦啦  阅读(313)  评论(0编辑  收藏  举报