转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12204587

正确答案:A

重现ORA-01555快照过旧的错误。

[oracle@mydb admin]$ oerr ORA 01555
01555, 00000, "snapshot too old: rollback segment number %s with name \"%s\" too small"
// *Cause: rollback records needed by a reader for consistent read are
//         overwritten by other writers
// *Action: If in Automatic Undo Management mode, increase undo_retention
//          setting. Otherwise, use larger rollback segments

建undo表空间

gyj@OCM>  create undo tablespace undotbs2 datafile'/u01/app/oracle/oradata/ocm/undotbs2.dbf' size 10M;Tablespace created.gyj@OCM> alter system set undo_tablespace=undotbs2;System altered.gyj@OCM> alter system set undo_retention=2 scope=both;System altered.

第1步、session1: 目标是让b表报快照过旧的报错

gyj@OCM> conn gyj/gyj
Connected.
gyj@OCM> create table a (id int,cc varchar2(10));Table created.gyj@OCM>        insert into a values(1,'hello');1 row created.gyj@OCM> commit;Commit complete.gyj@OCM> create table b(id int,cc varchar2(10));Table created.gyj@OCM>        insert into b values(10,'AAAAAA');1 row created.gyj@OCM>        commit;Commit complete.gyj@OCM> select * from a;ID CC
---------- ----------1 hellogyj@OCM> select * from b;ID CC
---------- ----------10 AAAAAAgyj@OCM> var x refcursor;
gyj@OCM> exec open :x for select * fromb;PL/SQL procedure successfully completed.

第2步、session2:修改b表,字段cc前镜像"OK"保存在UDNO段中

gyj@OCM> update b set cc='BBBBBB' where id= 10;1 row updated.gyj@OCM>   commit;Commit complete.

第3步、session 3:该条语句就是刷新缓存

sys@OCM> alter system flush buffer_cache;System altered.

第4步、再开3-5个会话:在A表上行大的事务,多运行几次以确保,回滚段被覆盖

gyj@OCM> begin2     for i in 1..20000 loop3      update a set cc='HELLOWWWW';4      commit;5     end loop;6    end;7   /PL/SQL procedure successfully completed.

第5步、session 1:在B表上执行查询(第一步的查询)

gyj@OCM>  print :x
ERROR:
ORA-01555: snapshot too old: rollbacksegment number 21 with name "_SYSSMU21$" too small

ORA-01555快照过旧与Oracle的一致性读有关,一致性读的实现与UNDO有关。那什么是一致性读呢?

Oracle读一致性是指一个查询所获得的数据来自同一时间点。

一致性读在Oracle中是一个非常重要的概念, 大家一起跟着我先来做下面的一个实验:

gyj@OCM> create table gyj (id int,name varchar2(10));
Table created.
gyj@OCM> insert into gyj values(1,'GGGGGG');
1 row created.
gyj@OCM> commit;
Commit complete.
gyj@OCM> select * from gyj;ID NAME
---------- ----------1 GGGGGG
gyj@OCM> var x refcursor
gyj@OCM> exec open :x for select * from gyj;
PL/SQL procedure successfully completed.
gyj@OCM> update gyj set name='YYYYYY' where id=1;
1 row updated.
gyj@OCM> commit;
Commit complete.
gyj@OCM> update gyj set name='JJJJJJ' where id=1;
1 row updated.
gyj@OCM> commit;
Commit complete.
gyj@OCM> print :xID NAME
---------- ----------1 GGGGGG

能真正看懂为什么 print 所显示的这个结果是 GGGGGG ,而并不是 JJJJJJ ,那就说明你对一致性读已了解过了。

答案B不正确,与闪回区无关。

答案C不正确,与闪回归档日志无关。

答案D不正确,这个查询去UNDO表空间中去读前镜像的值,这个前镜像被覆盖了。

ORA-01555快照过旧解决办法:

(1) 加大UNDO表空间的大小。

(2) 减少查询条件范围。

QQ:252803295

