DBMS_PROXY_SQL

Beschreibt die Verfahren zum Aktivieren und Deaktivieren der Abfrageauslagerung für einen Elastic Pool Leader oder ein Elastic Pool Member. Dieses Package enthält außerdem Prozeduren zum Aktivieren und Verwalten von ProxySQL für das Anweisungsrouting.

Zusammenfassung der DBMS_PROXY_SQL-Unterprogramme

In dieser Tabelle werden die Unterprogramme zusammengefasst, die im Package DBMS_PROXY_SQL enthalten sind.

Unterprogramm Beschreibung
   

Prozedur ACCEPT_MAPPING

Fügt der Autonomous Database-Zielinstanz einen neuen Zuordnungseintrag hinzu, der dem Zuordnungseintrag für ein Schemaobjekt in der Autonomous Database-Routerinstanz entspricht.

Prozedur ADD_MAPPING

Fügt einen neuen Zuordnungseintrag für ein Schemaobjekt in der Routing-Tabelle der Autonomous Database-Routerinstanz hinzu.

   

Prozedur DISABLE_READ_ONLY_OFFLOAD

Deaktiviert die Abfrageauslagerung für einen Elastic Pool Leader von Autonomous Database oder für ein Elastic Pool Member.

Prozedur DISABLE_ROUTING

Deaktiviert das automatische Anweisungsrouting ProxySQL für eine Autonomous Database-Instanz.

Prozedur ENABLE_READ_ONLY_OFFLOAD

Ermöglicht die Abfrageauslagerung für einen Elastic Pool Leader von Autonomous Database oder für ein Elastic Pool Member.

Prozedur ENABLE_ROUTING

Aktiviert das automatische Anweisungsrouting ProxySQL für eine Autonomous Database-Instanz.

Prozedur REJECT_MAPPING

Entfernt einen vorhandenen Zuordnungseintrag für ein Schemaobjekt aus der Autonomous Database-Zielinstanz.

Prozedur REMOVE_MAPPING

Entfernt einen vorhandenen Zuordnungseintrag für ein Schemaobjekt aus der Autonomous Database-Routerinstanz.

Prozedur ACCEPT_MAPPING

Führen Sie diese Prozedur für eine ProxySQL-Zielinstanz aus, um einen neuen Zuordnungseintrag hinzuzufügen, der dem Zuordnungseintrag für ein Objekt in der Routing-Tabelle der Autonomous Database-Routerinstanz entspricht.

Syntax

DBMS_PROXY_SQL.ACCEPT_MAPPING ( 
    object_owner          IN VARCHAR2,
    router_database_ocid  IN VARCHAR2);

Parameter

Parameter Beschreibung

object_owner

Gibt den Objekteigentümer an.

Dieser Parameter ist obligatorisch.

router_database_ocid

Gibt die OCID der Autonomous Database-Routerinstanz an.

Der Wert router_database_ocid muss in Großbuchstaben angegeben werden.

Dieser Parameter ist obligatorisch.

Beispiel

BEGIN
 DBMS_PROXY_SQL.ACCEPT_MAPPING ( 
    object_owner          => 'DW_USER',
    router_database_ocid  => 'TARGET_DATABASE_OCID');
 END;
/

Hinweise zur Verwendung

  • Sie müssen diese Prozedur in der Autonomous Database-Zielinstanz ausführen.

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.

  • Jeder Zuordnungseintrag in der Routing-Tabelle der Autonomous Database-Instanz des Routers muss einen entsprechenden Eintrag in der jeweiligen Autonomous Database-Zielinstanz aufweisen.

Prozedur ADD_MAPPING

Führen Sie diese Prozedur für eine Autonomous Database-Routerinstanz aus, um eine neue Zuordnung in der Routing-Tabelle hinzuzufügen.

Syntax

DBMS_PROXY_SQL.ADD_MAPPING ( 
    object_owner   IN VARCHAR2,
    object_name    IN VARCHAR2,
    database_ocid  IN VARCHAR2);

Parameter

Parameter Beschreibung

object_owner

Gibt den Objekteigentümer an.

Dieser Parameter ist obligatorisch.

