優先接続文字列
優先接続文字列は、データベースに対するEnterprise Managerのデフォルトの接続構成を望ましい接続方法でオーバーライドできる完全修飾接続記述子です。たとえば、ホスト、ポートおよびサービス名を(SIDのかわりに)使用して優先接続文字列を作成し、データベース接続に使用するように指定できます。優先接続文字列は、単一インスタンス、RACおよびプラガブル・データベースでサポートされます。
この構成をサポートする接続には、次の2つのタイプがあります:
- OMSからターゲット・データベースへ、データベース・パフォーマンス・ページへのアクセスおよび管理操作に使用されます: OMSとデータベース間の接続に接続文字列を使用するには、OMS優先接続文字列(OMSPCS)を指定します。
- エージェントとターゲット・データベース間で、メトリック収集に使用されます: エージェントとデータベース間の接続に接続文字列を使用するには、エージェント優先接続文字列(APCS)を指定します。
優先接続文字列は、EMコンソールまたはEM CLIを使用して構成できます。
「OMS優先接続文字列」オプションは、Oracle Enterprise Manager 13cリリース5のすべてのバージョンでサポートされています。
この「エージェント優先接続文字列」オプションは、Oracle Enterprise Manager 13cリリース5更新15 (13.5.0.15)およびEMエージェント・バージョン13.5.0.15以降でサポートされています。「エージェント優先接続文字列」は、デフォルトでは無効になっています。有効にするには、次のコマンドを実行し、OMSを再起動します:
emctl set property -name oracle.sysman.db.showapcs -value true -sysman_pwd <sysman_password>

優先接続文字列の構成ステップ
次のいずれかの方法を選択して、接続文字列を定義します:
-
EMコンソールの使用: ターゲットのホーム・ページ・メニューから、「ターゲット設定」、「モニタリング構成」の順に移動します。
RAC (クラスタ・データベース)インスタンスの例を次に示します:
-
EMCLIの使用: EMCLIを使用し、次の形式を使用して優先接続文字列を指定します:
-
OMS優先接続文字列
emcli modify_target -name=“<target_name>" -type=“<target_type>" -properties="PreferredConnectString:<connect string>" -on_agent
例:
emcli modify_target -name="database_CDB1_PDB1" -type="oracle_pdb" -properties="PreferredConnectString:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host1.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=myrac)(INSTANCE_NAME=db231)))" -on_agent
- エージェント優先接続文字列
emcli modify_target -name=“<target_name>" -type=“<target_type>" -properties="AgentPreferredConnectString:<connect string>" -on_agent
例:
emcli modify_target -name="MyPDB" -type="oracle_pdb" -properties="AgentPreferredConnectString: (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = host1.example.com)(PORT = 1522)))(CONNECT_DATA = (SERVICE_NAME = MYPDB)))" -on_agent
OMS優先接続文字列を更新した場合は、EMコンソールをログアウトしてから再ログインし、OMSデータベース・キャッシュ接続を更新します。
-
優先接続文字列の使用例
-
サービス名を使用したデータベース・モニタリング
デフォルトでは、Enterprise Managerはデータベースへの接続にSIDを使用します。優先接続文字列を使用すると、すべてのEMデータベース接続でSIDのかわりにサービス名を使用できます。これには、OMSとデータベース間の接続の他、エージェントとデータベース間の接続が含まれます。
単一インスタンス・データベースまたはRACインスタンスの場合は、次の形式を使用して接続文字列を指定します:
(DESCRIPTION=(ADDRESS=(PROTOCOL=<protocol,tcp/tcps)(HOST=<host name, e.g. myhost.example.com)(PORT=<port, e.g. 1521>))(CONNECT_DATA=(SERVICE_NAME=<service name>)(INSTANCE_NAME=<instance name>)))
RACデータベースの場合、RACインスタンスごとに優先接続文字列を設定します。ホストはRACノードの仮想IPに設定する必要があります。
-
クラスタ・データベース(RAC)内のPDBのモニタリング
優先接続文字列を使用すると、RACインスタンスの優先サブセットのみをオープンしているPDBをモニターできます。
この構成では、次のステップを実行します:
-
このPDBのサービスを作成します。
-
PDBのSCANリスナーおよびサービスを使用する完全修飾接続文字列を構成します。
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = <hostname of the scan listener>)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = <service for the PDB)))
-
PDBのモニタリング構成UIを編集し、構成した接続文字列をOMS優先接続文字列およびエージェント優先接続文字列の値として指定します
エージェントは、SCANリスナーを介して、優先RACインスタンスでオープンPDBに接続します。
-
- SSLサーバーDN一致によるTCPSベースの接続を使用したのモニタリング
TCPSはセキュリティ・レベルを強化し、SSLドメイン名で構成できます。
次のように、SSLドメイン名でOMS優先接続文字列を構成します:
- 次のコマンドを実行して、OMSでこの設定を有効にします:
emctl set property -sysman_pwd <password> -name oracle.sysman.db.ssl_server_dn_match -value true
- データベース・ホストで次のコマンドを実行して、ホスト・ドメイン名を取得します:
orapki wallet display -wallet "<path_to_wallet>" -pwd <wallet_password>
出力例:
Oracle PKI Tool Release 21.0.0.0.0 - Production Version 21.0.0.0.0 Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights reserved.Requested Certificates: User Certificates: Subject: CN=<server_cert_name> <---- This is the HOST DN (CN=<server_cert_name>) you should use in Preferred Connect String Trusted Certificates: Subject: CN=<client_cert_name> Subject: CN=<server_cert_name>
-
次に示すように、証明書名をSECURITYパラメータとして使用して、OMS優先接続文字列を構成します:
(DESCRIPTION= (ADDRESS= (PROTOCOL=TCPS) (HOST=<DB_HOST>) (PORT=<TCPS_PORT>)) (CONNECT_DATA= (SID=<DB_SID>)) (SECURITY=(SSL_SERVER_CERT_DN=CN=<server_cert_name>)))
- EMコンソールまたはEM CLIのいずれかを使用して、OMS優先接続文字列を指定します。
- 次のコマンドを実行して、OMSでこの設定を有効にします:
-
異なるサブネットのデータベース・ターゲットのモニタリング
データベース・ターゲットが別々のサブネットまたは別々のデータ・センターにあるため、OMSが直接接続できない場合は、OMS優先接続文字列を使用してプロキシ・サーバーに接続できます:
(DESCRIPTION= (ADDRESS=(HTTPS_PROXY=<proxy name, e.g.sales-proxy) (HTTPS_PROXY_PORT=8080) (PROTOCOL=TCPS) (HOST=<host name>) (PORT=443)) (CONNECT_DATA=(SERVICE_NAME=service1.example.com)))
ノート:
この機能には、Oracle Enterprise Manager 13cリリース5更新15 (13.5.0.15)以降が必要です。