11G real time query,BUG不是一般的多

作者:八神 | 分类: 大话技术 | 标签: | 日期:2009-09-06

以前11G的主库对表做了truncate ,在备库查询这张表,有时候会遇到ORA-08103: object no longer exists ,需要激活standby或者打补丁才能解决
现在11.1.0.7上,也出现了一系列的关于ddl定义的BUG,
因为物理standby的redo apply是基于数据块级别的,他不像我们走正常的SQL调用,所以,主库做了DDL,会引起shared pool里面数据字典新的的一系列更新,而在备库上,redo只负责把datafile block刷新了,但shared pool里的内容,却没有刷新完全
 
–主库:
sys@CRMG>   desc b
 Name                                                                                Null?    Type
 ———————————————————————————– ——– ——————————————————–
 A                                                                                            DATE
 C 
 
–备库:
@>    desc b
 Name                                                                                Null?    Type
 ———————————————————————————– ——– ——————————————————–
 A                                                                                            DATE
 C                                                                                            DATE
–主库:
sys@CRMG>rename b to c;
Table renamed.
sys@CRMG>   desc c
 Name                                                                                Null?    Type
 ———————————————————————————– ——– ——————————————————–
 A                                                                                            DATE
 C 
 
sys@CRMG> insert into c select sysdate,sysdate from user_objects;
8606 rows created.
sys@CRMG>commit;
Commit complete.
 
–备库:
@>desc c;
 Name                                                                                Null?    Type
 ———————————————————————————– ——– ——————————————————–
 A                                                                                            DATE
 C                                                                                            DATE
@>desc b
 Name                                                                                Null?    Type
 ———————————————————————————– ——– ——————————————————–
 A                                                                                            DATE
 C
 
@>select count(*) from c;
  COUNT(*)
———-
      8606
Elapsed: 00:00:00.00
@>select count(*) from b;
  COUNT(*)
———-
      8606
     
@>SELECT OBJECT_NAME,object_id,data_object_id from user_objects where object_name IN (’C',’B');
OBJECT_NAM  OBJECT_ID DATA_OBJECT_ID
———- ———- ————–
C               16799          16799
–手工刷新
@>alter system flush SHARED_POOL;
System altered.
Elapsed: 00:00:00.76
@>select count(*) from b;
select count(*) from b
                     *
ERROR at line 1:
ORA-00942: table or view does not exist
Elapsed: 00:00:00.03
@>

7人发表了评论  ↓发表评论↓
  • 太高深, 看不懂 。

    入党申请书范文 @ September 7, 2009 |

  • 请教各位前辈,我在vmware中做了无数次测试都碰到这样的问题,不知道如解决:

    问题1:逻辑卷做asm标志成功后,重启系统标志丢失,但硬盘分区就没这现象!!

    # /etc/init.d/oracleasm createdisk VOL1 /dev/mapper/VolGroup01-LogVol01
    #提示标志成功
    # /etc/init.d/oracleasm createdisk VOL2 /dev/sdb1
    #提示标志成功

    # /etc/init.d/oracleasm listdisks
    #可看到两个asm盘

    #然后重启系统
    # reboot

    #再次检查
    # /etc/init.d/oracleasm listdisks
    #可看到VOL2

    #再次标记
    # /etc/init.d/oracleasm createdisk VOL1 /dev/mapper/VolGroup01-LogVol01
    #提示失败。(VolGroup01-LogVol01已经标记过了)

    问题2:

    #配置/etc/udev/rules.d/60-raw.rules
    #绑定逻辑卷到raw1
    ACTION==”add”, ENV{MAJOR}==”253″, ENV{MINOR}==”5″, RUN+=”/bin/raw /dev/raw/raw1 %M %m”
    #绑定物理分区到raw2
    ACTION==”add”, ENV{MAJOR}==”8″, ENV{MINOR}==”65″, RUN+=”/bin/raw /dev/raw/raw2 %M %m”
    KERNEL==”raw1″, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
    KERNEL==”raw2″, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″

    #然后重启系统
    #查看raw设置
    # raw -qa
    #只能看到raw2,raw1不存在

    环境:rhel5+oracle11gR1

    以上问题困惑我很长时间了,今天无意中看到alibaba数据团队的这个博客,特向各位前辈请教,希望能在不忙的时候帮我解答一下。

    我的邮箱:6119968@qq.com,希望能和各位交流一起oracle技术。

    多谢了!

    think @ September 18, 2009 |

  • http://www.itpub.net/thread-1226087-1-1.html

    请帮忙解决一下,不知道是什么原因?也不知道问题出在哪?

    还想问下,阿里利用broker如何实现自动switchover和failover的?

    javen @ October 15, 2009 |

  • 这个问题,11.2.0.1依然存在

    NinGoo @ November 2, 2009 |

  • 那请教楼上大哥,这个问题是oracle/linux本身的bug,并非我操作过程的错误,对吗?

    think @ November 6, 2009 |

  • (⊙ˍ⊙)>﹏<

    SWM工法 @ December 23, 2009 |

  • (⊙ˍ⊙)>﹏<

    smw工法 @ December 23, 2009 |

表情:<( ̄︶ ̄)> | (⊙ˍ⊙) | >﹏< | b( ̄▽ ̄)d | (─.─||) | (^_-)

[ Ctrl+Enter提交 ]

DBA