DBMS_PROXY_SQL

Descreve os procedimentos para ativar e desativar o offload de consulta para um líder de pool elástico ou um membro de pool elástico. Esse pacote também fornece procedimentos para ativar e gerenciar o ProxySQL para roteamento de instruções.

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 AI Database de destino correspondente à entrada de mapeamento de um objeto de esquema na instância do Autonomous AI Database do roteador.

ADD_MAPPING Procedimento

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

   

DISABLE_READ_ONLY_OFFLOAD Procedimento

Desativa o descarregamento de consultas para um líder de pool elástico do Autonomous AI 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 AI Database.

ENABLE_READ_ONLY_OFFLOAD Procedimento

Permite o descarregamento de consultas para um líder de pool elástico do Autonomous AI 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 AI Database.

REJECT_MAPPING Procedimento

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

REMOVE_MAPPING Procedimento

Remove uma entrada de mapeamento existente para um objeto de esquema da instância do Autonomous AI 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 AI 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 AI 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 de Uso

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

  • 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 AI Database do roteador deve ter uma entrada correspondente na respectiva instância do Autonomous AI Database de destino.

ADD_MAPPING Procedimento

Execute este procedimento em uma instância do Autonomous AI 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 de destino do Autonomous AI Database.

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 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 AI Database do roteador.

DISABLE_READ_ONLY_OFFLOAD Procedimento

Este procedimento desativa o descarregamento de consultas para um líder de pool elástico do Autonomous AI 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 AI Database do roteador.

ENABLE_READ_ONLY_OFFLOAD Procedimento

Este procedimento permite o descarregamento de consultas para um líder de pool elástico do Autonomous AI 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ódulos 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 este 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ções como uma lista separada por vírgulas. A lista especifica os nomes das ações em que as consultas são consideradas para descarregamento (em que o nome da ação 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 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 para que a sessão seja considerada para offload.

  • Quando o descarregamento de consulta é 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 que são configurados para offload de consulta. É necessário consultar essas exibições em 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 você especifica por módulo ou nome da 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 sensível a casos. Por exemplo, quando uma sessão tem um nome de módulo em letras minúsculas ou um nome de módulo em letras maiúsculas e minúsculas, a letra deve corresponder aos valores do parâmetro quando você ativa o descarregamento 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 para a 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 AI 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 AI Database do roteador.

REJECT_MAPPING Procedimento

Execute em uma instância de destino do Autonomous AI Database 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 AI 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 de destino do Autonomous AI Database.

  • 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 AI 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 AI 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.