0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RDS for Oracleでインスタンスクラス変更時に気をつけておくこと(初期化パラメータ)

Posted at

はじめに

パブクラ上のOracle Databaseのデフォルト初期化パラメータについての記事の中でRDS for Oracleのデフォルト初期化パラメータについても言及しました。
RDSではパラメータグループを利用するので、パラメータグループを予め設定しておけば予期せぬ変更は避けられます。

ただ、インスタンスクラスを変更する時に、パラメータグループの設定においてデフォルトで利用しているパラメータをそのままサイズアップして利用すると非効率になる場合があるので、その点について記載します。
なお、インスタンスクラス変更時の帯域変更等の影響についてはここでは述べません。

インスタンスクラス変更時に変わる初期化パラメータ

インスタンスクラスを変更すると、主としてVCPU数、メモリサイズが変更されます。
そのため、デフォルトではCPU_COUNT, PROCESSES等のVCPU数に関連があるパラメータと、SGA等のメモリ関連のパラメータが変更されます。

例として、t3.small → r5.4xlarge を行った時の初期化パラメータの変更点を下記します(19c、SE2)。
CPU数やメモリサイズ変更に伴う変更以外に、 use_large_pagesがFALSEからONLYになっていることが確認できます。

パラメータ t3.small
2VCPU
2GiB
r5.4xlarge
16VCPU
128GiB
processes 185 13520
sessions 300 20304
cpu_count 2 16
sga_max_size 1375731712 100126425088
use_large_pages FALSE ONLY
shared_pool_reserved_size 10905190 550292684
pga_aggregate_limit 2147483648 42530242560
sga_target 0 100126425088
memory_target 1375731712 0
memory_max_target 1375731712 0
db_writer_processes 1 2
log_buffer 7536640 237830144
dml_locks 1320 89336
transactions 330 22334
pga_aggregate_target 0 16679101440

ちなみにパラメータグループはコンソール上で比較することができて、地味に便利です。
マニュアル: DB パラメータグループを比較する

use_large_pages (HugePages)

インスタンスクラスの変更に伴い、use_large_pagesがFALSEからONLYに変更されています。
use_large_pagesはHugePagesという機能の利用を制御するパラメータです。
HugePagesを利用すると、多くのメモリを利用する場合にはデータベースのメモリ管理が効率化され、パフォーマンス向上が期待できます。

昨今はオンプレでOracle Databaseを構築する場合もメモリをたくさん積んでいることが多いので、HugePagesを設定している場合が多いと思います。そのため、有効化することでインスタンスのメモリ利用の効率化が期待できます。インスタンスクラスの変更を行う場合には、気にしておくと良いポイントと思います。

上記のマニュアルにも記載がありますが、以下のインスタンスクラスの場合にはデフォルトでHugePagesがオフの設定になっています。(DB インスタンスクラスのメモリが 14 GiB 以上であれば、これらの DB インスタンスクラスでも HugePages を手動で有効化が可能です)

インスタンスクラス HugePages がデフォルトで有効になっていない DB インスタンスクラス
db.m5 db.m5.large
db.m4 db.m4.large、db.m4.xlargedb.m4.2xlargedb.m4.4xlargedb.m4.10xlarge
db.t3 db.t3.micro、db.t3.small、db.t3.medium、db.t3.large

太字は14GiBより大きなメモリを持つ、斜字 はSE2では利用できないクラス

ちなみにHugePagesを利用するとAMM(自動メモリ管理)の機能が利用できません(MEMORY_TARGET、MEMORY_MAX_SIZE)。

まとめ

インスタンスクラス変更時に自身でパラメータグループを設定している場合、単純にパラメータの値だけ増やしたりすると、HugePagesの機能がオフになったままとなり、効率的にDBが運用できないこともありますので、CPU数やメモリサイズにあわせて適切な設計を予めしておきましょう。

なお、Oracle Database利用時のHugePagesについての説明はこちらのマニュアル HugePagesの概要 に記載があります。
制限とかも記載がありますが、RDSで利用する場合にはAMM(自動メモリ管理)が利用できない、という点くらいしか関係ないハズです。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?