我们有两台CentOS 6.2机器。一个运行Oracle 11g2,另一个运行我们自己的定制软件。软件从命令行调用SQL*Plus以执行一系列查询。其中一个查询使SQL*Plus崩溃,不给出任何警告/错误,只是直接转到命令行并退出并返回代码1。
我试着从SQL*Plus手动运行这个查询,同样的问题。我试着在本地数据库服务器上运行它,它就是工作。
运行我们自己软件的机器上的设置:我已经从数据库服务器复制了$ORACLE_HOME内容。将ORACLE_HOME设置为该路径将LD_LIBRARY_PATH设置为$ORACLE_HOME/lib将路径设置为$ path :$ORACLE_HOME/bin
SQL*Plus调用可以完美地工作,但不适用于特定类型的查询。有什么建议吗?
insert into DPF_RT_DATA_ANALYSIS (
run_id,
entity_name,
table_state,
state_type,
column_name,
ctype,
function,
step,
value,
occurences
)
select
'&RUN_ID',
'MUT_BAG_WPL_GMT',
'ANALYSIS_MUT_BAG_WPL_GMT',
'ANALYSIS',
'WOONPLAATS',
'Varchar2',
'MIN_FREQ',
step,
value,
occ
from (
select rownum step, colname value, freq occ
from (
select WOONPLAATS colname, count(WOONPLAATS) freq
from MUT_BAG_WPL_GMT
group by WOONPLAATS
order by freq asc
) where rownum <= 20
);
有没有人遇到过这个问题,或者对如何解决这个问题有什么建议?
发布于 2012-05-10 23:03:52
尝试为派生表添加别名,例如:
insert into DPF_RT_DATA_ANALYSIS (
run_id,
entity_name,
table_state,
state_type,
column_name,
ctype,
function,
step,
value,
occurences
)
select '&RUN_ID',
'MUT_BAG_WPL_GMT',
'ANALYSIS_MUT_BAG_WPL_GMT',
'ANALYSIS',
'WOONPLAATS',
'Varchar2',
'MIN_FREQ',
step,
value,
occ
from (
select rownum step,
colname value,
freq occ
from (
select WOONPLAATS colname,
count(WOONPLAATS) freq
from MUT_BAG_WPL_GMT
group by WOONPLAATS
order by freq asc
) a
where rownum <= 20
) b;
发布于 2012-05-11 19:04:02
该问题是由于SQL*Plus 11.2.0.1.0...我们已经更新到11.2.0.3.0,我们的问题似乎已经消失了。
https://stackoverflow.com/questions/10536804
复制相似问题