22 DBMS_APP_CONT_ADMIN
このパッケージは、アプリケーション・コンティニュイティに関連するコレクションDBAレベルの管理操作を提供します。
この章のトピックは、次のとおりです:
DBMS_APP_CONT_ADMINサブプログラムの要約
このトピックは、DBMS_APP_CONT_ADMIN
サブプログラムをアルファベット順に示し、簡単に説明しています。
表22-1 DBMS_APP_CONT_ADMINパッケージ・サブプログラム
サブプログラム | 説明 |
---|---|
このプロシージャでは、フィルタ・タイプとフィルタ名を指定することでACCHKフィルタをクリアします。 | |
ACCHK_PURGEプロシージャ | このプロシージャは、以前に収集されたすべてのACCHK情報をパージします。 |
ACCHK_SETプロシージャ | このプロシージャは、アプリケーション・コンティニュイティまたは透過的アプリケーション・コンティニュイティの使用時に、アプリケーションのacchk保護のためのデータ収集を有効または無効にします。 DISABLE_TIME パラメータは、ランタイムの拡張に使用します。 デフォルトは5 分です。
|
このプロシージャでは、サービス名、モジュール名、プログラム名およびマシン名によってacchk 保護分析のACCHKフィルタリング・オプションを設定します。
|
|
このプロシージャは、ACCHKフィルタをサービス、プログラム、モジュール、およびマシン名の順に並べ替えて表示するためにカーソルを使用します。 | |
このプロシージャは、指定されたサービスまたは現在のサービスに対するリプレイ・ルールを表示し、ターゲット引数でリプレイ可能なターゲットをビットマップとして返します。 | |
このプロシージャは、計画メンテナンスが開始される前の、セッションの排出中に使用する新しい接続テストを追加します。 | |
このプロシージャは、計画排出で不要になった接続テストを削除します。 テストを削除すると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。 | |
このプロシージャは、セッションの排出中に接続テストの使用を無効にします。 | |
DISABLE_FAILOVERプロシージャ | このプロシージャでは、特定のサービスのフェイルオーバーを無効にします。 |
ENABLE_ACプロシージャ | このプロシージャは、特定のサービスのアプリケーション・コンティニュイティ(AC)を有効にします。 |
ENABLE_CONNECTION_TESTプロシージャ | このプロシージャは、計画メンテナンスの前のデータベース・セッション排出用の接続テストの使用を有効にします。 テストを有効にすると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。 |
ENABLE_RESET_STATEプロシージャ | このプロシージャでは、リクエスト間でセッション状態の使用状況をクリアできるようにして、新しいリクエストごとにクリーンな状態で(使用状況Webおよびステートレス・アプリケーションが)始まるようにします。 |
ENABLE_TACプロシージャ | このプロシージャでは、特定のサービスの透過的アプリケーション・コンティニュイティ(TAC)を有効にします。 |
ENABLE_TAFプロシージャ | このプロシージャは、特定のサービスに対して透過的アプリケーション・フェイルオーバー(TAF)を有効にします。 |
ENABLE_TGプロシージャ | このプロシージャは、特定のサービスでトランザクション・ガードを有効にします。 |
MODIFY_SERVICEプロシージャ | このプロシージャでは、指定のパラメータを使用してデータベース・サービスを変更します。 |
RESET_REPLAY_RULESプロシージャ | このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールをリセットします。 |
SET_DRAININGプロシージャ | このプロシージャでは、タイムアウト値や停止オプションなど、サービスの排出オプションを構成します。 |
SET_LOAD_BALANCINGプロシージャ | このプロシージャでは、サービスのロード・バランシング・オプションを構成します。 |
SET_REPLAY_RULESプロシージャ | このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを設定します。 |
ACCHK_CLEAR_FILTERプロシージャ
このプロシージャでは、フィルタ・タイプ、フィルタ名またはすべてのフィルタを指定することでACCHKフィルタをクリアします。
- フィルタをロードする
ACCHK_SET
の前に、ACCHK_CLEAR_FILTER
をコールする必要があります。 ACCHK_CLEAR_FILTER
は、PDBレベルで設定されます。
構文
DBMS_APP_CONT_ADMIN.ACCHK_CLEAR_FILTER ( filter_type IN NUMBER DEFAULT NULL, filter_name IN VARCHAR2 DEFAULT NULL, purge_all IN BOOLEAN DEFAULT FALSE);
パラメータ
表22-2 ACCHK_CLEAR_FILTERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
フィルタのタイプ。 |
|
削除するフィルタの名前( |
purge_all |
このパラメータは、すべてのフィルタを削除する場合に使用します。
|
エラー・メッセージ
表22-3 ACCHK_CLEAR_FILTERプロシージャのエラー・メッセージ
エラー・コード | 説明 |
---|---|
|
指定されたフィルタ名が最大文字数を超えています。 |
ORA-20000 |
フィルタ・タイプ値が無効です。 |
ORA-20000 |
フィルタ名が指定されていません。 |
例
SQL> execute dbms_app_cont_admin.acchk_clear_filter(DBMS_APP_CONT_ADMIN.SERVICE_FILTER, 'ORACLE.Service1');
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);
パラメータ
表22-4 ACCHK_PURGEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ACCHK情報をパージする開始時間。 |
|
ACCHK情報をパージする終了時間。 |
purge_all |
このパラメータは、すべてのACCHK情報を削除するために使用されます。
|
例
SQL> execute dbms_app_cont_admin.acchk_purge(purge_all => TRUE);
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);
パラメータ
表22-5 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);
ノート:
現在のセッションのトレースは、セッションが終了するまで無効になりません。
ACCHK_SET_FILTERプロシージャ
このプロシージャでは、サービス名、モジュール名、プログラム名およびマシン名によってacchk
保護分析のACCHKフィルタリング・オプションを設定します。
- フィルタをロードする
ACCHK_SET
の前に、ACCHK_SET_FILTER
をコールする必要があります。 ACCHK_SET_FILTER
は、PDBレベルで設定されます。
構文
DBMS_APP_CONT_ADMIN.ACCHK_SET_FILTER ( filter_type IN NUMBER, filter_name IN VARCHAR2);
パラメータ
表22-6 ACCHK_SET_FILTERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
フィルタのタイプ。 |
|
フィルタの名前。サービス名、プログラム名、モジュール名またはマシン名と一致する必要があります。 |
エラー・メッセージ
表22-7 ACCHK_SET_FILTERプロシージャのエラー・メッセージ
エラー・コード | 説明 |
---|---|
|
指定されたフィルタ名が最大文字数を超えています。 |
|
サービス |
ORA-20000 |
フィルタ・タイプ値が無効です。 |
ORA-20000 |
フィルタ名が指定されていません。 |
ORA-20000 |
制限に達しました。許可されるフィルタは1024個のみです。 |
ORA-20000 |
フィルタ名はすでに存在しています。 |
例
- サービス・フィルタを設定するには:
SQL> execute dbms_app_cont_admin.acchk_set_filter(DBMS_APP_CONT_ADMIN.SERVICE_FILTER, 'ORACLE.Service1');
- プログラム・フィルタを設定するには:
SQL> execute dbms_app_cont_admin.acchk_set_filter(DBMS_APP_CONT_ADMIN.PROGRAM_FILTER, 'Oracle.Program');
- モジュール・フィルタを設定するには:
SQL> execute dbms_app_cont_admin.acchk_set_filter(DBMS_APP_CONT_ADMIN.MODULE_FILTER, 'Oracle.Module');
ACCHK_SHOW_FILTERSプロシージャ
このプロシージャは、ACCHKフィルタをサービス、プログラム、モジュール、およびマシン名の順に並べ替えて表示するためにカーソルを使用します。
構文
DBMS_APP_CONT_ADMIN.ACCHK_SHOW_FILTERS;
例
SQL> execute dbms_app_cont_admin.acchk_show_filters;
ResultSet TYPE FILTER_NAME SERVICE PROGRAM MODULE
#1 oracle.service1 oracle.program oracle.module
ADD_SQL_CONNECTION_TESTプロシージャ
このプロシージャは、計画メンテナンスが開始される前の、セッションの排出中に使用する新しい接続テストを追加します。 このプロシージャは、SQL接続テストが標準テストでカバーされていない場合に使用します。 このテストは、追加されたときに有効になります。 オプションのサービス名修飾子が指定されている場合、テストはそのサービス名にのみ適用されます。
構文
DBMS_APP_CONT_ADMIN.ADD_SQL_CONNECTION_TEST ( connection_test IN VARCHAR2 service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-8 ADD_SQL_CONNECTION_TESTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
接続のテストおよび排出に使用されるSQLテキスト。 |
|
オプションのサービス名修飾子。 |
使用上のノート
ADD_SQL_CONNECTION_TESTプロシージャ
は、計画メンテナンスが開始される前のセッション排出用の接続テストを追加します。 接続テストはアプリケーションで使用され、排出対象としてマークされている接続をテストします。 セッションは、サービスまたはPDBの停止操作および再配置操作で排出するために設定されます。 排出中にRDBMSが接続をクローズするように設定されている場合は、計画メンテナンス中にエラーが表示されません。 CONNECTION TESTは必要な数だけ入力できます。 これらは、計画メンテナンス中にのみ使用されます。 このテストは、すべてのRACインスタンスに適用されます。
サービス修飾子の可用性に関する最新の更新は、オンライン・ドキュメントを参照してください。
追加された接続を表示するには、ビューDBA_CONNECTION_TESTS
を問い合せます。
このプロシージャの所有者はSYS
であり、CDB$ROOT
レベルまたはPDB
レベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
CHECK_REPLAY_RULESプロシージャ
このプロシージャは、指定されたサービスまたは現在のサービスに対するリプレイ・ルールを表示し、ターゲット引数でリプレイ可能なターゲットをビットマップとして返します。
構文
DBMS_APP_CONT_ADMIN.CHECK_REPLAY_RULES ( service_name IN VARCHAR2 DEFAULT NULL targets OUT BINARY_INTEGER);
パラメータ
表22-9 CHECK_REPLAY_RULESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションの |
|
ビットマップ内のリプレイ可能なターゲット。 BITAND ファンクションを使用すると、次のいずれかのターゲットがリプレイ可能かどうかをテストできます:
|
CREATE_CHILD_SERVICEプロシージャ
このプロシージャは、既存の親サービスの子サービスを作成します。
ノート:
親サービスが起動されると、親サービスがアクティブなすべての同じインスタンスで子サービスが起動されます。構文
DBMS_APP_CONT_ADMIN.CREATE_CHILD_SERVICE ( child_service_name IN VARCHAR2, parent_service_name IN VARCHAR2);
パラメータ
表22-10 CREATE_CHILD_SERVICEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
作成する新しい子サービスの名前。 |
|
子サービスを作成する親サービスの名前。 |
DELETE_CHILD_SERVICEプロシージャ
このプロシージャは、既存の親サービスから子サービスを削除します。
ノート:
子サービスがいずれかのインスタンスでアクティブになっている場合、子サービスは削除される前に停止されます。構文
DBMS_APP_CONT_ADMIN.DELETE_CHILD_SERVICE ( child_service_name IN VARCHAR2, parent_service_name IN VARCHAR2);
パラメータ
表22-11 DELETE_CHILD_SERVICEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
削除する既存の子サービスの名前。 |
|
指定された子サービスを削除する親サービスの名前。 |
DELETE_SQL_CONNECTION_TESTプロシージャ
このプロシージャは、計画排出で不要になった接続テストを削除します。 テストを削除すると、PDBがオープンしているすべてのRACインスタンスにすぐに適用されます。
構文
DBMS_APP_CONT_ADMIN.DELETE_SQL_CONNECTION_TEST ( connection_test IN VARCHAR2 service_name IN VARCHAR2 DEFAULT NULL);
パラメータ
表22-12 DELETE_SQL_CONNECTION_TESTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
接続のテストおよび排出に使用されるSQLテキスト。 |
|
オプションのサービス名修飾子。 オプションの |
使用上のノート
テストを削除する必要があるかどうかがわからない場合は、DISABLE_CONNECTION_TEST
プロシージャを使用して、テストを無効にできます。 削除できるのはカスタムSQLテストのみです。 事前定義済のテストは削除できません。 サービス修飾子の可用性に関する最新の更新を確認してください。
このプロシージャの所有者は、CDB$ROOT
レベルまたはPDB
レベルではSYS
であり、マルチテナントでない場合はSYS
です。
接続テストとそのステータスをチェックするには、ビューDBA_CONNECTION_TESTS
を問い合せます。
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);
パラメータ
表22-13 DISABLE_CONNECTION_TESTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
使用可能な値は次のとおりです。
|
|
接続のテストおよび排出に使用されるSQLテキスト。 このパラメータは、 |
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、そのサービス名に対するテストのみが有効になります。 サービス名レベルでの無効化は、 |
使用上のノート
このプロシージャの所有者はSYS
であり、CDB$ROOT
レベルまたはPDB
レベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
接続テストとそのステータスをチェックするには、ビューDBA_CONNECTION_TESTS
を問い合せます。
DISABLE_FAILOVERプロシージャ
このプロシージャでは、特定のサービスのフェイルオーバーを無効にします。
構文
DBMS_APP_CONT_ADMIN.DISABLE_FAILOVER ( service_name IN VARCHAR2);
パラメータ
表22-14 DISABLE_FAILOVERプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、そのサービス名に対してのみフェイルオーバーが無効になります。 |
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - フェイルオーバーを無効にする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.disable_failover('TPURGENT');
DISABLE_SMART_CONNECTIONプロシージャ
このプロシージャは、指定されたサービスのスマート接続を無効にします。つまり、GOAL
はGOAL_NONE
に設定されます。
ノート:
サービスに子がある場合、これらのサービスに対してもスマート接続が無効になります。構文
DBMS_APP_CONT_ADMIN.DISABLE_SMART_CONNECTION ( service_name IN VARCHAR2);
パラメータ
表22-15 DISABLE_SMART_CONNECTIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションの |
ENABLE_ACプロシージャ
このプロシージャは、特定のサービスのアプリケーション・コンティニュイティ(AC)を有効にします。
構文
DBMS_APP_CONT_ADMIN.ENABLE_AC ( service_name IN VARCHAR2, failover_restore IN VARCHAR2 DEFAULT 'LEVEL1' replay_initiation_timeout IN BINARY_INTEGER DEFAULT 300);
パラメータ
表22-16 ENABLE_ACプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、指定されたサービスに対してのみACが有効になります。 サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。 つまり、PDBを有効化でき、サービスは無効になります。 |
FAILOVER_RESTORE |
フェイルオーバー・リストア。 有効な値は、 |
REPLAY_INITIATION_TIMEOUT |
リプレイ・タイムアウト。リクエストの送信後に、そのリクエストがリプレイできるようになるまでの秒数を指定します。 |
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - ACを有効にする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.enable_ac('TPURGENT', 'LEVEL1', 600);
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);
パラメータ
表22-17 ENABLE_CONNECTION_TESTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
計画メンテナンスの前の排出用の接続テストを管理するときに使用される接続タイプ。 接続テストについては、ADD、DELETE、ENABLE、DISABLEプロシージャを参照してください。 使用可能な値は次のとおりです。
|
|
計画メンテナンスが開始される前にRDBMSで接続をテストおよび排出するために使用されるSQLテキスト。 このパラメータは、 |
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、そのサービス名に対するテストのみが有効になります。 サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。 つまり、PDBを有効化でき、サービスは無効になります。 |
使用上のノート
-
このプロシージャの所有者は
SYS
であり、CDB$ROOT
レベルまたはPDB
レベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます -
ENABLE_CONNECTION_TEST
により、計画メンテナンス中のセッション排出用の接続テストが有効になります。 有効化操作は、PDB
がオープンしているすべてのRACインスタンスに適用されます。 これは、データベースの再起動後も維持されます。 -
このプロシージャの所有者は
SYS
であり、CDB$ROOT
レベルまたはPDB
レベル、またはマルチテナントでない場合はディクショナリ・レベルで実行するためにユーザーに付与されます。
ENABLE_RESET_STATEプロシージャ
このプロシージャでは、リクエスト間でセッション状態の使用状況をクリアできるようにして、新しいリクエストごとにクリーンな状態で(使用状況Webおよびステートレス・アプリケーションが)始まるようにします。
構文
DBMS_APP_CONT_ADMIN.ENABLE_RESET_STATE ( service_name IN VARCHAR2, level IN VARCHAR2 DEFAULT AUTO);
パラメータ
表22-18 ENABLE_RESET_STATEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、指定されたサービスに対してのみ |
LEVEL |
Oracle Databaseセッション状態のリセット構成のレベル。 使用可能なオプションは、 |
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - セッション状態をクリアする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.enable_reset_state('TPURGENT', 'AUTO');
ENABLE_SMART_CONNECTIONプロシージャ
このプロシージャは、指定されたサービスのスマート接続を有効にします。つまり、GOAL
はSMART_CONN
に設定されます。
ノート:
サービスに子がある場合、これらのサービスに対してもスマート接続が有効になります。構文
DBMS_APP_CONT_ADMIN.ENABLE_SMART_CONNECTION ( service_name IN VARCHAR2);
パラメータ
表22-19 ENABLE_SMART_CONNECTIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションの |
ENABLE_TACプロシージャ
このプロシージャでは、特定のサービスの透過的アプリケーション・コンティニュイティ(TAC)を有効にします。
構文
DBMS_APP_CONT_ADMIN.ENABLE_TAC ( service_name IN VARCHAR2, failover_restore IN VARCHAR2 DEFAULT 'AUTO' replay_initiation_timeout IN BINARY_INTEGER DEFAULT 300 session_state_consistency IN VARCHAR2 DEFAULT 'AUTO');
パラメータ
表22-20 ENABLE_TACプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、指定されたサービスに対してのみTACが有効になります。 サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。 つまり、PDBを有効化でき、サービスは無効になります。 |
FAILOVER_RESTORE |
フェイルオーバー・リストア。 有効な値は、 |
REPLAY_INITIATION_TIMEOUT |
リプレイ・タイムアウト。リクエストの送信後に、そのリクエストがリプレイできるようになるまでの秒数を指定します。 |
SESSION_STATE_CONSISTENCY |
セッション状態一貫性。 有効な値は、 |
例外
FAILOVER_RESTORE
がNULL
に設定されている場合、またはFAILOVER_RESTORE
がAUTO
またはLEVEL1
に設定されていない場合: ORA-20000 -failover_restore
パラメータが無効です。SESSION_STATE_CONSISTENCY
がNULL
に設定されている場合、またはSESSION_STATE_CONSISTENCY
がAUTO
として設定されていない場合: ORA-20000 -session_state_consistency
パラメータが無効です。
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - TACを有効にする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.enable_tac('TPURGENT', 'AUTO', 600, 'AUTO');
ENABLE_TAFプロシージャ
このプロシージャは、特定のサービスに対して透過的アプリケーション・フェイルオーバー(TAF)を有効にします。
構文
DBMS_APP_CONT_ADMIN.ENABLE_TAF ( service_name IN VARCHAR2, failover_type IN VARCHAR2 DEFAULT 'AUTO' failover_restore IN VARCHAR2 DEFAULT 'LEVEL1');
パラメータ
表22-21 ENABLE_TAFプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合、TAFは指定されたサービスに対してのみ有効になります。 サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。 つまり、PDBを有効化でき、サービスは無効になります。 |
FAILOVER_TYPE |
フェイルオーバーのタイプ。 指定可能な値は、 |
FAILOVER_RESTORE |
フェイルオーバー・リストア。 有効な値は、 |
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - TAFを有効にする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.enable_taf(`LOW`);
SQL> execute dbms_app_cont_admin.enable_taf(`MEDIUM`, `SESSION`);
ENABLE_TGプロシージャ
このプロシージャは、特定のサービスでトランザクション・ガードを有効にします。
構文
DBMS_APP_CONT_ADMIN.ENABLE_TG ( service_name IN VARCHAR2);
パラメータ
表22-22 ENABLE_TGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、指定されたサービスに対してのみACが有効になります。 サービス名レベルでの有効化は、より高いレベルでの無効化よりも優先されます。 つまり、PDBを有効化でき、サービスは無効になります。 |
使用上のノート
- このプロシージャを使用する場合は、
PDBADMIN
ユーザー権限が必要になります。 - トランザクション・ガードを有効にする完全なサービス名を使用します。
例
SQL> execute dbms_app_cont_admin.enable_tg('TPURGENT');
MODIFY_SERVICEプロシージャ
このプロシージャでは、指定のパラメータを使用してデータベース・サービスを変更します。
構文
DBMS_APP_CONT_ADMIN.MODIFY_SERVICE( service_name IN VARCHAR2, service_params IN svc_parameter_array);
パラメータ
表22-23 MODIFY_SERVICEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
データ・ディクショナリでのサービスの名前です(64文字まで使用可能)。 |
|
サービス属性の名前/値ペアに関連付けられた配列。 次の名前がサポートされています。
|
|
OCI/OCCI/ODPでFast Application Notification(FAN)を使用できるかどうかを指定します。 Oracle Database12cでは、FANはOracle Notification Services(ONS)を使用します。 このパラメータは、FANを有効にするために引き続き使用されます。 FANはすべての高可用性システムで推奨されているため、アプリケーション・コンティニュイティではデフォルトで有効になっています。 |
|
ワークロード管理を自動的に均衡化します。 |
|
接続ロード・バランシングの目標( |
|
Oracle Databaseトランザクション・ガードを有効または無効にします。 |
|
トランザクション
|
|
このパラメータを設定した場合、サービスに接続されているすべてのセッションは、Fast Connection Failover (FCF)を使用するクライアント・ドライバおよびプールによって排出されます。 |
|
この引数が サービスの作成中または変更中に、このパラメータの検証は行われません。 接続時に、接続ユーザーがエディションに対する |
|
アプリケーション・コンティニュイティとTAFが接続を再試行するまでの遅延秒数です。 アプリケーション・コンティニュイティに対するデフォルト値は10秒です。 サービスによるフェイルオーバーと登録に時間がかかる場合は、遅延時間を0秒に指定しないでください。 長い遅延時間は、計画済停止やData Guardへのフェイルオーバーでは有効です。 サービスがすでに提供されているOracle RACでは、短い遅延時間が効率的です。 |
|
アプリケーション・コンティニュイティとTAFに使用するサービスのフェイルオーバー |
|
アプリケーション・コンティニュイティの場合、 AC OCIの場合、 |
|
アプリケーション・コンティニュイティとTAFが接続を再試行する回数です。 |
|
アプリケーション・コンティニュイティとTAFに使用するサービスのフェイルオーバー |
|
サービスのワークロード管理目標ディレクティブ。 有効な値は次のとおりです。
|
|
アプリケーション・コンティニュイティの場合、 |
|
Oracle Databaseによってリクエスト間でセッション状態を自動的にクリアするために使用します。 |
|
|
|
リクエスト中に非トランザクションがどのように変化するかを示します。 このパラメータが考慮されるのは、アプリケーション・コンティニュイティの |
|
SQL翻訳プロファイルの名前。 |
|
サービスの停止オプション。 |
|
テンプレートのタイムアウト時間(秒)。 |
true_cache_service |
プライマリ・サービスに登録されているTrue Cacheサービスの名前。 |
例
DECLARE params dbms_app_cont_admin.svc_parameter_array; BEGIN params('FAILOVER_TYPE') :='TRANSACTION'; params('FAILOVER_RESTORE') :='LEVEL2'; params('RESET_STATE') :='NONE'; params('SESSION_STATE_CONSISTENCY') :='DYNAMIC'; DBMS_APP_CONT_ADMIN.MODIFY_SERVICE('ernie.example.com', params); END;
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);
パラメータ
表22-24 RESET_REPLAY_RULESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションの |
|
リプレイ・ルールのターゲット。 使用可能な値は次のとおりです。
bit or として渡します: dbms_app_cont.side_effects + dbms_app_cont.autonomous_transactions |
SET_DRAININGプロシージャ
このプロシージャでは、タイムアウト値や停止オプションなど、サービスの排出オプションを構成します。
構文
DBMS_APP_CONT_ADMIN.SET_DRAINING ( service_name IN VARCHAR2, drain_timeout IN BINARY_INTEGER DEFAULT 300 stop_option IN VARCHAR2 DEFAULT 'NONE');
パラメータ
表22-25 SET_DRAININGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、そのサービスに対してのみ排出が設定されます。 |
DRAIN_TIMEOUT |
リソースの排出が完了するまでの許容時間を秒数で指定します。 有効な値は、空の文字列("")、0、または正の整数です。 |
STOP_OPTION |
サービスを停止する方法を指定します。 使用可能なオプションは、 |
例
SQL> execute dbms_app_cont_admin.set_draining('TPURGENT', 300, 'IMMEDIATE');
SET_LOAD_BALANCINGプロシージャ
このプロシージャでは、サービスのロード・バランシング・オプションを構成します。
構文
DBMS_APP_CONT_ADMIN.SET_LOAD_BALANCING ( service_name IN VARCHAR2, goal IN VARCHAR2);
パラメータ
表22-26 SET_LOAD_BALANCINGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションのサービス名修飾子が指定されている場合は、指定されたサービスに対してのみロード・バランシングが設定されます。 |
GOAL |
ロード・バランシングの目標。 使用可能な値は次のとおりです。
|
例
SQL> execute dbms_app_cont_admin.set_load_balancing('TPURGENT', 'CLBGOAL');
SET_REPLAY_RULESプロシージャ
このプロシージャは、指定されたサービスまたは現在のサービスのリプレイ・ルールを設定します。
リプレイ・ルールは、アプリケーション・コンティニュイティによって、副作用をリプレイできるかどうかを決定するために使用されます。
構文
DBMS_APP_CONT_ADMIN.SET_REPLAY_RULES ( service_name IN VARCHAR2 DEFAULT NULL replayable IN BOOLEAN, targets IN BINARY_INTEGER);
パラメータ
表22-27 SET_REPLAY_RULESプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
オプションのサービス名修飾子。 オプションの |
|
ルールがリプレイ可能かどうかに応じて、 |
|
このルールが適用されるターゲットの効果。 使用可能な値は次のとおりです。
bit or として渡します: dbms_app_cont.side_effects + dbms_app_cont.autonomous_transactions |