DBMS_PROXY_SQL

Descrive le procedure per abilitare e disabilitare l'offload delle query per un leader del pool elastico o un membro del pool elastico. Questo pacchetto include anche le procedure per abilitare e gestire ProxySQL per l'instradamento delle istruzioni.

Riepilogo dei sottoprogrammi DBMS_PROXY_SQL

La tabella riportata di seguito riassume i sottoprogrammi inclusi nel pacchetto DBMS_PROXY_SQL.

Sottoprogramma descrizione;
   

Procedura ACCEPT_MAPPING

Aggiunge una nuova voce di mapping nell'istanza di Autonomous Database di destinazione corrispondente alla voce di mapping per un oggetto schema nell'istanza di Autonomous Database del router.

Procedura ADD_MAPPING

Aggiunge una nuova voce di mapping per un oggetto schema nella tabella di instradamento nell'istanza di Autonomous Database del router.

   

Procedura DISABLE_READ_ONLY_OFFLOAD

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

Procedura DISABLE_ROUTING

Disabilita l'instradamento automatico delle istruzioni ProxySQL per un'istanza di Autonomous Database.

Procedura ENABLE_READ_ONLY_OFFLOAD

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

Procedura ENABLE_ROUTING

Abilita l'instradamento automatico delle istruzioni ProxySQL per un'istanza di Autonomous Database.

Procedura REJECT_MAPPING

Rimuove una voce di mapping esistente per un oggetto schema dall'istanza di Autonomous Database di destinazione.

Procedura REMOVE_MAPPING

Rimuove una voce di mapping esistente per un oggetto schema dall'istanza di Autonomous Database del router.

Procedura ACCEPT_MAPPING

Eseguire questa procedura su un'istanza di destinazione ProxySQL per aggiungere una nuova voce di mapping corrispondente alla voce di mapping per un oggetto nella tabella di instradamento nell'istanza di Autonomous Database del router.

Sintassi

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

Parametri

Parametro Descrizione

object_owner

Specifica il proprietario dell'oggetto.

Questo parametro è obbligatorio.

router_database_ocid

Specifica l'OCID dell'istanza di Autonomous Database del router.

Il valore router_database_ocid deve essere specificato in maiuscolo.

Questo parametro è obbligatorio.

Esempio

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

Note per l'uso

  • È necessario eseguire questa procedura sull'istanza di Autonomous Database di destinazione.

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.

  • Ogni voce di mapping nella tabella di instradamento sull'istanza di Autonomous Database del router deve avere una voce corrispondente nella rispettiva istanza di Autonomous Database di destinazione.

Procedura ADD_MAPPING

Eseguire questa procedura su un'istanza di Autonomous Database router per aggiungere un nuovo mapping nella tabella di instradamento.

Sintassi

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

Parametri

Parametro Descrizione

object_owner

Specifica il proprietario dell'oggetto.

Questo parametro è obbligatorio.

object_name

Specifica il nome dell'oggetto per il quale deve essere abilitato l'instradamento automatico delle istruzioni.

I valori validi per il parametro object_name sono i seguenti:

  • object_name per abilitare l'instradamento a livello di oggetto.

  • Un asterisco (*) per abilitare il routing a livello di schema.

Questo parametro è obbligatorio.

database_ocid

Specifica l'OCID dell'istanza di Autonomous Database di destinazione.

Il valore database_ocid deve essere specificato in maiuscolo.

Questo parametro è obbligatorio.

Esempi

Esempio per abilitare l'instradamento a livello di oggetto:

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

Esempio per abilitare l'instradamento a livello di schema:

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

Note per l'uso

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.

  • È necessario eseguire questa procedura sull'istanza di Autonomous Database del router.

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;

Procedura DISABLE_ROUTING

Eseguire questa procedura su un'istanza del router per disabilitare ProxySQL.

Sintassi

DBMS_PROXY_SQL.DISABLE_ROUTING;

Esempio

BEGIN
   DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/

Note sull'uso

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.

  • È necessario eseguire questa procedura sull'istanza di Autonomous Database del router.

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 sull'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 DBA_PROXY_SQL Views.

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

Procedura ENABLE_ROUTING

Eseguire questa procedura su un'istanza di Autonomous Database per designare l'istanza come istanza router e abilitare l'instradamento automatico delle istruzioni.

Sintassi


DBMS_PROXY_SQL.ENABLE_ROUTING;

Esempio

BEGIN
   DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/

Note sull'uso

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.

  • È necessario eseguire questa procedura sull'istanza di Autonomous Database del router.

Procedura REJECT_MAPPING

Eseguire su un'istanza di Autonomous Database di destinazione per rimuovere una voce di mapping esistente dalla tabella di accettazione.

Sintassi

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

Parametri

Parametro Descrizione

object_owner

Specifica il proprietario dell'oggetto.

Questo parametro è obbligatorio.

router_database_ocid

Specifica l'OCID dell'istanza di Autonomous Database del router.

Il valore router_database_ocid deve essere specificato in maiuscolo.

Questo parametro è obbligatorio.

Esempio

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

Note sull'uso

  • È necessario eseguire la procedura sull'istanza di Autonomous Database di destinazione.

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.

Procedura REMOVE_MAPPING

Eseguire questa procedura sull'istanza di Autonomous Database del router per rimuovere una voce di mapping esistente per un oggetto dalla tabella di instradamento.

Sintassi

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

Parametri

Parametro Descrizione

object_owner

Specifica il proprietario dell'oggetto.

Questo parametro è obbligatorio.

object_name

Specifica il nome dell'oggetto per il quale è necessario disabilitare l'instradamento automatico delle query.

Questo parametro è obbligatorio.

Esempio

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

Note sull'uso

  • È necessario eseguire questa procedura sull'istanza di Autonomous Database del router.

  • Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE sul pacchetto DBMS_PROXY_SQL.