object_name

Gibt den Namen des Objekts an, für das das automatische Anweisungs-Routing aktiviert werden soll.

Die gültigen Werte für den Parameter object_name lauten:

  • Eine object_name, um das Routing auf Objektebene zu aktivieren.

  • Ein Sternchen (*), um das Routing auf Schemaebene zu aktivieren.

Dieser Parameter ist obligatorisch.

database_ocid

Gibt die OCID der Autonomous Database-Zielinstanz an.

Der Wert database_ocid muss in Großbuchstaben angegeben werden.

Dieser Parameter ist obligatorisch.

Beispiele

Beispiel zum Aktivieren des Routings auf Objektebene:

BEGIN
 DBMS_PROXY_SQL.ADD_MAPPING( 
    object_owner   => 'DW_USER',
    object_name    => 'INVENTORY',
    database_ocid  => 'TARGET_DATABASE_OCID');
END;
/

Beispiel zum Aktivieren des Routings auf Schemaebene:

BEGIN
 DBMS_PROXY_SQL.ADD_MAPPING( 
    object_owner   => 'DW_USER',
    object_name    => '*',
    database_ocid  => 'TARGET_DATABASE_OCID');
END;
/

Hinweise zur Verwendung

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.

  • Sie müssen diese Prozedur auf der Autonomous Database-Routerinstanz ausführen.

Prozedur DISABLE_READ_ONLY_OFFLOAD

Diese Prozedur deaktiviert die Abfrageauslagerung für einen Elastic Pool Leader von Autonomous Database oder für ein Elastic Pool Member.

Syntax

DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Beispiel

EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Prozedur DISABLE_ROUTING

Führen Sie dieses Verfahren auf einer Routerinstanz aus, um ProxySQL zu deaktivieren.

Syntax

DBMS_PROXY_SQL.DISABLE_ROUTING;

Beispiel

BEGIN
   DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/

Hinweise zur Verwendung

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.

  • Sie müssen diese Prozedur auf der Autonomous Database-Routerinstanz ausführen.

Prozedur ENABLE_READ_ONLY_OFFLOAD

Diese Prozedur ermöglicht die Abfrageauslagerung für einen Elastic Pool Leader von Autonomous Database oder für ein Elastic Pool Member.

Syntax

DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD( 
      module_name       IN CLOB, 
      action_name       IN CLOB);

Parameter

Parameter Beschreibung

module_name

Gibt eine Liste der Modulnamen als durch Komma getrennte Liste an. Die Liste gibt die Module an, bei denen Abfragen für die Auslagerung berücksichtigt werden (wobei der Modulname einer Session mit einem Wert in der Liste übereinstimmt).

Der Standardwert für diesen Parameter ist NULL. Das bedeutet, dass der Modulname einer Session ein beliebiger Wert sein kann und die Session für das Auslagern berücksichtigt wird.

action_name

Gibt eine Liste der Aktionsnamen als durch Komma getrennte Liste an. Die Liste gibt die Aktionsnamen an, bei denen Abfragen für die Auslagerung berücksichtigt werden (wobei der Aktionsname einer Session mit einem Wert in der Liste übereinstimmt).

Der Standardwert für diesen Parameter ist NULL. Das bedeutet, dass der Aktionsname einer Session ein beliebiger Wert sein kann und die Session zum Auslagern berücksichtigt wird

