Oracle如何决定日志切换到剩下的那个日志组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle如何决定日志切换到剩下的那个日志组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1779字,纯文字阅读大概需要3分钟。
内容图文
我们知道,当前在线日志被写满的时候,或者达到某些条件,或者人为切换日志时,oracle就会发生日志切换工作,即使当前在线日志组
我们知道,当前在线日志被写满的时候,或者达到某些条件,或者人为切换日志时,Oracle就会发生日志切换工作,即使当前在线日志组从这个日志组到另外一个日志组,实现日志的循环机制。那么oracle怎么决定下一个当前在线日志组是剩下中的哪一个日志组呢?
做了一个简单小实验,可以说明这个问题。
我们首先来看看,当然日志组的情况:
SQL> select GROUP#,SEQUENCE#,ARCHIVED,STATUS from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 44 YES ACTIVE
2 45 NO CURRENT
3 43 YES INACTIVE
然后,我们clear日志组1,好让它的sequence#小于当前日志组3的42
SQL> alter database clear unarchived logfile group 1;
数据库已更改。
SQL> select GROUP#,SEQUENCE#,ARCHIVED,STATUS from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 0 YES UNUSED
2 45 NO CURRENT
3 43 YES INACTIVE
之后,,我们切换当前日志组,看看发生什么情况?
SQL> alter system switch logfile;
系统已更改。
SQL> select GROUP#,SEQUENCE#,ARCHIVED,STATUS from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 46 NO CURRENT
2 45 YES ACTIVE
3 43 YES INACTIVE
最后,我们再次的切换一次日志,更加证明我们的猜测:
SQL> alter system switch logfile;
系统已更改。
SQL> select GROUP#,SEQUENCE#,ARCHIVED,STATUS from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 46 YES ACTIVE
2 45 YES ACTIVE
3 43 NO CURRENT
从上面这个实验,我们可以轻松的看到oracle日志切换时,选择下一个当前日志组的规律,就是:总是切换到剩下的日志组中log sequence#最小的日志组。
内容总结
以上是互联网集市为您收集整理的Oracle如何决定日志切换到剩下的那个日志组全部内容,希望文章能够帮你解决Oracle如何决定日志切换到剩下的那个日志组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。