在线重做日志组的切换

来源:互联网 发布:青少年人工智能 编辑:程序博客网 时间:2024/05/12 04:40
日志组的切换:
1.自动切换:当日志组被写满之后,自动发生切换行为;

2.手动切换:alter system switch logfile;

改变日志组的状态?
SYS@orcl11g> alter system flush buffer_cache; --手动发生检查点,将当前的脏块全部写入数据文件(active-->inactive)
                     或alter system checkpoint;
************************************************************************************************************************
如何改变日志的大小和位置呢?
SYS@orcl11g>select group#,bytes/1024 from v$log; --日志组的大小

1.改变日志组状态,变成inactive的组可以被删除;
2.删除后重新添加一个新的符合要求的日志组即可;
************************************************************************************************************************
确定日志切换的频率?
SYS@orcl11g> set pagesize 50
SYS@orcl11g> select sequence#,first_time from v$log_history order by 1

SEQUENCE# FIRST_TIME
----------------- ---------------------------
         1          2013-05-28 15:32:48
         2          2013-05-28 15:36:35
         3          2013-05-28 15:36:53
         4          2013-05-28 15:37:54
         5          2013-05-28 15:39:03
         6          2013-05-28 15:47:01
         7          2013-05-31 13:57:38
         8          2013-06-03 10:17:14
         9          2013-06-03 16:47:15

如何控制日志切换频率呢?
通过控制日志文件的大小,来控制日志切换频率;大约10-30分钟切换一次

定期推送日志切换 --最近最短原则,如果日志组已经满了,但此时没有达到自动切换时间也会实现自动切换
            --随着日志的切换会有一个隐式的检查点动作,但不是马上完成,而是切换后慢慢完成

SYS@orcl11g> show parameter archive_lag_target

NAME             TYPE     VALUE
------------------------- ----------- ----------------
archive_lag_target    integer     0

SYS@orcl11g> alter system set archive_lag_target=300; 修改300秒(5分钟)切换一次日志

SYS@orcl11g> show parameter archive_lag_target

NAME               TYPE VALUE
------------------------------ ----------- ---------------------
archive_lag_target   integer 300

面试题:控制数据库只允许丢失10分钟之内的数据(考题的考点是 允许丢失10分钟日志)
日志切换频率在10分钟以内就可以了

V$LOG_HISTORY displays log history information from the control file.

Column                     Datatype Description
RECID                     NUMBER Control file record ID                                            控制文件记录ID
STAMP                     NUMBER Control file record stamp                                     控制文件记录时间戳
THREAD#                 NUMBER Thread number of the archived log         归档日志线程号
SEQUENCE#             NUMBER Sequence number of the archived log         归档日志序列号
FIRST_CHANGE#             NUMBER Lowest system change number (SCN) in the log 归档日志中的第一条重做记录的SCN。此列以前名为TIME
FIRST_TIME                 DATE     Time of the first entry (lowest SCN) in the log 日志中最低SCN。这个列以前名为FIRST_CHANGE#
NEXT_CHANGE#             NUMBER Highest SCN in the log                     下个日志文件中的第一条重做记录的SCN。此列以前名HOGH_CHANGE#
RESETLOGS_CHANGE# NUMBER     Resetlogs change number of the database when the log was written
RESETLOGS_TIME DATE                 Resetlogs time of the database when the log was written   

SYS@orcl11g>select * from v$log_history;
file://C:\Users\ADMINI~1\AppData\Local\Temp\ct_tmp/1.png


0 0
原创粉丝点击