讲述你所理解的日志文件的类型与作用,Oracle联机日志的工作模式,数据库运行时日志模式与作用

解决方案 »

  1.   

    重做日志文件(Redo files)
    用户对数据库进行的任何操作都会记录在重做日志文件。在了解重做日志之前必须了解重做日志的两个概念,重做日志组和重做日志组成员(Member),一个 数据库中至少要有两个日志组文件,一组写完后再写另一组,即轮流写。每个日志组中至少有一个日志成员,一个日志组中的多个日志成员是镜相关系,有利于日志 文件的保护,因为日志文件的损坏,特别是当前联机日志的损坏,对数据库的影响是巨大的。
    联机日志组的交换过程叫做切换,需要特别注意的是,日志切换在一个优化效果不好的数据库中会引起临时的“挂起”。挂起大致有两种情况:
    ·在归档情况下,需要归档的日志来不及归档,而联机日志又需要被重新利用
    ·检查点事件还没有完成(日志切换引起检查点),而联机日志需要被重新利用
      

  2.   

    归档日志文件(Archived files)
    Oracle 可以运行在两种模式之中,归档模式和不归档模式。如果不用归档模式,当然你就不会有归档日志,但是,你的系统将不会是一个实用系统,特别是不能用于生产系 统,因为你可能会丢失数据。但是在归档模式中,为了保存用户的所有修改,在重做日志文件切换后和被覆盖之间系统将他们另外保存成一组连续的文件系列,该文 件系列就是归档日志文件。
    有人或许会说,归档日志文件占领我大量的硬盘空间,其实,具体想一想,你是愿意浪费一点磁盘空间来保护你的数据,还是愿意丢失你的数据呢?显而义见,我们 需要保证我们的数据的安全性。其实,归档并不是一直占领你的磁盘空间,你可以把她备份到磁带上,或删除上一次完整备份前的所有日志文件。通过 v$archived_log 和v$log_history 可以查看归档日志文件的信息。
      

  3.   

    操作ORACLE日志文件1.查询系统使用的是哪一组日志文件:
    select * from v$log;2.查询正在使用的组所对应的日志文件:
    select * from v$logfile;3.强制日志切换:
    alter system switch logfile;4.查询历史日志:
    select * from v$log_history;5.查询日志的归档模式:
    select dbid,name,created,log_mode from v$database;6.查询归档日志的信息:
    select recid,stamp,thread#,sequence#,name from v$archived_log;7.增加与删除日志文件组
    alter database add logfile group 1 ('/home1/oracle/oradata/ora8i/log1a.log'),'/home2/oracle/oradata/ora8i/log1b.log') size 100M;alter database drop logfile group 1;8.增加与删除日志成员
    alter database add logfile member '/home1/oracle/oradata/ora8i/log1a.log' to group 1,'/home1/oracle/oradata/ora8i/log2a.log' to group 2;alter database drop logfile member '/home1/oracle/oradata/ora8i/log1a.log' ;9.日志文件移动
    alter database rename file '/home1/oracle/oradata/ora8i/log1a.log' to '/home2/oracle/oradata/ora8i/log1a.log';
    执行该命令之前必须保证该日志文件物理上已经移动到新目录10.清除日志文件
    alter database clear logfile '/home1/oracle/oradata/ora8i/log1a.log';
    该命令用于不能用删除组及组成员命令删除日志时使用
      

  4.   

    我擦,难怪有人说来CSDN的都是菜鸟