Oracleのデータベースが停止

朝、あるアプリケーションでログインできないとか。いつものことながら「オレ語」で報告されてくるのでなにがなんだかよくわからない。やっとのことでURIとか、現象などを聞き出してどうやらアプリケーションを特定。
現象を追っかけてバックエンド側のOracleDBインスタンスに接続できてないことがわかりました。

DBサーバへ入ってsqlplusで当該インスタンスに接続すると、idleになっている。

SQL> conn system/manager as sysdba ;
Connected to an idle instance.

とりあえず再起動してみよう。

SQL> shutdown immediate ;
ORA-04031: ???????32????????????("shared pool"?"unknown object"?"KGLH0^ae4fab53"?"kglHeapInitialize:temp")
ORA-04031: ???????32????????????("shared pool"?"unknown object"?"KGLH0^592bf3ba"?"kglHeapInitialize:temp")

shutdownが効かない。エラーメッセージによるとどうやらshared_poolが足りないようです。
変更すればいいんだろうけど、管理外のためとりあえずforce startして様子見。

SQL> startup force

マニュアルによると「通常は使用しないでください」とのこと。実際Oracle管理して20年ほど経つけど多分初めてつかった。