DBMS_PROXY_SQL

Décrit les procédures permettant d'activer et de désactiver le déchargement des requêtes pour un leader de pool élastique ou un membre de pool élastique. Ce package fournit également des procédures permettant d'activer et de gérer ProxySQL pour le routage des instructions.

Récapitulatif des sous-programmes DBMS_PROXY_SQL

Ce tableau récapitule les sous-programmes inclus dans le package DBMS_PROXY_SQL.

Sous-programme Description
   

Procédure ACCEPT_MAPPING

Ajoute une nouvelle entrée de mapping sur l'instance Autonomous Database cible correspondant à l'entrée de mapping d'un objet de schéma sur l'instance Autonomous Database du routeur.

Procédure ADD_MAPPING

Ajoute une nouvelle entrée de mapping pour un objet de schéma dans la table de routage sur l'instance Autonomous Database du routeur.

   

Procédure DISABLE_READ_ONLY_OFFLOAD

Désactive le déchargement des requêtes pour un leader de pool élastique Autonomous Database ou pour un membre de pool élastique.

Procédure DISABLE_ROUTING

Désactive le routage automatique d'instructions ProxySQL pour une instance Autonomous Database.

Procédure ENABLE_READ_ONLY_OFFLOAD

Active le déchargement des requêtes pour un leader de pool élastique Autonomous Database ou pour un membre de pool élastique.

Procédure ENABLE_ROUTING

Active le routage automatique d'instructions ProxySQL pour une instance Autonomous Database.

Procédure REJECT_MAPPING

Enlève une entrée de mapping existante pour un objet de schéma de l'instance Autonomous Database cible.

Procédure REMOVE_MAPPING

Enlève une entrée de mapping existante pour un objet de schéma de l'instance Autonomous Database du routeur.

Procédure ACCEPT_MAPPING

Exécutez cette procédure sur une instance cible ProxySQL pour ajouter une nouvelle entrée de mapping correspondant à l'entrée de mapping d'un objet dans la table de routage sur l'instance Autonomous Database du routeur.

Syntaxe

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

Paramètres

Paramètre Description

object_owner

Indique le propriétaire de l'objet.

Ce paramètre est obligatoire.

router_database_ocid

Indique l'OCID de l'instance Autonomous Database du routeur.

La valeur router_database_ocid doit être indiquée en majuscules.

Ce paramètre est obligatoire.

Exemple

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

Notes d'utilisation

  • Vous devez exécuter cette procédure sur l'instance Autonomous Database cible.

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.

  • Chaque entrée de mapping dans la table de routage de l'instance Autonomous Database de routeur doit avoir une entrée correspondante sur l'instance Autonomous Database cible correspondante.

Procédure ADD_MAPPING

Exécutez cette procédure sur une instance Autonomous Database de routeur pour ajouter un nouveau mapping dans la table de routage.

Syntaxe

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

Paramètres

Paramètre Description

object_owner

Indique le propriétaire de l'objet.

Ce paramètre est obligatoire.

object_name

Spécifie le nom de l'objet pour lequel le routage automatique des relevés doit être activé.

Les valeurs valides pour le paramètre object_name sont les suivantes :

  • object_name pour activer le routage au niveau de l'objet.

  • Un astérisque (*) pour activer le routage au niveau du schéma.

Ce paramètre est obligatoire.

database_ocid

Indique l'OCID de l'instance Autonomous Database cible.

La valeur database_ocid doit être indiquée en majuscules.

Ce paramètre est obligatoire.

Exemples

Exemple d'activation du routage au niveau objet :

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

Exemple d'activation du routage au niveau schéma :

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

Notes d'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.

  • Vous devez exécuter cette procédure sur l'instance Autonomous Database du routeur.

DISABLE_READ_ONLY_OFFLOAD Procédure

Cette procédure désactive le déchargement des requêtes pour un leader de pool élastique Autonomous Database ou pour un membre de pool élastique.

Syntaxe

DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Exemple

EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Procédure DISABLE_ROUTING

Exécutez cette procédure sur une instance de routeur pour désactiver ProxySQL.

Syntaxe

DBMS_PROXY_SQL.DISABLE_ROUTING;

Exemple

BEGIN
   DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/

Notes d'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.

  • Vous devez exécuter cette procédure sur l'instance Autonomous Database du routeur.

ENABLE_READ_ONLY_OFFLOAD Procédure

Cette procédure active le déchargement des requêtes pour un leader de pool élastique Autonomous Database ou pour un membre de pool élastique.

Syntaxe

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

Paramètres

Paramètre Description

module_name

Spécifie une liste de noms de modules séparés par des virgules. La liste indique les modules dans lesquels les requêtes sont prises en compte pour le déchargement (où le nom de module d'une session correspond à une valeur de la liste).

La valeur par défaut de ce paramètre est NULL, ce qui signifie que le nom de module d'une session peut être n'importe quelle valeur et que la session est prise en compte pour le déchargement.

action_name

Spécifie une liste de noms d'action séparés par des virgules. La liste indique les noms d'action dans lesquels les requêtes sont prises en compte pour le déchargement (où le nom d'action d'une session correspond à une valeur de la liste).

La valeur par défaut de ce paramètre est NULL, ce qui signifie que le nom d'action d'une session peut être n'importe quelle valeur et que la session est prise en compte pour le déchargement

Notes d'utilisation

  • Si module_name et action_name sont indiqués, le nom de module d'une session doit correspondre à une valeur de la liste des noms de module et son nom d'action doit correspondre à une valeur de la liste des noms d'action pour la session à prendre en compte pour le déchargement.

  • Lorsque le déchargement de requête est activé pour une session, vous pouvez trouver le nom du clone actualisable vers lequel les requêtes sont déchargées. Exemples :

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

    Si les requêtes ne sont pas déchargées vers un clone actualisable, cette requête affiche le nom de l'amorce du pool élastique (ou le nom du membre du pool élastique).

  • Les vues DBA_PROXY_SQL_ACTIONS et DBA_PROXY_SQL_MODULES affichent la liste des modules ou des actions configurés pour le déchargement des requêtes. Vous devez interroger ces vues à partir d'une session qui n'est pas activée pour le déchargement des requêtes.

    Pour plus d'informations, reportez-vous à DBA_PROXY_SQL Vues.

  • Lorsque vous déchargez des requêtes d'une liste de sessions que vous indiquez par nom de module ou d'action, le nom de module et le nom d'action définis avec DBMS_APPLICATION_INFO sont sensibles à la casse. DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD respecte ce comportement sensible à la casse. Par exemple, lorsqu'une session a un nom de module en minuscules ou un nom de module en majuscules/minuscules, la casse doit correspondre dans les valeurs de paramètre lorsque vous activez le déchargement de requête avec DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD et que vous incluez les paramètres module_name ou action_name.

    Vous pouvez vérifier le nom du module et le nom de l'action pour la session en cours à l'aide de 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;
    /

Exemples

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

Procédure ENABLE_ROUTING

Exécutez cette procédure sur une instance Autonomous Database pour désigner l'instance en tant qu'instance de routeur et activer le routage automatique des instructions.

Syntaxe


DBMS_PROXY_SQL.ENABLE_ROUTING;

Exemple

BEGIN
   DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/

Notes d'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.

  • Vous devez exécuter cette procédure sur l'instance Autonomous Database du routeur.

Procédure REJECT_MAPPING

Exécutez-la sur une instance Autonomous Database cible pour enlever une entrée de mapping existante de la table d'acceptation.

Syntaxe

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

Paramètres

Paramètre Description

object_owner

Indique le propriétaire de l'objet.

Ce paramètre est obligatoire.

router_database_ocid

Indique l'OCID de l'instance Autonomous Database du routeur.

La valeur router_database_ocid doit être indiquée en majuscules.

Ce paramètre est obligatoire.

Exemple

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

Notes d'utilisation

  • Vous devez exécuter la procédure sur l'instance Autonomous Database cible.

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.

Procédure REMOVE_MAPPING

Exécutez cette procédure sur l'instance Autonomous Database du routeur pour enlever une entrée de mapping existante pour un objet de la table de routage.

Syntaxe

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

Paramètres

Paramètre Description

object_owner

Indique le propriétaire de l'objet.

Ce paramètre est obligatoire.

object_name

Spécifie le nom de l'objet pour lequel le routage automatique des requêtes doit être désactivé.

Ce paramètre est obligatoire.

Exemple

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

Notes d'utilisation

  • Vous devez exécuter cette procédure sur l'instance Autonomous Database du routeur.

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur le package DBMS_PROXY_SQL.