Oracleを管理対象にする場合は、必要に応じてデータベース種別ごとに以下のセクションを定義します。
Non-CDB:[ORA]セクション
CDB:[ORACDB]、[ATTR::DB]セクション
PDB:[ORAPDB]、[ATTR::DB]セクション
【[ORA]、[ORACDB]、[ORAPDB]セクション】
項目 | 定義内容 | 定義例 |
---|---|---|
[ORA] | セクション名です。管理対象のデータベース種別がNon-CDBの場合に使用します。 1つのインスタンスを監視する場合は変更しないでください。 2つ以上のインスタンスを監視する場合は、後述の【2つ以上のOracleインスタンスを監視する場合】を参照してください。 | ORA |
[ORACDB] | セクション名です。管理対象のデータベース種別がCDBの場合に使用します。 1つのインスタンスを監視する場合は変更しないでください。 2つ以上のインスタンスを監視する場合は、後述の【2つ以上のOracleインスタンスを監視する場合】を参照してください。 | ORACDB |
[ORAPDB] | セクション名です。管理対象のデータベース種別がPDBの場合に使用します。 1つのインスタンスを監視する場合は変更しないでください。 2つ以上のインスタンスを監視する場合は、後述の【2つ以上のOracleインスタンスを監視する場合】を参照してください。 | ORAPDB |
DCAID | Oracleを監視するための固有のIDです。データベースの種別によって以下のIDを設定してください。
| "ORA" |
INTERVAL | 収集間隔です。単位は分です。変更しないでください。 | 5 |
SID | データベースの種別によって以下を設定してください。
参考 Non-CDBの場合、SIDに設定した名前がコンソールの監視画面の詳細ツリーのインスタンスに表示されます。 | ORCL |
INSTANCE | データベースの種別によって以下を設定してください。
参考 CDB、PDBの場合、INSTANCEに設定した名前がコンソールの監視画面の詳細ツリーのインスタンスに表示されます。 | ORCL:PDB1 |
USERNAME | Oracleにアクセスし、動的パフォーマンスビューから情報を取得するためのユーザー(DBAロールを付与した管理者ユーザー)のIDを入力します。 通常、Oracleのデフォルトでは“system”です。デフォルトから変更する場合は、「7.4.1 Oracleの動的パフォーマンス・ビューにアクセスできるユーザーを新規で作成する方法」を参照してください。 | system |
PASS | 上記「USERNAME」に対応するパスワードをgenpwd(注1)で暗号化し、作成された文字列を入力します。 Oracleのデフォルトのパスワードから変更する場合は、「7.4.1 Oracleの動的パフォーマンス・ビューにアクセスできるユーザーを新規で作成する方法」を参照してください。 なお、パスワードに以下の文字は使用できません。 $\/;|<>?@()`'"^ 注1) genpwd(パスワード暗号化コマンド)の使用方法は、「A.6 genpwd(パスワード暗号化コマンド)」を参照してください。 | oShc+uU9Gl8= |
VER | 監視するOracleインスタンスのバージョンを記述します。「X.X.X」という3桁の形式で記述してください。 | 19.0.0 |
ORAHOME | 監視するOracleのORACLE_HOMEの内容を設定します。 注意 最後に「/」を付けないでください。 誤:/opt/oracle/product/19c/dbhome_1/ ↓ 正:/opt/oracle/product/19c/dbhome_1 | /opt/oracle/product/19c/dbhome_1 |
【[ATTR::DB]セクション】
データベースの種別がCDB、PDBの場合、[ATTR::DB]セクションの「GROUP」キーにそれぞれ“ORACDB”、“ORAPDB”を追加します。“ORACDB”と“ORAPDB”の両方を追加する場合の例を示します。
: [ATTR::DB] |
参考
Oracleインスタンス名、データベースの種別、PDBのコンテナ名は、sqlplusコマンドで対象のデータベースに接続し、以下の方法で確認してください。
Oracleインスタンス名を確認するには、以下を実行してください。
SELECT INSTANCE_NAME FROM V$INSTANCE; |
データベースの種別を確認するには、以下を実行してください。
SELECT CDB FROM V$DATABASE; |
“YES”と表示される場合は、対象のデータベースはCDBまたはPDBです。
“NO”と表示される場合は、対象のデータベースはNon-CDBです。
上記2.でCDBまたはPDBの場合は、以下を実行してください。
show con_name |
“CDB$ROOT”と表示される場合は、対象のデータベースはCDBです。
上記以外が表示される場合は、対象のデータベースはPDBです。
PDBの場合、INSTANCEに指定する”PDBのコンテナ名”はこの値を使用してください。
参考
PDBの場合に必要なリスナー経由でPDBに接続するための接続識別子は、以下の方法で確認/設定を行ってください。
データベース接続情報ファイル(tnsnames.ora)を確認します。
Oracle Database Server 19c
${ORACLE_HOME}/network/admin/tnsnames.ora |
Oracle Database Server 21c以降
${ORACLE_BASE}/homes/<Oracleホーム名>/network/admin/tnsnames.ora |
注)${ORACLE_HOME}、${ORACLE_BASE}はOracle Database Serverをインストールした時に設定される環境変数を示します。
データベース接続情報ファイル(tnsnames.ora)に、PDBへの接続定義が設定されているか確認します。
PDBへの接続定義が設定されていない場合は、PDBへの接続定義を追加してください。
同ファイルにすでに設定されているCDBへの接続定義を参考にして、PDBへの接続定義を追加します。
データベース接続情報ファイル(tnsnames.ora)に設定する、PDBへの接続定義の内容は以下のとおりです。
<ALIAS> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <HOSTNAME>)(PORT = <PORT番号>)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <SERVICE_NAME>) ) ) |
<SERVICE_NAME>にPDBのコンテナ名を指定します。
<ALIAS>に指定する文字列が、PDBへの接続識別子になります。ここで指定したPDBへの接続識別子をtemplate.datのSIDに指定します。
注意
Oracle Real Application Clusters(RAC)環境の場合は、Systemwalker Service Quality CoordinatorのAgentと同じノード上のOracleインスタンスに接続する必要があります。このため、ADDRESSで指定する接続先に論理ホスト名や複数アドレス・リストは指定しないでください。
PDBに接続するための接続識別子の定義例を以下に示します。下記の例では、PDBへの接続識別子は"ORCLPDB1" です。
ORCLPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = VM01.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB1) ) ) |
■定義例
管理対象のデータベース種別ごとの例を記載します。
Non-CDBの場合
: |
CDBの場合
: |
PDBの場合
: |
【2つ以上のOracleインスタンスを監視する場合】
以下の定義を行います。
セクションを追加し、パラメーターを設定します。
セクションは、18バイト以内の半角英数字で定義可能ですが、セクション名がテンプレート内で重複しないように定義します。ここでは、「ORA2」、「ORACDB2」、「ORAPDB2」というセクションを追加した例を記述します。
複数のOracleインスタンスを監視する場合も、「DCAID」キーの値は変更せず、それぞれ以下の値で定義してください。
Non-CDBの場合:ORA
CDBの場合:ORACDB
PDBの場合:ORAPDB
■定義例
: ######################################### |
手順1.で追加したセクションを、「ATTR::DB」セクションの「GROUP」キーに追加します。手順1.の例のように定義した場合には、以下のように修正します。
■定義前
: [ATTR::DB] |
■定義後
: [ATTR::DB] |