執行SQL語句遇到3113錯誤
語句為:
select case a.pk_corp when '1014' then '010501'
when '1100' then '292101'
when '1002' then '011401' end as unit_code,
b.code,a.stocks_num,a.stocks_sum from
htnc.Nc_sim_secstockbalance a,
htnc.nc_sim_securities b,
(select pk_corp,pk_securities,max(trade_date) as trade_date
from htnc.Nc_sim_secstockbalance
where pk_corp in ('1014','1100','1002')
and state=0
group by pk_corp,pk_securities) c
where a.pk_securities = c.pk_securities
and a.pk_securities = b.pk_securities
and a.pk_corp = c.pk_corp
and a.trade_date = c.trade_date
and a.pk_corp in ('1014','1100','1002')
and a.state = 0
order by a.pk_corp,b.code
執行該語句後出現的錯誤為:
ORA-03113: end-of-file on communication channel
警告日誌中出現的錯誤為:
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [] [] [] [] [] []
解決辦法:
1、應用PATCH
2、Put a "no_merge" hint for the view or disable star transformation
修改上面的語句為:
select /*+ NO_MERGE(c) */ case a.pk_corp when '1014' then '010501'
when '1100' then '292101'
when '1002' then '011401' end as unit_code,
b.code,a.stocks_num,a.stocks_sum from
htnc.Nc_sim_secstockbalance a,
htnc.nc_sim_securities b,
(select pk_corp,pk_securities,max(trade_date) as trade_date
from htnc.Nc_sim_secstockbalance
where pk_corp in ('1014','1100','1002')
and state=0
group by pk_corp,pk_securities) c
where a.pk_securities = c.pk_securities
and a.pk_securities = b.pk_securities
and a.pk_corp = c.pk_corp
and a.trade_date = c.trade_date
and a.pk_corp in ('1014','1100','1002')
and a.state = 0
order by a.pk_corp,b.code
再執行,問題解決
如何disable star transformation:
alter system set star_transformation_enabled=false scope=spfile;
重新啟動資料庫後生效。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/85922/viewspace-924448/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql語句錯誤SQL
- sql語句批量執行SQL
- sql語句如何執行的SQL
- SQL語句執行順序SQL
- 執行大的sql語句SQL
- toad執行sql語句SQL
- SQL Server SQL語句執行順序SQLServer
- Oracle資料庫多條sql執行語句出現錯誤時的控制方式Oracle資料庫SQL
- mysql執行sql語句過程MySql
- Mybatis 動態執行SQL語句MyBatisSQL
- mysql的sql語句執行流程MySql
- sql語句執行緩慢分析SQL
- SQL 語句的執行順序SQL
- 後臺執行SQL語句(oracle)SQLOracle
- Hibernate 執行原始SQL語句SQL
- Oracle SQL語句執行步驟OracleSQL
- 查詢正在執行的sql語句及該語句執行的時間SQL
- 通過分析SQL語句的執行計劃優化SQL語句SQL優化
- 透過ORA錯誤反思sql語句規範SQL
- 通過ORA錯誤反思sql語句規範SQL
- 依據錯誤號來跟蹤sql語句SQL
- Laravel 獲取執行的sql語句LaravelSQL
- MySQL cron定時執行SQL語句MySql
- 查詢執行慢的SQL語句SQL
- SQL語句執行過程詳解SQL
- CoreData執行過程的sql語句SQL
- 識別低效執行的SQL語句SQL
- sql語句執行過程小結SQL
- 剖析SQL語句的執行過程SQL
- 快速定位sql語句執行內容SQL
- 在事務中執行sql語句SQL
- 查詢sql語句執行次數SQL
- 在nhibernate中執行SQL語句SQL
- Oracle SQL 語句的執行過程OracleSQL
- 清除SQL語句的執行計劃SQL
- SQL語句執行進度檢查SQL
- 查詢正在執行的SQL語句SQL
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL