DBMS_PROXY_SQL

Describe los procedimientos para activar y desactivar la descarga de consultas para un líder de pool elástico o un miembro de pool elástico. Este paquete también proporciona procedimientos para activar y gestionar ProxySQL para el enrutamiento de sentencias.

Resumen de Subprogramas DBMS_PROXY_SQL

En esta tabla se resumen los subprogramas incluidos en el paquete DBMS_PROXY_SQL.

Subprograma Descripción
   

ACCEPT_MAPPING Procedimiento

Agrega una nueva entrada de asignación en la instancia de Autonomous Database de destino correspondiente a la entrada de asignación de un objeto de esquema en la instancia de Autonomous Database del enrutador.

ADD_MAPPING Procedimiento

Agrega una nueva entrada de asignación para un objeto de esquema en la tabla de enrutamiento de la instancia de Autonomous Database del enrutador.

   

DISABLE_READ_ONLY_OFFLOAD Procedimiento

Desactiva la descarga de consultas para un líder de pool elástico de Autonomous Database o para un miembro de pool elástico.

DISABLE_ROUTING Procedimiento

Desactiva el enrutamiento automático de sentencias ProxySQL para una instancia de Autonomous Database.

ENABLE_READ_ONLY_OFFLOAD Procedimiento

Activa la descarga de consultas para un líder de pool elástico de Autonomous Database o para un miembro de pool elástico.

ENABLE_ROUTING Procedimiento

Activa el enrutamiento automático de sentencias ProxySQL para una instancia de Autonomous Database.

REJECT_MAPPING Procedimiento

Elimina una entrada de asignación existente para un objeto de esquema de la instancia de Autonomous Database de destino.

REMOVE_MAPPING Procedimiento

Elimina una entrada de asignación existente para un objeto de esquema de la instancia de Autonomous Database del enrutador.

ACCEPT_MAPPING Procedimiento

Ejecute este procedimiento en una instancia de destino ProxySQL para agregar una nueva entrada de asignación correspondiente a la entrada de asignación de un objeto en la tabla de enrutamiento en la instancia de Autonomous Database del enrutador.

Sintaxis

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

Parámetro

parámetro Descripción

object_owner

Especifica el propietario del objeto.

Este parámetro es obligatorio.

router_database_ocid

Especifica el OCID de la instancia de Autonomous Database del enrutador.

El valor router_database_ocid se debe proporcionar en mayúsculas.

Este parámetro es obligatorio.

Ejemplo

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

Notas de Uso

  • Debe ejecutar este procedimiento en la instancia de Autonomous Database de destino.

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.

  • Cada entrada de asignación de la tabla de enrutamiento de la instancia de Autonomous Database del enrutador debe tener una entrada correspondiente en la instancia de Autonomous Database de destino correspondiente.

ADD_MAPPING Procedimiento

Ejecute este procedimiento en una instancia de Autonomous Database de enrutador para agregar una nueva asignación en la tabla de enrutamiento.

Sintaxis

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

Parámetros

Parámetro Descripción

object_owner

Especifica el propietario del objeto.

Este parámetro es obligatorio.

object_name

Especifica el nombre del objeto para el que se debe activar el enrutamiento automático de sentencias.

Los valores válidos para el parámetro object_name son:

  • object_name para activar el enrutamiento a nivel de objeto.

  • Un asterisco (*) para activar el enrutamiento a nivel de esquema.

Este parámetro es obligatorio.

database_ocid

Especifica el OCID de la instancia de Autonomous Database de destino.

El valor database_ocid se debe proporcionar en mayúsculas.

Este parámetro es obligatorio.

Ejemplos

Ejemplo para activar el enrutamiento a nivel de objeto:

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

Ejemplo para activar el enrutamiento a nivel de esquema:

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

Notas de Uso

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.

  • Debe ejecutar este procedimiento en la instancia de Autonomous Database del enrutador.

Procedimiento DISABLE_READ_ONLY_OFFLOAD

Este procedimiento desactiva la descarga de consultas para un líder de pool elástico de Autonomous Database o para un miembro de pool elástico.

Sintaxis

DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Ejemplo

EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

DISABLE_ROUTING Procedimiento

Ejecute este procedimiento en una instancia de enrutador para desactivar ProxySQL.

Sintaxis

DBMS_PROXY_SQL.DISABLE_ROUTING;

Ejemplo

BEGIN
   DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/

Notas de uso

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.

  • Debe ejecutar este procedimiento en la instancia de Autonomous Database del enrutador.

