DBMS_PROXY_SQL

Descrive le procedure per abilitare e disabilitare l'offload delle query per un leader del pool elastico.

DISABLE_READ_ONLY_OFFLOAD Procedura

Questa procedura disabilita l'offload delle query per un leader del pool elastico di Autonomous Database o per un membro del pool elastico.

Sintassi

DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Esempio

EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

ENABLE_READ_ONLY_OFFLOAD Procedura

Questa procedura abilita l'offload delle query per un leader del pool elastico di Autonomous Database o per un membro del pool elastico.

Sintassi

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

Parametri

Parametro descrizione;

module_name

Specifica un elenco di nomi di modulo come elenco separato da virgole. La lista specifica i moduli in cui vengono prese in considerazione le query per l'offload (dove il nome del modulo di una sessione corrisponde a un valore nella lista).

Il valore predefinito per questo parametro è NULL, ovvero il nome del modulo di una sessione può essere qualsiasi valore e la sessione viene considerata per l'offload.

action_name

Specifica una lista di nomi di azioni come lista separata da virgole. La lista specifica i nomi delle azioni in cui vengono prese in considerazione le query per l'offload (dove il nome dell'azione di una sessione corrisponde a un valore nella lista).

Il valore predefinito per questo parametro è NULL, ovvero il nome dell'azione di una sessione può essere qualsiasi valore e la sessione viene considerata per l'offloading

Note per l'uso

  • Se vengono specificati sia module_name che action_name, il nome del modulo di una sessione deve corrispondere a un valore nell'elenco dei nomi dei moduli e il relativo nome azione deve corrispondere a un valore nell'elenco dei nomi delle azioni affinché la sessione venga considerata per l'offload.

  • Quando l'offload delle query è abilitato per una sessione, è possibile trovare il nome della copia aggiornabile in cui vengono scaricate le query. Ad esempio:

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

    Se le query non vengono scaricate in una copia aggiornabile, questa query mostra il nome del leader del pool elastico (o il nome del membro del pool elastico).

  • Nelle viste DBA_PROXY_SQL_ACTIONS e DBA_PROXY_SQL_MODULES viene visualizzata la lista dei moduli o delle azioni configurati per l'offload delle query. È necessario eseguire una query su queste viste da una sessione non abilitata per l'offload delle query.

    Per ulteriori informazioni, vedere Viste DBA_PROXY_SQL.

  • Quando si scaricano le query da una lista di sessioni specificate in base al nome del modulo o dell'azione, il nome del modulo e il nome dell'azione impostati con DBMS_APPLICATION_INFO fanno distinzione tra maiuscole e minuscole. DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD rispetta questo comportamento case sensitive. Ad esempio, quando una sessione ha un nome di modulo minuscolo o un nome di modulo con maiuscole e minuscole, il caso deve corrispondere nei valori dei parametri quando si abilita l'offload delle query con DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD e si includono i parametri module_name o action_name.

    È possibile controllare il nome del modulo e il nome dell'azione per la sessione corrente utilizzando 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;
    /

Esempi

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