oracle rodo 查看大小,Checkpoint not complete故障

news/2024/7/7 18:29:11

Checkpoint not complete故障

一、故障现象:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Checkpoint not complete

Current log# 3 seq# 30192 mem# 0: /u01/app/oracle/oradata/yingxiang/redo03.log

Thread 1 advanced to log sequence 30193 (LGWR switch)

Current log# 1 seq# 30193 mem# 0: /u01/app/oracle/oradata/yingxiang/redo01.log

Thu Dec 26 18:47:05 2013

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、故障分析:

1.概念:

rodo log file(重做日志文件)---在线重做日志

checkpointing(检查点)

data block writer (数据块写入器DBWn)

2.分析:

在DBWn在完成其检查点之前就像使用日志文件,就会在数据库的alert日志之出现此类故障现象,此时oracle会尽可能的把所用处理能力都交给DBWn,希望它能更快的完成,此时应用就感觉很慢了

结论有了,原理是什么?

2.1redo是DB的事务日志,通常用于恢复(一看见“恢复”字样,立马想到“重要”、“救命的”)

1)系统崩溃后的实例恢复;

2)通过备份数据文件之后恢复介质;

3)备用(standy)数据处理;

4)重做日志挖掘

2.2在线重做日志文件

在oracle中完成的每一个操作都会生成一定的redo信息,并写入在线重做日志文件。每个oracle数据库至少有两个在线重做日志文件组,每个组至少有一个成员。(谁要是面试时说至少3个日志组

,说明您有工作经验,呵呵!)重做日志文件成员之间是彼此镜像的,所以在工作中确保安全、可用建立多个redo日志成员。这些成员文件大小是固定的,并可以循环使用,这就引出log switch(日

志切换),当日志切换时会产生检查点,此时DBWn开始将日志文件组1所保护的所有脏块写到磁盘。(所以......)

3.故障解决----

3.1查看日志文件位置:

select member from v$logfile;

3.2增加日志文件成员:

ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo01_b.log' TO GROUP 1;

ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo02_b.log' TO GROUP 2;

ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/yingxiang/redo03_b.log' TO GROUP 3;

3.3增加日志组

ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/yingxiang/redo04_a.log','/u01/app/oracle/oradata/yingxiang/redo04_b.log') SIZE 50m;

ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/yingxiang/redo05_a.log','/u01/app/oracle/oradata/yingxiang/redo05_b.log') SIZE 50m;

3.4检查添加状态:

select member from v$logfile;

SELECT GROUP#, THREAD#, BYTES, MEMBERS, ARCHIVED, STATUS FROM v$log;

3.5修改日志组大小:

alter system switch logfile(强制日志切换)

alter database drop logfile group 1;

ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/yingxiang/redo01_a.log','/u01/app/oracle/oradata/yingxiang/redo01_b.log') SIZE 100m;

GROUP#    THREAD#      BYTES    MEMBERS ARC STATUS

---------- ---------- ---------- ---------- --- ----------------

1          1  104857600          2 YES INACTIVE

2          1  104857600          2 YES INACTIVE

3          1  104857600          2 NO  CURRENT

4          1  104857600          2 YES INACTIVE

5          1  104857600          2 YES INACTIVE

3.6观察alert是否正常。

向Secooler 致敬!

Jonhson

13-12-26

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20985606/viewspace-1064845/,如需转载,请注明出处,否则将追究法律责任。


http://lihuaxi.xjx100.cn/news/286922.html

相关文章

原来,1999年已经是20年前了

作者:小武来源:一只武(ID:xiaowuwaimai)父母的修养,未来不可见,过去真实存在。岁月是神偷,轻易偷走最珍贵的时间。往事不可追,唯有回忆作陪。1999年的你,年龄…

2018热点总结:BERT最热,GANs最活跃,每20分钟就有一篇论文...

作者 | Ross Taylor 译者 | linstancy 整理 | Jane 出品 | AI科技大本营 【导读】本文的作者 Ross Taylor 和 Robert Stojnic 在今年一起启动了一个名为“Paper with Code”的项目,将 AI 领域的一些研究论文和论文开源代码结合展示,方便大家学习与研究…

SQLite的数据类型总结

2019独角兽企业重金招聘Python工程师标准>>> 一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。SQLite具有以下五种数据类型: 1.NULL:空值。2.INTEGER:带符号的整型&…

关于NameError: name ‘sns‘ is not defined->ModuleNotFoundError: No module named ‘seaborn‘错误提示

添加:import seaborn as sns 添加这句之后又出现这个错误: 2.ModuleNotFoundError: No module named seaborn 下载seaborn: 方法一:Anaconda Prompt->activate tensorflow (创建tensorflow环境)->输入: pip inst…

Codeforces Round #672 (Div. 2)D. Rescue Nibel![扫描线解决区间问题]

题目链接 题目大意:就是给你n个区间,从中选出k个区间,这k个区间共同覆盖了同一个点,问有多少种选法?结果mod 998244353 解题思路:1.首先我们可以这么想:我们把区间左端点赋值为1,右端…

解读算法「时间」与「空间」复杂度——冰与火之歌

作者 | 程序员小吴来源 | 五分钟学算法算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,比如排序就有前面的十大经典排序和几种奇葩排序&#x…

关于NameError: name ‘train_test_split‘ is not defined错误提示

添加:from sklearn.model_selection import train_test_split

用Python偷偷告诉你国庆8亿人都去哪儿浪?

2019 年国庆到来啦!今年想着来点新花样吧那去哪里玩人少 big 还高呢?一、目标使用 Python 分析出国庆哪些旅游景点:好玩、便宜、人还少的地方,不然拍照都要抢着拍!二、获取数据既然做数据分析肯定要先搞到数据&#xf…