私のpl \ sqlプロセスでは、 "alter table exchange parition .."の実行があります。 いくつかのテーブルにあります。oracleオブジェクトは存在しません
問題は、その操作中に他のユーザーがターゲット表にアクセスしようとする可能性があることです。
ORA-08103オブジェクトが存在しなくなりました。
「オブジェクトまたはビューが存在しません」のように同じではないと思います。私はエラー「オブジェクトがもう存在しない」ということだと思いません、プロセスがOK起動したときに来て、
し、Exchange(またはその他の操作)
側から来て、プロセス
BOすることはできません完了しました。
交換は非常に速いため、起こる可能性は非常に低いです。
しかし、この場合、解決する方法はありますか?このような状況を防ぐ方法は?
おそらく誰もテーブルに触れない場合にのみ交換を実行する方法はありますか?
ありがとうございました。
これは、このテーブルを選択するすべてのプロセスで、dbms_lockの操作を追加する必要があるということですか? – user2671057
残念ながら、はい。 –
それは私にとって大きな問題です。おそらく、ターゲットテーブルが現在使用中であるかどうかをチェックし、変更プロセスにスリープ状態を与える良い方法がありますか? – user2671057