Procedimiento ENABLE_READ_ONLY_OFFLOAD

Este procedimiento permite la descarga de consultas para un líder de pool elástico de Autonomous Database o para un miembro de pool elástico.

Sintaxis

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

Parámetros

Parámetro Descripción

module_name

Especifica una lista de nombres de módulos como una lista separada por comas. La lista especifica los módulos en los que se tienen en cuenta las consultas para la descarga (donde el nombre de módulo de una sesión coincide con un valor de la lista).

El valor por defecto de este parámetro es NULL, lo que significa que el nombre de módulo de una sesión puede ser cualquier valor y que la sesión se tiene en cuenta para la descarga.

action_name

Especifica una lista de nombres de acción como una lista separada por comas. La lista especifica los nombres de acción en los que se tienen en cuenta las consultas para la descarga (donde el nombre de acción de una sesión coincide con un valor de la lista).

El valor por defecto de este parámetro es NULL, lo que significa que el nombre de acción de una sesión puede ser cualquier valor y que la sesión se tiene en cuenta para la descarga

Notas de uso

  • Si se especifican module_name y action_name, el nombre de módulo de una sesión debe coincidir con un valor de la lista de nombres de módulo y su nombre de acción debe coincidir con un valor de la lista de nombres de acción para que la sesión se tenga en cuenta para la descarga.

  • Cuando la descarga de consultas está activada para una sesión, puede encontrar el nombre de la clonación de refrescamiento en la que se descargan las consultas. Por ejemplo:

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

    Si las consultas no se están descargando en una clonación de refrescamiento, esta consulta muestra el nombre del líder del pool elástico (o el nombre del miembro del pool elástico).

  • Las vistas DBA_PROXY_SQL_ACTIONS y DBA_PROXY_SQL_MODULES muestran la lista de módulos o acciones configurados para la descarga de consultas. Debe consultar estas vistas desde una sesión que no esté activada para la descarga de consultas.

    Consulte DBA_PROXY_SQL Vistas para obtener más información.

  • Al descargar consultas de una lista de sesiones que especifique por nombre de módulo o acción, el nombre de módulo y el nombre de acción definidos con DBMS_APPLICATION_INFO distinguen entre mayúsculas y minúsculas. DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD se adhiere a este comportamiento sensible a mayúsculas/minúsculas. Por ejemplo, cuando una sesión tiene un nombre de módulo en minúscula o un nombre de módulo con mayúsculas y minúsculas, las mayúsculas y minúsculas deben coincidir en los valores de los parámetros al activar la descarga de consultas con DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD e incluir los parámetros module_name o action_name.

    Puede comprobar el nombre del módulo y el nombre de la acción para la sesión actual mediante 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;
    /

Ejemplos

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 Procedimiento

Ejecute este procedimiento en una instancia de Autonomous Database para designar la instancia como instancia de enrutador y activar el enrutamiento automático de sentencias.

Sintaxis


DBMS_PROXY_SQL.ENABLE_ROUTING;

Ejemplo

BEGIN
   DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/

Notas de uso

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.

  • Debe ejecutar este procedimiento en la instancia de Autonomous Database del enrutador.

REJECT_MAPPING Procedimiento

Se ejecuta en una instancia de Autonomous Database de destino para eliminar una entrada de asignación existente de la tabla de aceptación.

Sintaxis

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

Parámetros

Parámetro Descripción

object_owner

Especifica el propietario del objeto.

Este parámetro es obligatorio.

router_database_ocid

Especifica el OCID de la instancia de Autonomous Database del enrutador.

El valor router_database_ocid se debe proporcionar en mayúsculas.

Este parámetro es obligatorio.

Ejemplo

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

Notas de uso

  • Debe ejecutar el procedimiento en la instancia de Autonomous Database de destino.

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.

REMOVE_MAPPING Procedimiento

Ejecute este procedimiento en la instancia de Autonomous Database del enrutador para eliminar una entrada de asignación existente para un objeto de la tabla de enrutamiento.

Sintaxis

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

Parámetros

Parámetro Descripción

object_owner

Especifica el propietario del objeto.

Este parámetro es obligatorio.

object_name

Especifica el nombre del objeto para el que se debe desactivar el enrutamiento automático de consultas.

Este parámetro es obligatorio.

Ejemplo

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

Notas de uso

  • Debe ejecutar este procedimiento en la instancia de Autonomous Database del enrutador.

  • Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio EXECUTE en el paquete DBMS_PROXY_SQL.