重做日志文件组和重做日志文件组成员的管理

一、重做日志文件组:

1、添加重做日志组的指令:

alter database [数据库名称]

  add logfile[group 正整数] 文件名称

  [,[group 正整数]文件名称]]

不是有group选项时oracle系统会自动在当前最大的组号上加1来产生新的组号

ex:alter database add logfile ('D:\REDO04.LOG','D:\REDO05.LOG') size 15m;

增加新的重做日志组并且添加两个重做日志成员,大小设置为15M

2、删除重做日志组指令:

alter database[数据库名称]

  drop logfile{group 正整数|('文件名称')}

    [,{group 正整数|('文件名称')}]

ex:  alter database drop logfile group 4;

注:删除重做日志组以后对应的重做日志组成员文件并没有被从物理磁盘上删除,必须手动删除日志成员文件,避免垃圾文件过大。

查看重做日志组和对应的重做日志组成员的数据字典分别是v$log,v$logfile;

二、重做日志文件组成员:

oracle 的默认安装是在每个成员组下面添加一个成员文件,这在生产数据库上是无法接受的,必须保证oracle系统上最少有两个重做日志文件组,每个组中最少有两个组成员文件,以防止重做日志文件的物理错误。

1、创建重做日志文件的sql命令:

alter database [数据库名称]

  add logfile member

  ['文件名称'[reuse]

  [,'文件名称'[reuse]]

    to {group 组号

    |('文件名称'[,'文件名称']....)

    }

  ]....

每个日志组中新添加的成员文件的大小默认与原来成员文件的大小相等

2、删除重做日志文件的sql命令:

alter database[数据库名称] drop  logfile member '文件名称'[,'文件名称']....

不能使用上述命令删除每个重做日志组的成员,因为当前重做日志组的成员不能删除。如果要删除应该使用alter system switch logfile命令切换当前重做日志组。

如果想删除刚刚新加入的成员可能会比较麻烦,因为当前新加入的成员的status为invalid即不可访问的状态。因此在删除之前要多次使用alter system switch logfile命令切换成员组。或者先shutdown数据库后startup数据库。之后就不用频繁的切换当前日志组了。

注:报警文件中记录了重做日志组和重做日志组成员的所有的变动信息,维护重做日志时可以通过报警文件查看。

 

 

posted on 2014-06-20 21:25 moonfans 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/moonfans/p/3800172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值