DBMS_PROXY_SQL

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

Resumo dos Subprogramas DBMS_PROXY_SQL

Esta tabela resume os subprogramas incluídos no pacote DBMS_PROXY_SQL.

Subprograma Descrição
   

ACCEPT_MAPPING Procedimento

Adiciona uma nova entrada de mapeamento na instância do Autonomous Database de destino correspondente à entrada de mapeamento de um objeto de esquema na instância do Autonomous Database do roteador.

ADD_MAPPING Procedimento

Adiciona uma nova entrada de mapeamento para um objeto de esquema na tabela de roteamento da instância do Autonomous Database do roteador.

   

DISABLE_READ_ONLY_OFFLOAD 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.

DISABLE_ROUTING Procedimento

Desativa o roteamento automático de instruções ProxySQL para uma instância do Autonomous Database.

ENABLE_READ_ONLY_OFFLOAD 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.

ENABLE_ROUTING Procedimento

Ativa o roteamento automático de instruções ProxySQL para uma instância do Autonomous Database.

REJECT_MAPPING Procedimento

Remove uma entrada de mapeamento existente para um objeto de esquema da instância do Autonomous Database de destino.

REMOVE_MAPPING Procedimento

Remove uma entrada de mapeamento existente para um objeto de esquema da instância do Autonomous Database do roteador.

ACCEPT_MAPPING Procedimento

Execute este procedimento em uma instância de destino ProxySQL para adicionar uma nova entrada de mapeamento correspondente à entrada de mapeamento de um objeto na tabela de roteamento da instância do Autonomous Database do roteador.

Sintaxe

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

Parâmetros

Parâmetro Descrição

object_owner

Especifica o proprietário do objeto.

Este parâmetro é obrigatório.

router_database_ocid

Especifica o OCID da instância do Autonomous Database do roteador.

O valor router_database_ocid deve ser fornecido em letras maiúsculas.

Este parâmetro é obrigatório.

Exemplo

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

Observações sobre Uso

  • Execute este procedimento na instância do Autonomous Database de destino.

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.

  • Cada entrada de mapeamento na tabela de roteamento na instância do Autonomous Database do roteador deve ter uma entrada correspondente na respectiva instância do Autonomous Database de destino.

ADD_MAPPING Procedimento

Execute este procedimento em uma instância do Autonomous Database do roteador para adicionar um novo mapeamento na tabela de roteamento.

Sintaxe

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

Parâmetros

Parâmetro Descrição

object_owner

Especifica o proprietário do objeto.

Este parâmetro é obrigatório.

object_name

Especifica o nome do objeto para o qual o roteamento automático de demonstrativo deve ser ativado.

Os valores válidos para o parâmetro object_name são:

  • Um object_name para ativar o roteamento no nível do objeto.

  • Um asterisco (*) para ativar o roteamento no nível do esquema.

Este parâmetro é obrigatório.

database_ocid

Especifica o OCID da instância do Autonomous Database de destino.

O valor database_ocid deve ser fornecido em letras maiúsculas.

Este parâmetro é obrigatório.

Exemplos

Exemplo para ativar o roteamento no nível do objeto:

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

Exemplo para ativar o roteamento no nível do esquema:

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

Observações sobre Uso

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.

  • Execute este procedimento na instância do Autonomous Database do roteador.

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;

DISABLE_ROUTING Procedimento

Execute este procedimento em uma instância do roteador para desativar o ProxySQL.

Sintaxe

DBMS_PROXY_SQL.DISABLE_ROUTING;

Exemplo

BEGIN
   DBMS_PROXY_SQL.DISABLE_ROUTING;
END;
/

Observações de Uso

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.

  • Execute este procedimento na instância do Autonomous Database do roteador.

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

ENABLE_ROUTING Procedimento

Execute este procedimento em uma instância do Autonomous Database para designar a instância como uma instância do roteador e para ativar o roteamento automático de instruções.

Sintaxe


DBMS_PROXY_SQL.ENABLE_ROUTING;

Exemplo

BEGIN
   DBMS_PROXY_SQL.ENABLE_ROUTING;
END;
/

Observações de Uso

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.

  • Execute este procedimento na instância do Autonomous Database do roteador.

REJECT_MAPPING Procedimento

Execute uma instância do Autonomous Database de destino para remover uma entrada de mapeamento existente da tabela de aceitação.

Sintaxe

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

Parâmetros

Parâmetro Descrição

object_owner

Especifica o proprietário do objeto.

Este parâmetro é obrigatório.

router_database_ocid

Especifica o OCID da instância do Autonomous Database do roteador.

O valor router_database_ocid deve ser fornecido em letras maiúsculas.

Este parâmetro é obrigatório.

Exemplo

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

Observações de Uso

  • Execute o procedimento na instância do Autonomous Database de destino.

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.

REMOVE_MAPPING Procedimento

Execute este procedimento na instância do Autonomous Database do roteador para remover uma entrada de mapeamento existente de um objeto da tabela de roteamento.

Sintaxe

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

Parâmetros

Parâmetro Descrição

object_owner

Especifica o proprietário do objeto.

Este parâmetro é obrigatório.

object_name

Especifica o nome do objeto para o qual o roteamento de consulta automática deve ser desativado.

Este parâmetro é obrigatório.

Exemplo

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

Observações de Uso

  • Execute este procedimento na instância do Autonomous Database do roteador.

  • Para executar este procedimento, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE no pacote DBMS_PROXY_SQL.