DBMS_PROXY_SQL
エラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効または無効にする手順について説明します。このパッケージには、文ルーティングのProxySQLを有効化および管理するプロシージャも用意されています。
- DBMS_PROXY_SQLサブプログラムの概要
この表は、DBMS_PROXY_SQL
パッケージに含まれるサブプログラムの概要を示しています。
DBMS_PROXY_SQLサブプログラムの要約
この表は、DBMS_PROXY_SQL
パッケージに含まれるサブプログラムの概要を示しています。
サブプログラム | 説明 |
---|---|
ルーターAutonomous Databaseインスタンス上のスキーマ・オブジェクトのマッピング・エントリに対応するターゲットAutonomous Databaseインスタンスに、新しいマッピング・エントリを追加します。 |
|
ルーターのAutonomous Databaseインスタンスのルーティング表に、スキーマ・オブジェクトの新しいマッピング・エントリを追加します。 |
|
Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。 |
|
Autonomous DatabaseインスタンスのProxySQL自動文ルーティングを無効にします。 |
|
Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。 |
|
Autonomous DatabaseインスタンスのProxySQL自動文ルーティングを有効にします。 |
|
ターゲットAutonomous Databaseインスタンスから、スキーマ・オブジェクトの既存のマッピング・エントリを削除します。 |
|
ルーターのAutonomous Databaseインスタンスから、スキーマ・オブジェクトの既存のマッピング・エントリを削除します。 |
- ACCEPT_MAPPINGプロシージャ
このプロシージャをProxySQLターゲット・インスタンスで実行して、ルーターAutonomous Databaseインスタンスのルーティング表にあるオブジェクトのマッピング・エントリに対応する新しいマッピング・エントリを追加します。 - ADD_MAPPINGプロシージャ
このプロシージャをルーターのAutonomous Databaseインスタンスで実行して、ルーティング表に新しいマッピングを追加します。 - DISABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。 - DISABLE_ROUTINGプロシージャ
このプロシージャをルーター・インスタンスで実行して、ProxySQLを無効にします。 - ENABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。 - ENABLE_ROUTINGプロシージャ
このプロシージャをAutonomous Databaseインスタンスで実行して、インスタンスをルーター・インスタンスとして指定し、文の自動ルーティングを有効にします。 - REJECT_MAPPINGプロシージャ
ターゲットAutonomous Databaseインスタンスで実行して、受入れ表から既存のマッピング・エントリを削除します。 - REMOVE_MAPPINGプロシージャ
このプロシージャをルーターのAutonomous Databaseインスタンスで実行して、オブジェクトの既存のマッピング・エントリをルーティング表から削除します。
親トピック: DBMS_PROXY_SQL
ACCEPT_MAPPINGプロシージャ
ProxySQLターゲット・インスタンスに対してこのプロシージャを実行して、ルーターAutonomous Databaseインスタンスのルーティング表にあるオブジェクトのマッピング・エントリに対応する新しいマッピング・エントリを追加します。
構文
DBMS_PROXY_SQL.ACCEPT_MAPPING
(
object_owner IN VARCHAR2,
router_database_ocid IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
|
ルーターAutonomous DatabaseインスタンスのOCIDを指定します。
このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.ACCEPT_MAPPING
(
object_owner => 'DW_USER',
router_database_ocid => 'TARGET_DATABASE_OCID');
END;
/
使用上のノート
-
このプロシージャは、ターゲットAutonomous Databaseインスタンスで実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。 -
ルーターAutonomous Databaseインスタンスのルーティング表内の各マッピング・エントリには、対応するエントリがそれぞれのターゲットAutonomous Databaseインスタンスにある必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約
ADD_MAPPINGプロシージャ
このプロシージャをルーターのAutonomous Databaseインスタンスで実行して、ルーティング表に新しいマッピングを追加します。
構文
DBMS_PROXY_SQL.ADD_MAPPING
(
object_owner IN VARCHAR2,
object_name IN VARCHAR2,
database_ocid IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
|
自動文ルーティングを有効にするオブジェクトの名前を指定します。
このパラメータは必須です。 |
|
ターゲットAutonomous DatabaseインスタンスのOCIDを指定します。
このパラメータは必須です。 |
サンプル
オブジェクト・レベルのルーティングを有効にする例:
BEGIN
DBMS_PROXY_SQL.ADD_MAPPING
(
object_owner => 'DW_USER',
object_name => 'INVENTORY',
database_ocid => 'TARGET_DATABASE_OCID');
END;
/
スキーマ・レベルのルーティングを有効にする例:
BEGIN
DBMS_PROXY_SQL.ADD_MAPPING
(
object_owner => 'DW_USER',
object_name => '*',
database_ocid => 'TARGET_DATABASE_OCID');
END;
/
使用上のノート
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。 -
このプロシージャは、ルーターのAutonomous Databaseインスタンスで実行する必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約
DISABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。
構文
DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD
;
例
EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD
;
親トピック: DBMS_PROXY_SQLサブプログラムの要約
DISABLE_ROUTINGプロシージャ
ProxySQLを無効にするには、このプロシージャをルーター・インスタンスで実行します。
構文
DBMS_PROXY_SQL.DISABLE_ROUTING
;
例
BEGIN
DBMS_PROXY_SQL.DISABLE_ROUTING
;
END;
/
使用上のノート
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。 -
このプロシージャは、ルーターのAutonomous Databaseインスタンスで実行する必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約
ENABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。
構文
DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD
(
module_name IN CLOB,
action_name IN CLOB);
パラメータ
パラメータ | 説明 |
---|---|
|
モジュール名のリストをカンマ区切りリストとして指定します。リストには、問合せがオフロード対象とみなされるモジュールを指定します(セッションのモジュール名がリストの値と一致する場合)。 このパラメータのデフォルト値は |
|
アクション名のリストをカンマ区切りリストとして指定します。リストでは、問合せがオフロードの対象とみなされるアクション名を指定します(セッションの処理名がリストの値と一致する場合)。 このパラメータのデフォルト値は |
使用上のノート
-
module_name
とaction_name
の両方が指定されている場合、セッションのモジュール名はモジュール名のリストの値と一致する必要があり、そのアクション名はオフロード対象とみなされるセッションのアクション名のリストの値と一致する必要があります。 -
セッションに対して問合せオフロードが有効になっている場合、問合せがオフロードされるリフレッシュ可能クローンの名前を確認できます。たとえば:
SELECT sys_context('userenv', 'con_name') from dual;
問合せがリフレッシュ可能クローンにオフロードされていない場合、この問合せにはエラスティック・プール・リーダーの名前(またはエラスティック・プール・メンバーの名前)が表示されます。
-
ビュー
DBA_PROXY_SQL_ACTIONS
およびDBA_PROXY_SQL_MODULES
には、問合せオフロード用に構成されたモジュールまたはアクションのリストが表示されます。問合せオフロードが有効になっていないセッションからこれらのビューを問い合せる必要があります。詳細は、DBA_PROXY_SQLビューを参照してください。
-
モジュール名またはアクション名で指定したセッションのリストから問合せをオフロードする場合、
DBMS_APPLICATION_INFO
で設定されたモジュール名およびアクション名では大文字と小文字が区別されます。DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD
は、この大/小文字を区別する動作に従います。たとえば、セッションに小文字のモジュール名または大/小文字のモジュール名が混在している場合、DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD
で問合せオフロードを有効にし、module_name
またはaction_name
パラメータを含めると、大/小文字がパラメータ値と一致する必要があります。DBMS_APPLICATION_INFO.READ_MODULE
を使用して、現在のセッションのモジュール名およびアクション名を確認できます:set serveroutput on; declare l_mod varchar2(50); l_act varchar2(50); BEGIN DBMS_APPLICATION_INFO.READ_MODULE(l_mod, l_act); DBMS_OUTPUT.PUT_LINE('l_mod: ' || l_mod); DBMS_OUTPUT.PUT_LINE('l_act: ' || l_act); END; /
例
EXEC DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD
;
DECLARE
mod_values clob := to_clob('["mod1", "mod2"]');
act_values clob := to_clob('["act1", "act2"]');
BEGIN
DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD
(
module_name => mod_values,
action_name => act_values);
END;
/
親トピック: DBMS_PROXY_SQLサブプログラムの要約
ENABLE_ROUTINGプロシージャ
Autonomous Databaseインスタンスでこのプロシージャを実行して、インスタンスをルーター・インスタンスとして指定し、文の自動ルーティングを有効にします。
構文
DBMS_PROXY_SQL.ENABLE_ROUTING
;
例
BEGIN
DBMS_PROXY_SQL.ENABLE_ROUTING
;
END;
/
使用上のノート
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。 -
このプロシージャは、ルーターのAutonomous Databaseインスタンスで実行する必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約
REJECT_MAPPINGプロシージャ
ターゲットAutonomous Databaseインスタンスで実行して、受入れ表から既存のマッピング・エントリを削除します。
構文
DBMS_PROXY_SQL.REJECT_MAPPING
(
object_owner IN VARCHAR2,
router_database_ocid IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
|
ルーターAutonomous DatabaseインスタンスのOCIDを指定します。
このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.REJECT_MAPPING
(
object_owner => 'DW_USER',
router_database_ocid => 'TARGET_DATABASE_OCID');
END;
/
使用上のノート
-
プロシージャは、ターゲットAutonomous Databaseインスタンスで実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約
REMOVE_MAPPINGプロシージャ
ルーターのAutonomous Databaseインスタンスでこのプロシージャを実行して、オブジェクトの既存のマッピング・エントリをルーティング表から削除します。
構文
DBMS_PROXY_SQL.REMOVE_MAPPING
(
object_owner IN VARCHAR2,
object_name IN VARCHAR2);
パラメータ
パラメータ | 説明 |
---|---|
|
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
|
自動問合せルーティングを無効にするオブジェクトの名前を指定します。 このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.REMOVE_MAPPING
(
object_owner => 'DW_USER',
object_name => 'INVENTORY');
END;
/
使用上のノート
-
このプロシージャは、ルーターのAutonomous Databaseインスタンスで実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQL
パッケージに対するEXECUTE
権限を持っている必要があります。
親トピック: DBMS_PROXY_SQLサブプログラムの要約