そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

ORA-00845: MEMORY_TARGET not supported on this systemの対処方法

※[PR]当ブログの記事の中にはプロモーションが含まれています。

ORACLEの起動時のエラー「ORA-00845: MEMORY_TARGET not supported on this system」の対処法を教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. ORA-00845: MEMORY_TARGET not supported on this system の対処方法

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

ORA-00845: MEMORY_TARGET not supported on this system の対処方法

Oracleデータベースの起動時に「ORA-00845」エラーが出て起動できないことがあります。
メモリ不足が原因です。

発生した事象

サーバーを起動してもOracleデータベースが起動できません。

アイドルインスタンスに接続してみる

sqlplus / as sysdba
[oracle@SV-PLUTO]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 月 1228 08:58:57 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

アイドル・インスタンスに接続しました。

CDB、PDBの状態を確認

 show con_name
[SYS@ORCLCDB] SQL>show con_name
ERROR:
ORA-01034: ORACLE not available
プロセスID: 0
セッションID: 0、シリアル番号: 0


SP2-1545: この機能にはデータベースの可用性が必要です。
show pdbs
[SYS@ORCLCDB] SQL>show pdbs
ERROR:
ORA-01034: ORACLE not available
プロセスID: 0
セッションID: 0、シリアル番号: 0


SP2-1545: この機能にはデータベースの可用性が必要です。

startupコマンドで起動しようとしてみる

startup
[@ORCLCDB] SQL>startup
ORA-00845: MEMORY_TARGET not supported on this system

調査

/dev/shm領域のサイズ確認

df -h /dev/shm
[oracle@SV-PLUTO ~]$ df -k /dev/shm
ファイルシス   1K-ブロック  使用  使用可 使用% マウント位置
tmpfs              1399588     0 1399588    0% /dev/shm

spfileでの「memory_target」の値を確認

 /opt/oracle/product/19c/dbhome_1/dbs/spfileORCLCDB.ora
ORCLCDB.__pga_aggregate_target=536870912
ORCLCDB.__sga_target=1006632960
*.memory_target=1470m

/dev/shm領域で使用可能なサイズが、1,366MB (1,399,588KB) なのに対して、
spfileで指定されているMEMORY_TARGETのサイズが1,470MB (SGA=960MB, PGA=512MB)
なので、/dev/shm領域のサイズが不足している状態でした。

対応

一度、OSをシャットダウンして、仮想マシンのメモリ割当てを増やします。

メモリ追加してOS再起動後の確認

/dev/shm領域のサイズを確認

[oracle@SV-PLUTO ~]$ df -k /dev/shm
ファイルシス   1K-ブロック   使用 使用可 使用% マウント位置
tmpfs              1624656 983040 641616   61% /dev/shm

サイズが1,586MB に増えて、その内960MBが使用中になっていました。

Oracleに接続して確認

sqlplus / as sysdba
[oracle@SV-PLUTO sho1ro]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on1228 09:44:14 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
show con_name
[SYS@ORCLCDB] SQL>show con_name

CON_NAME
------------------------------
CDB$ROOT
show pdbs
[SYS@ORCLCDB] SQL>show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB1                       READ WRITE NO
         5 FINDTPDB                       READ WRITE NO

きちんと接続できて、PDBもオープンしていました。

Oracleパラーメタの確認

show sga
[SYS@ORCLCDB] SQL>show sga

Total System Global Area 1543500832 bytes
Fixed Size                  9135136 bytes
Variable Size            1157627904 bytes
Database Buffers          369098752 bytes
Redo Buffers                7639040 bytes
show parameter memory_target
[SYS@ORCLCDB] SQL>show parameter memory_target

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
memory_target                        big integer 1472M

ラクルデータベースのおススメの勉強法の紹介

私は、某SIerに勤務しながら、入社以来10年以上、オラクルデータベースを使用したシステムに関わる仕事をしています。

ラクルデータベースについて、仕事場以外でも勉強をしたい、おススメの勉強法を知りたい、と考えている方のために、 おすすめの書籍を紹介します。

働きながら勉強するための、おススメの書籍とオンラインで学習できるサイトの紹介です

ラクルデータベースの勉強ができるおススメ書籍

朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。

Oracleの基本 ~データベース入門から設計/運用の初歩まで

技術エキスパートとして認定されたOracle ACEの渡部亮太さんの書かれた本です。

twitter.com

本書では、Oracle初心者/新人エンジニアが押さえておくべき知識とスキルを、現場で活躍するOracleエンジニアたちが、わかりやすく丁寧に解説。
Oracleの使い方はもちろん、データベースの基礎知識から、データ操作のためのSQL、テーブル設計、データベース運用/管理の基礎までしっかり押さえ、実務で使える入門スキルを身につけられます。
Oracleを学びたいすべての人に最適な入門書です。

Oracleの基本 ~データベース入門から設計/運用の初歩まで

プロとしてのOracleアーキテクチャ入門【第2版】

もう1冊、こちらもOracle ACEの渡部亮太さんの書かれた本です。

本書は、Oracle Databaseのアーキテクチャ(内部構成)について解説した入門書です。 本書の内容を理解することで「Oracleの動作の仕組み」を本質的に理解することができます。 これからOracleを使用する初心者の方から、実際にシステムの開発や運用管理を行っている DBエンジニアやシステムエンジニアの方を対象としています。

プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応) 図解と実例解説で学ぶ、データベースの仕組み (Oracle現場主義)