Archive for September, 2009

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

Sunday, September 6th, 2009

以前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                                                                                [...]

阿里巴巴DBA出品