0

2 台の CentOS 6.2 マシンがあります。1 つは Oracle 11g2 を実行し、もう 1 つは独自のカスタム ソフトウェアを実行しています。このソフトウェアは、コマンドラインから SQL*Plus を呼び出して、一連のクエリを実行します。これらのクエリの 1 つにより、SQL*Plus がクラッシュし、警告やエラーが発生せず、コマンド ラインに直接移動してコード 1 で終了します。

このクエリを SQL*Plus から手動で実行しようとしましたが、同じ問題です。データベースサーバーでローカルに実行しようとしましたが、うまくいきました。

独自のソフトウェアを実行しているマシンでのセットアップ: データベース サーバーから $ORACLE_HOME の内容をコピーしました。ORACLE_HOME をそのパスに設定します LD_LIBRARY_PATH を $ORACLE_HOME/lib に設定します PATH を $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
);

誰かがこの問題に遭遇したことがありますか、またはこの問題を解決する方法について提案がありますか?

4

2 に答える 2

0

この問題は、SQL*Plus 11.2.0.1.0 のバグが原因でした... 11.2.0.3.0 に更新したところ、問題は解消されたようです。

于 2012-05-11T11:04:02.493 に答える
0

派生テーブルのエイリアスを試してみてください。

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-10T15:03:51.887 に答える