たまに、人は永遠に存在しているが、彼らにとっては新しい経験である何かに出くわします。ちょうど今日、私はキャリアの中で初めてORA-1097エラーに遭遇しました。私はテストデータベースにいて、それをシャットダウンする必要がありました。
SQL> shutdown immediate ORA-01097: cannot shutdown while in a transaction - commit or rollback first解決策は明らかです。トランザクションをコミットするか、ロールバックしてから続行できます。
SQL> commit; Commit complete. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.エラー数が非常に少ないので、これは非常に長い間存在していたに違いありません。最初、私はそのエラーにびっくりしました。インスタンスをシャットダウンできないとはどういう意味ですか?次に、エラーメッセージを読んで、何が起こっているのかを理解しました。これは理にかなっていると思います。 Oracleは、シャットダウンを開始する前に、トランザクションをどう処理するかを知りたいと考えています。 SHUTDOWN ABORTを実行すると、Oracleはこのメッセージを表示しませんが、インスタンスのリカバリ時にトランザクションをロールバックします。話の教訓は、長い間見ていて、たくさん見たとしても、見たことがないということです。すべて。