アプリ版:「スタンプのみでお礼する」機能のリリースについて

すごく不思議ですが、ORA-00001 一意制約に反しています とメッセージが表れると、それ以外のすべてが約10分位毎回ORA-00001 一意制約に反しています とメッセージが表れ続けます。そして、システムダウンしたり、オーバーフローしていますとメッセージが表れてすべての項目がくくくくくと表示されたりしますが、時間が立つと同じことをしているのに、update出来ました。それも不思議です。私はDBA権限がないので、調べることが出来る環境がありません。どうしてこうなるか、詳しい方、教えて下さい。
システムダウンする度に再起動したり、しばらく更新出来なくなってしまうので、症状をハードコピーして伝えましたが、エラーではない‼君の入力が悪いとしか回答がありません。一意制約違反が本当なら時間が立っても登録が出来てはいけないはずなのに、登録が出来てしまいましたので、気持ち悪いです。どんな原因が考えられるか、詳しい方、見解をお聞かせください。

A 回答 (1件)

まあ、想像ですが、すでに削除状態のデータなんだけど、自分が読み込んだときには存在していて、その後に削除された。


でも、自分の環境からは、削除前のデータが見えているから、一意制約違反になる。

なぜか、システムダウンとか、再起動とかが発生して、それで最新データの参照状態になると、削除済データは自分の環境から見えなくなる。
そのため、正常に更新できてしまう、とか・・・。

余談

OracleのIndexはData本体と完全に一致しなくなることがあります。
先日、テスト用のOracle DBを自分のPCにインストールしてC#から使おうとしました。
で、テストデータを追加投入しようとしたら、エラーが発生して登録できない・・・。

ネットで調べてみると、データとインデックスの不整合が発生することがあり、この場合は、Indexの再構築が必要だということでした。
そうなんだ・・、と思って、Indexの再構築の命令を実行したら、キーの重複エラーがあって再構築できないとのエラーが返ってきました。

そんなバカな?たしかに重複したキーのデータがあったかもしれないが、そんなのあれば登録処理時に弾かれたはず・・・。

と混乱してきました。で、時間が惜しいので、Drop Table実行して、もう一度作りなおしたらうまくいきました。
ひさしぶりのOracleにいろいろ戸惑うこのごろです。
    • good
    • 2
この回答へのお礼

助かりました

ありがとうございます!

お礼日時:2016/09/11 08:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A