19 DBMS_APP_CONT_ADMIN
このパッケージは、アプリケーション・コンティニュイティに関連するコレクションDBAレベルの管理操作を提供します。
この章のトピックは、次のとおりです:
19.2 DBMS_APP_CONT_ADMINサブプログラムの要約
このトピックは、DBMS_APP_CONT_ADMINサブプログラムをアルファベット順に示し、簡単に説明しています。
表19-1 DBMS_APP_CONT_ADMINパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
| ACCHK_PURGEプロシージャ | このプロシージャは、以前に収集されたすべてのACCHK情報をパージします。 |
| ACCHK_SETプロシージャ | このプロシージャは、アプリケーション・コンティニュイティまたは透過的アプリケーション・コンティニュイティの使用時に、アプリケーションのacchk保護のためのデータ収集を有効または無効にします。DISABLE_TIMEパラメータは、ランタイムの拡張に使用します。デフォルトは10分です。
|
| このプロシージャは、計画メンテナンスが開始される前の、セッションの排出中に使用する新しい接続テストを追加します。 | |
| このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを表示し、ターゲット引数にリプレイ可能なターゲットをビットマップとして返します。 | |
| このプロシージャは、計画排出で不要になった接続テストを削除します。テストを削除すると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。 | |
| このプロシージャは、セッションの排出中に接続テストの使用を無効にします。 | |
| ENABLE_CONNECTION_TESTプロシージャ |
このプロシージャは、計画メンテナンスの前のデータベース・セッション排出用の接続テストの使用を有効にします。テストを有効にすると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。 |
| RESET_REPLAY_RULESプロシージャ | このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールをリセットします。 |
| SET_REPLAY_RULESプロシージャ | このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを設定します。 |
19.2.1 ACCHK_PURGEプロシージャ
このプロシージャは、以前に収集されたすべてのACCHK情報をパージします。
- フィルタをロードする
ACCHK_SETの前に、ACCHK_PURGEをコールする必要があります。 ACCHK_PURGEは、PDBレベルで設定されます。
構文
DBMS_APP_CONT_ADMIN.ACCHK_PURGE ( start_time IN DATE DEFAULT NULL, end_time IN DATE DEFAULT NULL, purge_all IN BOOLEAN DEFAULT FALSE);
パラメータ
表19-2 ACCHK_PURGEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ACCHK情報をパージする開始時間。 |
|
|
ACCHK情報をパージするまでの終了時間。 |
purge_all |
このパラメータは、すべてのACCHK情報を削除する場合に使用します。
|
例
SQL> execute dbms_app_cont_admin.acchk_purge(purge_all => TRUE);19.2.2 ACCHK_SETプロシージャ
このプロシージャは、アプリケーション・コンティニュイティまたは透過的アプリケーション・コンティニュイティの使用時に、アプリケーションのacchk保護レポートのデータ収集を有効または無効にします。DISABLE_TIMEパラメータは、ランタイムの拡張に使用します。デフォルト値は10分です。
acchkは、コンテナに接続されている場合、CDBで有効/無効になります。acchkは、PDBへの接続時にのみPDBで有効/無効になります。
データ収集は、新規セッションにのみ適用されます。
有効にすると、このサービスで実行されるワークロードのデータが収集されます。その後、このデータをACCHK_REPORTで表示でき、ACCHKビューでマイニングすることもできます。
構文
DBMS_APP_CONT_ADMIN.ACCHK_SET ( enabled IN BOOLEAN, disable_time_in_seconds DEFAULT 600);
パラメータ
表19-3 ACCHK_SETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
このパラメータは、CDBレベルまたはPDBレベルでデータ収集を有効または無効にするために使用します。
|
|
|
指定した秒数で 指定できる最大値は3600秒です。 デフォルト値は600秒です。 |
使用上のノート
- このプロシージャの所有者は、
CDB$ROOTレベルまたはPDBレベルではSYSであり、マルチテナントでない場合にはSYSです acchkアクティブ化は、そのサービスをサポートするRACのすべてのインスタンスで有効になります。- 有効化は、フェイルオーバーおよび再起動テストを考慮して永続します。つまり、実装では
ALTER SESSION SET EVENTS ….. SCOPE=BOTHが使用されます。有効化はデータベースごとです。Data Guardの場合、データベースごとに有効および無効にする必要があります。
例
アプリケーション・コンティニュイティ保護チェックは、デフォルトでは有効になっていません。次の手順に従って、ACCHKを有効または無効にし、アプリケーションの保護レベルをチェックするレポートを生成します。
-
ACCHK_READロールを使用して、アプリケーション・コンティニュイティ保護チェックのレポートおよびビューを実行するユーザーに読取りアクセス権を付与します。GRANT ACCHK_READ TO USER; dbms_app_cont_admin.acchk_set(true)プロシージャを使用して、アプリケーションのアプリケーション・コンティニュイティ・トレースを有効にします。SQL> execute dbms_app_cont_admin.acchk_set(true);デフォルトでは、
ACCHKは600秒後に自動的に無効になります。これより小さい数値を指定すると、自動無効化時間を短縮できます。たとえば、300秒後にACCHKを無効にするには、次のようにします。SQL> dbms_app_cont_admin.acchk_set(true,300);dbms_app_cont_admin.acchk_set(true)プロシージャは、接続しているデータベース・レベルでアプリケーション・コンティニュイティ・トレースを有効にします。CDBレベルで接続している場合はCDBに対してトレースが有効になり、PDBレベルで接続している場合はPDBに対してトレースが有効になります。ノート:
COMPATIBLEパラメータを12.2.0以上に設定します。-
アプリケーションの新しいセッションのアプリケーション・コンティニュイティ・トレースを無効にするには:
SQL> execute dbms_app_cont_admin.acchk_set(false);ノート:
現在のセッションのトレースは、セッションが終了するまで無効になりません。
19.2.3 ADD_SQL_CONNECTION_TESTプロシージャ
このプロシージャは、計画メンテナンスが開始される前の、セッションの排出中に使用する新しい接続テストを追加します。このプロシージャは、SQL接続テストが標準テストでカバーされていない場合に使用します。このテストは、追加されたときに有効になります。オプションのサービス名修飾子が指定されている場合、テストはそのサービス名にのみ適用されます。
構文
DBMS_APP_CONT_ADMIN.ADD_SQL_CONNECTION_TEST ( connection_test IN VARCHAR2 service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表19-4 ADD_SQL_CONNECTION_TESTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
接続のテストおよび排出に使用されるSQLテキスト。 |
|
|
オプションのサービス名修飾子。 |
使用上のノート
ADD_SQL_CONNECTION_TESTプロシージャは、計画メンテナンスが開始される前のセッション排出用の接続テストを追加します。接続テストはアプリケーションで使用され、排出対象としてマークされている接続をテストします。セッションは、サービスまたはPDBの停止操作および再配置操作で排出するために設定されます。排出中にRDBMSが接続をクローズするように設定されている場合は、計画メンテナンス中にエラーが表示されません。CONNECTION TESTは必要な数だけ入力できます。これらは、計画メンテナンス中にのみ使用されます。このテストは、すべてのRACインスタンスに適用されます。
サービス修飾子の可用性に関する最新の更新は、オンライン・ドキュメントを参照してください。
追加された接続を表示するには、ビューDBA_CONNECTION_TESTSを問い合せます。
このプロシージャの所有者はSYSであり、CDB$ROOTレベルまたはPDBレベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
19.2.4 CHECK_REPLAY_RULESプロシージャ
このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを表示し、ターゲット引数にリプレイ可能なターゲットをビットマップとして返します。
構文
DBMS_APP_CONT_ADMIN.CHECK_REPLAY_RULES ( service_name IN VARCHAR2 DEFAULT NULL targets OUT BINARY_INTEGER);
パラメータ
表19-5 CHECK_REPLAY_RULESプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
オプションのサービス名修飾子。オプションの |
|
|
ビットマップ内のリプレイ可能なターゲット。BITANDファンクションを使用すると、次のいずれかのターゲットがリプレイ可能かどうかをテストできます:
|
19.2.5 DELETE_SQL_CONNECTION_TESTプロシージャ
このプロシージャは、計画排出で不要になった接続テストを削除します。テストを削除すると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。
構文
DBMS_APP_CONT_ADMIN.DELETE_SQL_CONNECTION_TEST ( connection_test IN VARCHAR2 service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表19-6 DELETE_SQL_CONNECTION_TESTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
接続のテストおよび排出に使用されるSQLテキスト。 |
|
|
オプションのサービス名修飾子。 オプションの |
使用上のノート
テストを削除する必要があるかどうかがわからない場合は、DISABLE_CONNECTION_TESTプロシージャを使用して、テストを無効にできます。削除できるのはカスタムSQLテストのみです。事前定義済のテストは削除できません。サービス修飾子の可用性に関する最新の更新を確認してください。
このプロシージャの所有者は、CDB$ROOTレベルまたはPDBレベルではSYSであり、マルチテナントでない場合はSYSです。
接続テストとそのステータスをチェックするには、ビューDBA_CONNECTION_TESTSを問い合せます。
19.2.6 DISABLE_CONNECTION_TESTプロシージャ
このプロシージャは、セッションの排出中に接続テストの使用を無効にします。テストを無効にすると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。
構文
DBMS_APP_CONT_ADMIN.DISABLE_CONNECTION_TEST ( connection_test_type IN VARCHAR2, connection_test IN VARCHAR2, service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表19-7 DISABLE_CONNECTION_TESTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
使用可能な値は次のとおりです。
|
|
|
接続のテストおよび排出に使用されるSQLテキスト。 このパラメータは、 |
|
|
オプションのサービス名修飾子。オプションのサービス名修飾子が指定されている場合は、そのサービス名に対するテストのみが有効になります。サービス名レベルでの無効化は、 |
使用上のノート
このプロシージャの所有者はSYSであり、CDB$ROOTレベルまたはPDBレベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
接続テストとそのステータスをチェックするには、ビューDBA_CONNECTION_TESTSを問い合せます。
19.2.7 ENABLE_CONNECTION_TESTプロシージャ
このプロシージャは、計画メンテナンスの前のデータベース・セッション排出用の接続テストの使用を有効にします。テストを有効にすると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。
構文
DBMS_APP_CONT_ADMIN.ENABLE_CONNECTION_TEST ( connection_test_type IN VARCHAR2, connection_test IN VARCHAR2, service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表19-8 ENABLE_CONNECTION_TESTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
計画メンテナンスの前の排出用の接続テストを管理するときに使用される接続タイプ。接続テストについては、ADD、DELETE、ENABLE、DISABLEプロシージャを参照してください。 使用可能な値は次のとおりです。
|
|
|
計画メンテナンスが開始される前にRDBMSで接続をテストおよび排出するために使用されるSQLテキスト。 このパラメータは、 |
|
|
オプションのサービス名修飾子。オプションのサービス名修飾子が指定されている場合は、そのサービス名に対するテストのみが有効になります。サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。つまり、PDBを有効化でき、サービスは無効になります。 |
使用上のノート
-
このプロシージャの所有者は
SYSであり、CDB$ROOTレベルまたはPDBレベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます -
ENABLE_CONNECTION_TESTにより、計画メンテナンス中のセッション排出用の接続テストが有効になります。有効化操作は、PDBがオープンしているすべてのRACインスタンスに適用されます。これは、データベースの再起動後も維持されます。 -
このプロシージャの所有者は
SYSであり、CDB$ROOTレベルまたはPDBレベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
19.2.8 RESET_REPLAY_RULESプロシージャ
このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールをリセットします。
ノート:
- ACサービス(
FAILOVER_TYPE = TRANSACTION)のリセット時に、ターゲットが指定されていない場合、すべてのターゲットがリプレイ可能になります。つまり、すべての副次効果をリプレイできます(デフォルト)。 - TACサービス(
FAILOVER_TYPE = AUTO)のリセット時に、ターゲットが指定されていない場合、すべてのターゲットがリプレイ不可能になります。つまり、副次効果をリプレイできません(デフォルト)。
構文
DBMS_APP_CONT_ADMIN.RESET_REPLAY_RULES ( service_name IN VARCHAR2 DEFAULT NULL targets IN BINARY_INTEGER DEFAULT NULL);
パラメータ
表19-9 RESET_REPLAY_RULESプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
オプションのサービス名修飾子。オプションの |
|
|
リプレイ・ルールのターゲット。使用可能な値は次のとおりです。
dbms_app_cont.side_effects + dbms_app_cont.autonomous_transactionsなどの個々のターゲットのbit orとしてそれらを渡します。 |
19.2.9 SET_REPLAY_RULESプロシージャ
このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを設定します。
リプレイ・ルールは、副次効果をリプレイできるかどうかを決定するために、アプリケーション・コンティニュイティによって使用されます。
構文
DBMS_APP_CONT_ADMIN.SET_REPLAY_RULES ( service_name IN VARCHAR2 DEFAULT NULL replayable IN BOOLEAN, targets IN BINARY_INTEGER);
パラメータ
表19-10 SET_REPLAY_RULESプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
オプションのサービス名修飾子。オプションの |
|
|
|
|
|
このルールが適用されるターゲットの効果。使用可能な値は次のとおりです。
dbms_app_cont.side_effects + dbms_app_cont.autonomous_transactionsなどの個々のターゲットのbit orとしてそれらを渡します。 |