Nutanix Database Service(NDB)は、プロビジョニングする DBMS のパラメータを、データベース パラメータ プロファイルで設定します。今回は NDB Server UI では設定できない初期化パラメータを、REST API でプロファイルに追加してみます。
今回の内容です。
- 今回の環境
- NDB Server UI でのデータベース パラメータ プロファイル
- データベース パラメータを追加したプロファイルの作成
- 作成したプロファイルでプロビジョニングされたデータベースの様子
今回の環境
- NDB Server 2.5.2.1
- Nutanix CE 2.0
- Oracle Database 21c(21.3.0.0.0)
- curl(Linux マシンから実行)
NDB Server UI でのデータベース パラメータ プロファイル
デフォルトで用意される、Oracle Database のデータベース パラメータ プロファイル(DEFAULT_ORACLE_PARAMS)では、下記のように初期化パラメータが設定されています。
そして、Oracle Database のデータベース パラメータ プロファイルを新規作成する画面では、下記の初期化パラメータが設定できます。
- UNDO_TABLESPACE
- TEMP_TABLESPACE
- MEMORY_TARGET
- SGA_TARGET
- PGA_AGGREGATE_TARGET
- SHARED_SERVERS
- DB_BLOCK_SIZE
- PROCESSES
- JOB_QUEUE_PROCESSES
- NLS_LANGUAGE
- NLS_TERRITORY
これらのパラメータの入力画面は、下記のようになっています。
1/3
2/3
3/3
データベース パラメータを追加したプロファイルの作成
NDB Server UI でのデータベース パラメータ プロファイル作成画面では、入力フォームが用意されていないパラメータが追加できません。そこで、REST API でパラメータを追加してみます。今回は、設定されたことがわかりやすい max_idle_time を追加してみます。
REST API に渡す JSON データは、「同等の API」ボタンから取得しておきます。
デフォルトでは、下記のような JSON データが生成されています。
JSON データを、curl を実行するマシンに保存して、編集しておきます。
今回は下記のような JSON ファイルを作成しました。
ndb_oracle_param_custom.json
- 4行目:プロファイル名(oracle_param_custom)を追記
- 5行目: プロファイルの説明(Description)を追記
- 10行目~: 初期化パラメータを追記(max_idle_time: 2分)
curl コマンドで NDB の REST API をコールして、プロファイルを作成します。
NDB Server のアドレス、ユーザー、パスワードは、シェル変数に格納しておきます。
$ NDB=lab-ndb-01.go-lab.jp $ USER=admin $ PASS='パスワード'
curl で NDB API v0.9 の POST /profiles をコールしてプロファイルを作成します。
$ curl -k \ -X POST \ --url https://$NDB/era/v0.9/profiles \ -u "$USER:$PASS" \ -H 'Content-Type: application/json' \ -d @ndb_oracle_param_custom.json
NDB Server UI で、作成されたプロファイルに MAX_IDLE_TIME が追加されていることが確認できます。
作成したプロファイルでプロビジョニングされたデータベースの様子
作成したデータベース パラメータ プロファイル(oracle_param_custom)をもとに、データベース(Oracle インスタンス名は oradb)をプロビジョニングしてみます。
プロビジョニングされた Oracle Database で、max_idle_time:2 が設定されている oracle_param_custom プロファイルが割り当てられていることが確認できます。
sqlplus でプロビジョニングされた DB インスタンスに接続してみると、実際にmax_idle_time=2(デフォルトは0)が設定されていることが確認できました。
-bash-4.2$ sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Sat Sep 30 12:15:47 2023 Version 21.3.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 SQL> col HOST_NAME for a20 SQL> select INSTANCE_NAME,HOST_NAME from v$instance; INSTANCE_NAME HOST_NAME ---------------- -------------------- oradb ndb-oracle-sv-02 SQL> show parameter max_idle_time NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ max_idle_time integer 2 SQL>
以上。