DBMS_PROXY_SQL
エラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効または無効にする手順について説明します。このパッケージには、文ルーティングのProxySQLを有効化および管理するプロシージャも用意されています。
DBMS_PROXY_SQLサブプログラムの要約
この表は、DBMS_PROXY_SQLパッケージに含まれるサブプログラムの概要を示しています。
| サブプログラム | 摘要 |
|---|---|
| ACCEPT_MAPPINGプロシージャ | ルーターAutonomous AI Databaseインスタンスのスキーマ・オブジェクトのマッピング・エントリに対応するターゲットAutonomous AI Databaseインスタンスに、新しいマッピング・エントリを追加します。 |
| ADD_MAPPINGプロシージャ | ルーターAutonomous AI Databaseインスタンスのルーティング表にスキーマ・オブジェクトの新しいマッピング・エントリを追加します。 |
| DISABLE_READ_ONLY_OFFLOADプロシージャ | Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。 |
| DISABLE_ROUTINGプロシージャ | Autonomous AI DatabaseインスタンスのProxySQL自動文ルーティングを無効にします。 |
| ENABLE_READ_ONLY_OFFLOADプロシージャ | Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。 |
| ENABLE_ROUTINGプロシージャ | Autonomous AI DatabaseインスタンスのProxySQL自動文ルーティングを有効にします。 |
| REJECT_MAPPINGプロシージャ | ターゲットAutonomous AI Databaseインスタンスからスキーマ・オブジェクトの既存のマッピング・エントリを削除します。 |
| REMOVE_MAPPINGプロシージャ | ルーターAutonomous AI Databaseインスタンスからスキーマ・オブジェクトの既存のマッピング・エントリを削除します。 |
-
ACCEPT_MAPPINGプロシージャこのプロシージャをProxySQLターゲット・インスタンスで実行して、ルーターのAutonomous AI Databaseインスタンスのルーティング表にあるオブジェクトのマッピング・エントリに対応する新しいマッピング・エントリを追加します。
-
ADD_MAPPINGプロシージャこのプロシージャをルーターAutonomous AI Databaseインスタンスで実行して、ルーティング表に新しいマッピングを追加します。
-
DISABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。
-
ProxySQLを無効にするには、このプロシージャをルーター・インスタンスで実行します。
-
ENABLE_READ_ONLY_OFFLOADプロシージャこのプロシージャは、Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。
-
このプロシージャをAutonomous AI Databaseインスタンスで実行して、インスタンスをルーター・インスタンスとして指定し、文の自動ルーティングを有効にします。
-
ターゲットAutonomous AI Databaseインスタンスで実行して、受入表から既存のマッピング・エントリを削除します。
-
ルーターAutonomous AI Databaseインスタンスでこのプロシージャを実行して、オブジェクトの既存のマッピング・エントリをルーティング表から削除します。
ACCEPT_MAPPINGプロシージャ
ProxySQLターゲット・インスタンスに対してこのプロシージャを実行して、ルーターAutonomous AI Databaseインスタンスのルーティング表にあるオブジェクトのマッピング・エントリに対応する新しいマッピング・エントリを追加します。
構文
DBMS_PROXY_SQL.ACCEPT_MAPPING (
object_owner IN VARCHAR2,
router_database_ocid IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
object_owner |
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
router_database_ocid |
ルーターAutonomous AI DatabaseインスタンスのOCIDを指定します。
このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.ACCEPT_MAPPING (
object_owner => 'DW_USER',
router_database_ocid => 'TARGET_DATABASE_OCID');
END;
/使用上のノート
-
この手順は、ターゲットのAutonomous AI Databaseインスタンスで実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQLパッケージに対するEXECUTE権限を持っている必要があります。 -
ルーターAutonomous AI Databaseインスタンスのルーティング表内の各マッピング・エントリには、それぞれのターゲットAutonomous AI Databaseインスタンスに対応するエントリが必要です。
ADD_MAPPINGプロシージャ
このプロシージャをルーターAutonomous AI Databaseインスタンスで実行して、ルーティング表に新しいマッピングを追加します。
構文
DBMS_PROXY_SQL.ADD_MAPPING (
object_owner IN VARCHAR2,
object_name IN VARCHAR2,
database_ocid IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
object_owner |
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
object_name |
自動文ルーティングを有効にするオブジェクトの名前を指定します。
このパラメータは必須です。 |
database_ocid |
ターゲットAutonomous AI 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 AI Databaseインスタンスで実行する必要があります。
DISABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを無効にします。
構文
DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;例
EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;DISABLE_ROUTINGプロシージャ
このプロシージャをルーター・インスタンスで実行して、ProxySQLを無効にします。
構文
DBMS_PROXY_SQL.DISABLE_ROUTING;例
BEGIN
DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/使用上のノート
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQLパッケージに対するEXECUTE権限を持っている必要があります。 -
この手順は、ルーターAutonomous AI Databaseインスタンスで実行する必要があります。
ENABLE_READ_ONLY_OFFLOADプロシージャ
このプロシージャは、Autonomous AI Databaseエラスティック・プール・リーダーまたはエラスティック・プール・メンバーの問合せオフロードを有効にします。
構文
DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD(
module_name IN CLOB,
action_name IN CLOB);パラメータ
| パラメータ | 摘要 |
|---|---|
module_name |
モジュール名のリストをコンマ区切りのリストとして指定します。このリストでは、問合せがオフロードとみなされるモジュールを指定します(セッションのモジュール名はリストの値と一致します)。 このパラメータのデフォルト値は |
action_name |
アクション名のリストをコンマ区切りのリストとして指定します。リストでは、問合せがオフロードの対象とみなされるアクション名を指定します(セッションのアクション名はリスト内の値と一致します)。 このパラメータのデフォルト値は |
使用上のノート
-
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;
/ENABLE_ROUTINGプロシージャ
Autonomous AI Databaseインスタンスでこの手順を実行して、インスタンスをルーター・インスタンスとして指定し、自動文ルーティングを有効にします。
構文
DBMS_PROXY_SQL.ENABLE_ROUTING;例
BEGIN
DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/使用上のノート
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQLパッケージに対するEXECUTE権限を持っている必要があります。 -
この手順は、ルーターAutonomous AI Databaseインスタンスで実行する必要があります。
REJECT_MAPPINGプロシージャ
ターゲットAutonomous AI Databaseインスタンスで実行して、受入表から既存のマッピング・エントリを削除します。
構文
DBMS_PROXY_SQL.REJECT_MAPPING (
object_owner IN VARCHAR2,
router_database_ocid IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
object_owner |
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
router_database_ocid |
ルーターAutonomous AI DatabaseインスタンスのOCIDを指定します。
このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.REJECT_MAPPING (
object_owner => 'DW_USER',
router_database_ocid => '*TARGET_DATABASE_OCID*');
END;
/使用上のノート
-
ターゲットAutonomous AI Databaseインスタンスでプロシージャを実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQLパッケージに対するEXECUTE権限を持っている必要があります。
REMOVE_MAPPINGプロシージャ
ルーターのAutonomous AI Databaseインスタンスでこの手順を実行して、ルーティング表からオブジェクトの既存のマッピング・エントリを削除します。
構文
DBMS_PROXY_SQL.REMOVE_MAPPING (
object_owner IN VARCHAR2,
object_name IN VARCHAR2);パラメータ
| パラメータ | 摘要 |
|---|---|
object_owner |
オブジェクトの所有者を指定します。 このパラメータは必須です。 |
object_name |
自動問合せルーティングを無効にするオブジェクトの名前を指定します。 このパラメータは必須です。 |
例
BEGIN
DBMS_PROXY_SQL.REMOVE_MAPPING (
object_owner => 'DW_USER',
object_name => 'INVENTORY');
END;
/使用上のノート
-
この手順は、ルーターAutonomous AI Databaseインスタンスで実行する必要があります。
-
このプロシージャを実行するには、ADMINユーザーとしてログインするか、
DBMS_PROXY_SQLパッケージに対するEXECUTE権限を持っている必要があります。