技术交流QQ群:
DSI&Core Search  Ⅰ 群:127149411(2000人技术群:未满)
DSI&Core Search  Ⅱ 群:177089463(1000人技术群:未满)
DSI&Core Search  Ⅲ 群:284596437(500人技术群:未满)
DSI&Core Search  Ⅳ 群:192136702(500人技术群:未满)
DSI&Core Search  Ⅴ 群:285030382(500人闲聊群:未满)

MAIL:dbathink@hotmail.com

BLOG: http://blog.csdn.net/guoyjoe

WEIBO:http://weibo.com/guoyJoe0218

ITPUB: http://www.itpub.net/space-uid-28460966.html

OCM:   http://education.oracle.com/education/otn/YGuo.HTM

[每日一题] 11gOCP 1z0-052 :2013-09-28 ORA-01555: snapshot too old......................C52相关推荐

  1. [每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure........................................A20...

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/10859315 正确答案:D 一.模拟上题的错误: 1.删除4号文件 [oracle@myd ...

  2. [每日一题] 11gOCP 1z0-052 :2013-09-23 Oracle11g 内存参数设置...................................C7...

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11924597 正确答案:CD(题库给出的答案是AD,大家要相信自己,有些答案是错的!一切以 ...

  3. [每日一题] 11gOCP 1z0-052 :2013-09-24 temporary tables.........................................C11...

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/11991583 正确答案:ACE 建临表有两种类型: 分别创建如下: (1)当提交时,将自动 ...

  4. [每日一题] 11gOCP 1z0-053 :2013-09-29 Flashback Data Archive ...................................6...

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12205299 正确答案:A 具体请参考:http://blog.csdn.net/guoy ...

  5. [每日一题] 11gOCP 1z0-053 :2013-10-1 persistent lightweight jobs...........................11

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12224335 正确答案:BCE 轻量级作业 创建和启动一个作业涉及数据字典中一定量的活动. ...

  6. (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.14 生成函数 + 多项式求逆 Pr ...

  7. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  8. Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...

  9. 【解题报告】Leecode 423. 从英文中重建数字——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十五天 题目链接:https://leetcode-cn.com/problems/reconstruct-original-digits-from-english/ 题解 ...

最新文章

  1. Kafka面试题及答案整理 110道 (持续更新)
  2. 院士论坛|李德仁:测绘遥感能为智能驾驶做什么? ——论测绘遥感与智能驾驶
  3. Docker将镜像上传至私有仓库
  4. Android:简易单词本(三)
  5. Linux时间子系统之(十二):periodic tick
  6. mysql binlog 订阅_数据库binlog订阅和消费组件canal快速入门
  7. js中的弹窗alert、confirm和prompt
  8. 沉梦云商城系统2.1.7免授权源码+搭建教程
  9. mac ipmessage
  10. 微信小程序访问豆瓣电影api400错误解决方法
  11. 功能测试常用6种方法_云端功能测试:更好的12种方法
  12. CF1109F Sasha and Algorithm of Silence's Sounds LCT、线段树
  13. python中引用javascript代码块
  14. android 辅助音量放大,为什么总是感觉手机音量太小?教你开启这个功能,声音瞬间放大一倍...
  15. 高中英语老师教师资格证考试成功通过前辈备考经验谈
  16. 集成学习方法及思想总结
  17. 关于太阳(卫星)天顶角,太阳高度角,太阳方位角
  18. 有2n个硬币,其中除一个略重外,其余2n-1个都一样重。
  19. 从20+分公司的签约,看中通云仓的“数字商流”
  20. 如何让女朋友说Yes I Do,数据分析助力客户管理秘籍

热门文章

  1. Android开发实例-Android平台手机新闻客户端
  2. JAVA8实战 -- Lamdba表达式
  3. 【已失效】免翻在Chrome上使用新必应(New Bing)聊天机器人
  4. python h5py详解
  5. Python py文件如何调用其他py文件
  6. 牛逼的python代码_几段牛逼的 Python 代码理解面向对象
  7. 华东,聚集中国最多的女药代
  8. java过滤汉字和英文,java判断及过滤汉字
  9. 购物小票的巧妙新设计
  10. 如何给Windows计算机加域