Chamar Scripts Genéricos em uma Instância do Autonomous Database
Você pode chamar scripts genéricos do tipo BASH, C ou Python no seu Autonomous Database.
- Sobre a Execução de Scripts Genéricos no Autonomous Database
Você pode chamar scripts genéricos, incluindo scripts gravados em Bash, C ou Python, de uma instância do Autonomous Database. - Fazer Upload da Wallet para Criar Conexão Segura com a Instância do Agente EXTPROC
Uma wallet autoassinada é criada como parte da criação do aplicativo do agenteEXTPROC
. Essa wallet permite que você acesse a instância do agenteEXTPROC
de uma instância do Autonomous Database. - Etapas para Chamar Scripts Genéricos
Mostra as etapas para chamar scripts genéricos em um Autonomous Database.
Tópico principal: Chamar Funções Definidas pelo Usuário
Sobre a Execução de Scripts Genéricos no Autonomous Database
Você pode chamar scripts genéricos, incluindo scripts gravados em Bash, C ou Python, de uma instância do Autonomous Database.
Você não pode executar um script genérico diretamente em uma instância do Autonomous Database. Em vez disso, o script é hospedado remotamente em uma imagem de contêiner do Oracle Autonomous Database Extproc em execução em uma VCN (Virtual Cloud Network) da Oracle Cloud Infrastructure. Você chama scripts genéricos do seu Autonomous Database usando jobs do Oracle Scheduler. O job do Oracle Scheduler criado deve ser um job executável. Os trabalhos executáveis podem executar scripts de shell ou outros executáveis.
Esse recurso só é suportado para a release 19c do banco de dados Oracle.
Os scripts genéricos do seu Autonomous Database só são suportados quando o seu banco de dados está em um ponto final privado. Para executar scripts genéricos, obtenha, instale e configure a imagem do contêiner do Oracle Autonomous Database com o agente EXTPROC
instalado. A imagem do contêiner EXTPROC
do Autonomous Database permite chamar procedimentos externos e scripts gravados em BASH, C ou Python pelo seu Autonomous Database. A instância do agente EXTPROC
é hospedada em uma sub-rede privada e o Autonomous Database acessa o agente EXTPROC
por meio de um RCE (Reverse Connection Endpoint).
Scripts genéricos são implementados usando:
-
Uma imagem de contêiner do Autonomous Database fornecida pela Oracle com o agente
EXTPROC
instalado. O sistema Oracle fornece a imagem do contêiner nos pacotes GitHub.Consulte GitHub README para obter instruções e configurar a imagem do contêiner
EXTPROC
:A instância do agente
EXTPROC
é hospedada remotamente em uma imagem de contêiner em execução em uma VCN (Virtual Cloud Network) do Oracle Cloud Infrastructure. A comunicação segura entre o seu Autonomous Database e a instância do agenteEXTPROC
é protegida pela definição de regras de NSG (Grupo de Segurança de Rede) de modo que o tráfego seja permitido da sua instância do Autonomous Database em execução em um ponto final privado para a instância do agenteEXTPROC
. A imagem do agenteEXTPROC
é pré-configurada para hospedar e executar procedimentos externos na porta 16000. -
Procedimentos PL/SQL para registrar ambientes de ponto final e gerenciar privilégios nos pontos finais registrados. Consulte DBMS_CLOUD_FUNCTION_ADMIN Package para obter mais informações.
-
Procedimentos PL/SQL para criar e gerenciar jobs e programas do scheduler para chamar scripts genéricos.
Consulte DBMS_SCHEDULER para saber mais.
Siga estas etapas para executar um script genérico de uma instância do Autonomous Database:
-
Obtenha e configure a imagem do contêiner
EXTPROC
. Consulte GitHub README para obter mais informações. -
Configure seu Autonomous Database para estabelecer conexão com a instância do agente
EXTPROC
. Consulte Fazer Upload da Wallet para Criar Conexão Segura com a Instância do Agente EXTPROC para obter mais informações. -
Chame scripts genéricos no seu Autonomous Database. Consulte Etapas para Chamar Scripts Genéricos para obter mais informações.
Tópico principal: Chamar Scripts Genéricos em uma Instância do Autonomous Database
Fazer Upload da Wallet para Criar Conexão Segura com a Instância do Agente EXTPROC
Uma wallet autoassinada é criada como parte da criação do aplicativo do agente EXTPROC
. Essa wallet permite que você acesse a instância do agente EXTPROC
de uma instância do Autonomous Database.
Para executar scripts genéricos na instância do agente EXTPROC
, o Autonomous Database e o agente EXTPROC
se conectam usando o mTLS (Mutual Transport Layer Security). Ao estabelecer conexão com o agente EXTPROC com o mTLS, você usa uma conexão de banco de dados TCPS (TCP Seguro) usando o TLS 1.2 padrão com um certificado de autoridade de certificação (CA) cliente confiável. Consulte Sobre a Conexão com uma Instância do Autonomous Database para obter mais informações.
Você também pode obter e usar um certificado público emitido por uma Autoridade de Certificação (CA).
Como pré-requisito, você deve exportar a wallet para o serviço Object Storage do diretório /u01/app/oracle/wallets/extproc_wallet/
na VM em que o EXTPROC
é executado. Isso permite que o Autonomous Database use a wallet para acessar com segurança o EXTPROC
.
Faça upload da wallet EXTPROC
para sua instância do Autonomous Database:
Tópico principal: Chamar Scripts Genéricos em uma Instância do Autonomous Database
Etapas para Chamar Scripts Genéricos
Mostra as etapas para chamar scripts genéricos em um Autonomous Database.
Depois de configurar a instância do agente EXTPROC
para executar scripts genéricos, você registra um ponto final remoto e cria jobs do Scheduler para chamar scripts genéricos.
Estes são os pré-requisitos para chamar scripts genéricos com o Autonomous Database:
-
Os scripts genéricos devem ser copiados para a instância do agente EXTPROC. Consulte GitHub README para obter mais informações.
-
Para criar e gerenciar jobs do Scheduler para chamar scripts genéricos com um usuário diferente de ADMIN, você deve ter os seguintes privilégios:
-
MANAGE SCHEDULER
-
CREATE JOB
-
Privilégio no ponto final remoto registrado
-
Tópicos
- Registrar e Gerenciar Ponto Final Remoto no Autonomous Database
Como usuário ADMIN, execute as etapas a seguir para registrar e gerenciar pontos finais remotos no seu Autonomous Database. - Criar e Gerenciar Jobs do Scheduler para Chamar Scripts Genéricos
Mostra as etapas para criar e gerenciar jobs do scheduler para chamar scripts genéricos do Autonomous Database.
Tópico principal: Chamar Scripts Genéricos em uma Instância do Autonomous Database
Registrar e Gerenciar Ponto Final Remoto no Autonomous Database
Como usuário ADMIN, execute as etapas a seguir para registrar e gerenciar pontos finais remotos no seu Autonomous Database.
Registrar um Ponto Final Remoto
Use DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV
para registrar um ponto final remoto.
Exemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'rem_executable',
remote_endpoint_url => 'remote_extproc_hostname:16000',
wallet_dir => 'WALLET_DIR',
remote_cert_dn => 'CN=MACHINENAME'
);
END;
/
Este exemplo cria a biblioteca rem_executable
e registra a instância do agente EXTPROC
especificada no parâmetro remote_url
no seu Autonomous Database. A instância do agente EXTPROC
é pré-configurada para hospedar scripts genéricos na porta 16000.
Consulte REGISTER_REMOTE_EXECUTION_ENV Procedures para obter mais informações.
Gerenciar Privilégios em um Ponto Final Registrado
Essa etapa é opcional e só é obrigatória quando um usuário diferente do ADMIN precisa chamar scripts genéricos do Autonomous Database.
Use DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
para conceder privilégio no ponto final registrado a um usuário diferente do ADMIN.
Exemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
Este exemplo concede privilégio em REM_EXECUTABLE
para o usuário especificado. Consulte GRANT_REMOTE_EXECUTION_ENV Procedures para obter mais informações.
Depois de conceder privilégio no ponto final registrado, você poderá usar DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
para revogar o privilégio no ponto final registrado em um usuário.
Exemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => 'username');
END;
/
Este exemplo revoga o privilégio em REM_EXECUTABLE
do usuário especificado. Consulte REVOKE_REMOTE_EXECUTION_ENV Procedures para obter mais informações.
Você pode consultar o DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT
para listar as permissões concedidas para todos os pontos finais remotos. Consulte DBA_CLOUD_FUNCTION_REMOTE_EXECUTION_GRANT View para obter mais informações.
Remover um Ponto Final Registrado
Use DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
para remover um ponto final remoto registrado.
Exemplo:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV
(
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/
Isso remove o ponto final remoto rem_executable
do seu Autonomous Database. Consulte DEREGISTER_REMOTE_EXECUTION_ENV Procedures para obter mais informações.
Tópico principal: Etapas para Chamar Scripts Genéricos
Criar e Gerenciar Tarefas do Scheduler para Chamar Scripts Genéricos
Mostra as etapas para criar e gerenciar jobs do scheduler para chamar scripts genéricos do Autonomous Database.
Tópico principal: Etapas para Chamar Scripts Genéricos