Oracle的主要文件类型有三种,分别是控制文件,数据文件和日志文件;日志文件记录了对数据库的所有操作记录,提供了一个恢复机制,oracle将数据写入数据文件之前,需要将修改过的内容写入redo日志文件,oracle推荐最少存在两个日志文件组,每个组中存在两个或更多的成员文件;LGWR进程根据日志组循环写,日志组的中的文件成员大小是一致的,并分配(LSN)log sequence number;当写满一个文件组的时候,Oracle会触发一个log switch切换到另一个日志组,将LSN号码加一,同时引发check point,DBWR进程将修改过的数据写入磁盘上的数据文件中;触发lgwr的5个条件:在一个事务提交之后每三秒钟当redo buffer cache三分之一满后当redo buffer cache里面修改过的数据容量达到1M后在dbwn进程将修改过的数据写入磁盘文件之前SQL> select group#,thread#,sequence#,archived,status from v$log; //查看日志组总数和当前active状态的日志组,当前为1 GROUP# THREAD# SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------------
1 1 46 NO CURRENT
2 1 44 YES INACTIVE
3 1 45 YES INACTIVE
SQL> alter system switch logfile; //手动触发一次日志切换System altered.SQL> select group#,thread#,sequence#,archived,status from v$log; //可以看到www.linuxidc.com当前active的日志组已经切换为2 GROUP# THREAD# SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------------
1 1 46 YES ACTIVE
2 1 47 NO CURRENT
3 1 45 YES INACTIVE
如果LGWR进程工作很频繁,日志组很快就会被写满,这个时候就需要DBWN进程将修改过的数据写到数据文件中,否则Oracle将无法正常工作,fast_start_mttr_target参数定义了DBWN进程在多少时间间隔内必须将redolog中的数据写入数据文件,单位为秒,这是个影响数据库性能的关键参数;SQL> show parameter fast_start;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 0
fast_start_parallel_rollback string LOW
SQL> alter system set fast_start_mttr_target=600 scope=both; //修改这个参数为600秒System altered.SQL> show parameter fast_start_mttr_target;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_mttr_target integer 600
Oracle 入门之rman备份概述Oracle 入门之service脚本管理启动,关闭,重启相关资讯 oracle
- [INS-32052] Oracle基目录和Oracle (07/22/2014 07:41:41)
- Oracle 4个大对象(lobs)数据类型 (02/03/2013 12:33:05)
- Oracle按时间段分组统计 (07/26/2012 10:36:48)
| - [Oracle] dbms_metadata.get_ddl的 (07/12/2013 07:37:30)
- Liferay Portal 配置使用Oracle和 (07/31/2012 20:07:18)
- Concurrent Request:Inactive (07/20/2012 07:44:05)
|
本文评论 查看全部评论 (0)