Hinweise zur Verwendung

  • Wenn sowohl module_name als auch action_name angegeben sind, muss der Modulname einer Session mit einem Wert in der Liste der Modulnamen übereinstimmen, und der Aktionsname muss mit einem Wert in der Liste der Aktionsnamen übereinstimmen, damit die Session für das Auslagern berücksichtigt werden kann.

  • Wenn das Auslagern von Abfragen für eine Session aktiviert ist, finden Sie den Namen des aktualisierbaren Klons, in den Abfragen ausgelagert werden. Beispiele:

    SELECT sys_context('userenv', 'con_name') from dual;

    Wenn Abfragen nicht an einen aktualisierbaren Klon ausgelagert werden, zeigt diese Abfrage den Namen des Elastic Pool Leader (oder den Namen des Elastic Pool Members) an.

  • In den Views DBA_PROXY_SQL_ACTIONS und DBA_PROXY_SQL_MODULES wird die Liste der Module oder Aktionen angezeigt, die für die Abfrageauslagerung konfiguriert sind. Sie müssen diese Views aus einer Session abfragen, die nicht für die Abfrageauslagerung aktiviert ist.

    Weitere Informationen finden Sie unter DBA_PROXY_SQL Views.

  • Wenn Sie Abfragen aus einer Liste von Sessions auslagern, die Sie nach Modul- oder Aktionsname angeben, müssen der Modulname und der Aktionsname mit DBMS_APPLICATION_INFO zwischen Groß- und Kleinschreibung unterschieden werden. DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD beachtet dieses Verhalten, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Wenn eine Session einen Modulnamen in Kleinbuchstaben oder einen Modulnamen mit gemischter Groß-/Kleinschreibung enthält, muss die Groß-/Kleinschreibung in den Parameterwerten übereinstimmen, wenn Sie die Abfrageauslagerung mit DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD aktivieren und die Parameter module_name oder action_name einschließen.

    Sie können den Modulnamen und den Aktionsnamen für die aktuelle Session mit DBMS_APPLICATION_INFO.READ_MODULE prüfen:

    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;
    /

Beispiele

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;
/

Prozedur ENABLE_ROUTING

Führen Sie diese Prozedur auf einer Autonomous Database-Instanz aus, um die Instanz als Routerinstanz zu kennzeichnen und das automatische Anweisungsrouting zu aktivieren.

Syntax


DBMS_PROXY_SQL.ENABLE_ROUTING;

Beispiel

BEGIN
   DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/

Hinweise zur Verwendung

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.

  • Sie müssen diese Prozedur auf der Autonomous Database-Routerinstanz ausführen.

Prozedur REJECT_MAPPING

Führen Sie den Prozess auf einer Autonomous Database-Zielinstanz aus, um einen vorhandenen Zuordnungseintrag aus der Akzeptanztabelle zu entfernen.

Syntax

DBMS_PROXY_SQL.REJECT_MAPPING ( 
    object_owner         IN VARCHAR2,
    router_database_ocid IN VARCHAR2);

Parameter

Parameter Beschreibung

object_owner

Gibt den Objekteigentümer an.

Dieser Parameter ist obligatorisch.

router_database_ocid

Gibt die OCID der Autonomous Database-Routerinstanz an.

Der Wert router_database_ocid muss in Großbuchstaben angegeben werden.

Dieser Parameter ist obligatorisch.

Beispiel

BEGIN
 DBMS_PROXY_SQL.REJECT_MAPPING ( 
    object_owner          => 'DW_USER',
    router_database_ocid  => 'TARGET_DATABASE_OCID');
 END;
/

Hinweise zur Verwendung

  • Sie müssen die Prozedur in der Autonomous Database-Zielinstanz ausführen.

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.

Prozedur REMOVE_MAPPING

Führen Sie diese Prozedur in der Autonomous Database-Routerinstanz aus, um einen vorhandenen Zuordnungseintrag für ein Objekt aus der Routing-Tabelle zu entfernen.

Syntax

DBMS_PROXY_SQL.REMOVE_MAPPING ( 
    object_owner   IN VARCHAR2,
    object_name    IN VARCHAR2);

Parameter

Parameter Beschreibung

object_owner

Gibt den Objekteigentümer an.

Dieser Parameter ist obligatorisch.

object_name

Gibt den Namen des Objekts an, für das die automatische Abfrageweiterleitung deaktiviert werden soll.

Dieser Parameter ist obligatorisch.

Beispiel

BEGIN
 DBMS_PROXY_SQL.REMOVE_MAPPING ( 
    object_owner   => 'DW_USER',
    object_name    => 'INVENTORY');
 END;
/

Hinweise zur Verwendung

  • Sie müssen diese Prozedur auf der Autonomous Database-Routerinstanz ausführen.

  • Um diese Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für das Package DBMS_PROXY_SQL besitzen.