・ORACLEの起動時のエラー「ORA-00845: MEMORY_TARGET not supported on this system」の対処法を教えてほしい。
こういった疑問に答えます。
本記事の内容
- 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 月 12月 28 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 on 月 12月 28 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の渡部亮太さんの書かれた本です。
本書では、Oracle初心者/新人エンジニアが押さえておくべき知識とスキルを、現場で活躍するOracleエンジニアたちが、わかりやすく丁寧に解説。
Oracleの使い方はもちろん、データベースの基礎知識から、データ操作のためのSQL、テーブル設計、データベース運用/管理の基礎までしっかり押さえ、実務で使える入門スキルを身につけられます。
Oracleを学びたいすべての人に最適な入門書です。
Oracleの基本 ~データベース入門から設計/運用の初歩まで |
プロとしてのOracleアーキテクチャ入門【第2版】
もう1冊、こちらもOracle ACEの渡部亮太さんの書かれた本です。
本書は、Oracle Databaseのアーキテクチャ(内部構成)について解説した入門書です。 本書の内容を理解することで「Oracleの動作の仕組み」を本質的に理解することができます。 これからOracleを使用する初心者の方から、実際にシステムの開発や運用管理を行っている DBエンジニアやシステムエンジニアの方を対象としています。
プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応) 図解と実例解説で学ぶ、データベースの仕組み (Oracle現場主義) |