日志组的切换:
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;
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;