DBMS_PROXY_SQL

Descreve os procedimentos para ativar e desativar o descarregamento de consultas para um líder de pool elástico.

Procedimento DISABLE_READ_ONLY_OFFLOAD

Este procedimento desativa o offload de consulta para um líder de pool elástico do Autonomous Database ou para um membro de pool elástico.

Sintaxe

DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Exemplo

EXEC DBMS_PROXY_SQL.DISABLE_READ_ONLY_OFFLOAD;

Procedimento ENABLE_READ_ONLY_OFFLOAD

Este procedimento permite o descarregamento de consultas para um líder de pool elástico do Autonomous Database ou para um membro de pool elástico.

Sintaxe

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

Parâmetros

Parâmetro Descrição

module_name

Especifica uma lista de nomes de módulo como uma lista separada por vírgulas. A lista especifica os módulos em que as consultas são consideradas para offload (em que o nome do módulo de uma sessão corresponde a um valor na lista).

O valor padrão para esse parâmetro é NULL, o que significa que o nome do módulo de uma sessão pode ser qualquer valor e a sessão é considerada para descarregamento.

action_name

Especifica uma lista de nomes de ação como uma lista separada por vírgulas. A lista especifica os nomes de ação em que as consultas são consideradas para descarregamento (em que o nome de ação de uma sessão corresponde a um valor na lista).

O valor padrão desse parâmetro é NULL, o que significa que o nome da ação de uma sessão pode ser qualquer valor e a sessão é considerada para descarregamento

Observações sobre Uso

  • Se module_name e action_name forem especificados, o nome do módulo de uma sessão deverá corresponder a um valor na lista de nomes de módulo e seu nome de ação deverá corresponder a um valor na lista de nomes de ação da sessão a ser considerada para descarregamento.

  • Quando o descarregamento de consulta está ativado para uma sessão, você pode encontrar o nome do Clone Atualizável para o qual as consultas são descarregadas. Por exemplo:

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

    Se as consultas não estiverem sendo descarregadas para um Clone Atualizável, essa consulta mostrará o nome do líder do pool elástico (ou o nome do membro do pool elástico).

  • As views DBA_PROXY_SQL_ACTIONS e DBA_PROXY_SQL_MODULES exibem a lista de módulos ou ações configurados para offload de consulta. Você deve consultar essas views de uma sessão que não está ativada para descarregamento de consulta.

    Consulte DBA_PROXY_SQL Views para obter mais informações.

  • Quando você descarrega consultas de uma lista de sessões que especifica por módulo ou nome de ação, o nome do módulo e o nome da ação definidos com DBMS_APPLICATION_INFO fazem distinção entre maiúsculas e minúsculas. DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD adere a esse comportamento que faz distinção entre maiúsculas e minúsculas. Por exemplo, quando uma sessão tem um nome de módulo em letras minúsculas ou um nome de módulo com letras maiúsculas e minúsculas, o uso de maiúsculas e minúsculas deve corresponder aos valores de parâmetro quando você ativa o offload de consulta com DBMS_PROXY_SQL.ENABLE_READ_ONLY_OFFLOAD e inclui os parâmetros module_name ou action_name.

    Você pode verificar o nome do módulo e o nome da ação da sessão atual usando 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;
    /

Exemplos

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