Oracle ORAエラー

シングル環境で ORA-00845 が発生して DB が起動できなくなったときの対処法

ORA-00845 とは

カーネル (/dev/shm) に割り当てられているメモリよりも大きい値を MEMORY_TARGET に設定してしまうと、nomount 状態にもできず DB が起動しなくなる。

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

Grid (Restart, RAC) 環境の場合、こちらの記事を参考にしてね。

DB 起動までの対処法

spfile から pfile を作成

CREATE PFILE = '<パス>' FROM SPFILE;

実行例

SQL> CREATE PFILE FROM SPFILE;
File created.

パスを指定しない場合、デフォルト($ORACLE_HOME/dbs) 配下に作成される

pfile を直接編集

指定したパスに pfile が作成されているので、vim などで MEMORY_TARGET を小さな数字にする。

pfile から起動

startup pfile=<パス>

実行例

SQL> startup pfile=/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initorcl.ora;
ORACLE instance started.

Total System Global Area 1795162112 bytes

pfile から spfile を作成

create spfile from PFILE='<パス>';

実行例

SQL> create spfile from PFILE='/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initorcl.ora';

File created.

spfile から起動できることを確認

shutdown immediate;
startup;

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-Oracle, ORAエラー
-