About ORA-03113: End of communication channel, ora-03113 Channel
Author: iamlaosong
A SQL query statement, successful execution or error, irrelevant to the statement, but related to the value in the condition, the error is the ORA-03113: The end of the communication channel file, is not very strange, the statement is as follows:
select * from tb_evt_dlv a, tb_jg b,tb_evt_mail_clct c where a.mail_num=c.mail_num and a.dlv_date between to_date('2014-11-1','yyyy-mm-dd') and to_date('2014-11-1','yyyy-mm-dd') and a.dlv_sts_code='I' and a.dlv_bureau_org_code =b.zj_code and a.dlv_bureau_org_code like '23009201%' order by b.city,b.ssxs,b.zj_code,a.dlv_date
For example, if you disable image 1, Figure 2 is displayed:
This error must have nothing to do with communication. This error was also encountered before. When the condition was "23007300", this organization still reported an error, but only reported an error in the table associated with sncn_zd_jg, now we can see that "23009201" also reports an error, which is more serious than that. The tb_jg and sncn_zd_jg tables for the Change Mechanism report an error (see:A strange query statement (unknown reason)). It's strange.
You can change '20160301' to '20160301', or change like '20160301' to = '20160301. As follows:
select * from tb_evt_dlv a, tb_jg b,tb_evt_mail_clct c where a.mail_num=c.mail_num and a.dlv_date between to_date('2014-12-10','yyyy-mm-dd') and to_date('2014-12-10','yyyy-mm-dd') and a.dlv_sts_code='I' and a.dlv_bureau_org_code =b.zj_code and a.dlv_bureau_org_code = '23009201' order by b.city,b.ssxs,b.zj_code,a.dlv_date
If you delete the last table and change it to the following statement, the statement can be successfully executed. As follows:
select * from tb_evt_dlv a, tb_jg b where a.dlv_date between to_date('2014-12-10','yyyy-mm-dd') and to_date('2014-12-10','yyyy-mm-dd') and a.dlv_sts_code='I' and a.dlv_bureau_org_code =b.zj_code and a.dlv_bureau_org_code like '23009201%' order by b.city,b.ssxs,b.zj_code,a.dlv_date
Based on previous experience, use the following statement to recreate tb_jg and sncn_zd_jg.
rename tb_jg to tb_jg1;create table tb_jg as select * from tb_jg1;
But I still don't know why? Are these tables sub-healthy? Or what are the hidden problems caused by the increase in the records of the past two days?