ORA-00845: MEMORY_TARGET not supported on this system
始めるとき。
しかしながら、 df -h
ショー
tmpfs 7,9G 4,0K 7,9G 1% /dev/shm.
これは、メモリが十分にあることを示しています。原因は何でしょうか?
自動メモリ管理(AMM)を使用している可能性があります。
AMMは2つの初期化パラメーターを使用します。
共有メモリファイルシステムには、MEMORY_TARGETおよびMEMORY_MAX_TARGETの値を収容するのに十分なスペースが必要です。
検証します:
SQL> show parameter memory
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 6096M
memory_target big integer 6096M
shared_memory_address integer 0
NIX/Linuxでは、それに応じて共有メモリファイルシステムを設定する必要があります。
検証:
df -h /dev/shm
設定:
mount -t tmpfs shmfs -o size=<some_value_in_number_with_size> /dev/shm
たとえば、
mount -t tmpfs shmfs -o size=4096m /dev/shm
エラー原因:新しい自動メモリ管理機能は、SGAおよびPGA管理にLinuxで/ dev/shmを使用します。 MEMORY_TARGETまたはMEMORY_MAX_TARGETが構成済みの/ dev/shmサイズより大きく構成されている場合、または/ dev/shmが正しくマウントされていない場合、エラーが発生します。
解決策:Oracle_HOMEが正しく設定されていることを確認してください。このエラーは、正しく設定されていない場合に発生することがあります。
/ dev/shmサイズが次のように十分に大きく構成されていることを確認します。mount-t tmpfs shmfs -o size = 7g/dev/shm
注:アラートファイルで報告された内容に基づいて、/ dev/shmの「最適な」サイズをシステム管理者に確認する必要があります。
また、多くのベストプラクティスでは、特にメモリ容量が大きく、Huge/Largeページを使用できるExa * EngineeredボックスでAMMを無効にすることを推奨しています。これは、AMMとHuge/Largeページが相互に排他的であり、Hugeページを使用すると全体的なパフォーマンスが向上するためです。
システムでOracleを使用する場合、df出力に正しい/ dev/shm構成が表示されることを確認します。
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
...
shmfs 6291456 832356 5459100 14% /dev/shm
簡単な解決策は、/dev/shm fs
にスペースを追加することです。
# mount -t tmpfs shmfs -o size=5g /dev/shm
その他の概念と詳細については、ブログ投稿 ORA-00845:MEMORY_TARGETはこのシステムではサポートされていません を参照してください。
Memory_targetパラメーターの値を減らします
サーバー上の一時メモリの割り当てを増やします。
例えば
データベースの起動中にも同じエラーが発生しました。 pfileでmemory_targetパラメータを#アウトしてから、もう一度試してみましたが、うまくいきました。これで、データベースを起動できました。
このエラーは、tmpfs領域のOracleのメモリ設定が高い場合に発生します
このようなメモリパラメータの場合:
*.memory_max_target=20G
*.memory_target=0
*.sga_max_size=20G
*.sga_target=15G
*.pga_aggregate_target=5G
tmpfsのサイズは15Gです
スタートアップを発行すると、エラーora-00845が表示されます。tmpfsサイズを最大メモリ値よりも大きく設定する必要があります。
...
...
tmpfs /dev/shm tmpfs defaults,size25G 0 0
...
...
そして、tmpfsファイルシステムを再マウントします
#mount -o remount /dev/shm
その後、データベースが起動できるようになります