Resumo de Subprogramas DBMS_CLOUD_REPO

Esta seção abrange os subprogramas DBMS_CLOUD_REPO fornecidos com o Autonomous AI Database.

O pacote DBMS_CLOUD_REPO é composto por:

Pré-requisitos

Como desenvolvedor, você pode usar procedimentos DBMS_CLOUD com Autonomous AI Databases implantados na Oracle Public Cloud, Multicloud ou Exadata Cloud@Customer.

Dependendo da opção de implantação, os pré-requisitos a seguir devem ser atendidos para usar os procedimentos DBMS_CLOUD com os provedores de serviços Amazon S3, Azure Blob Storage e Google Cloud Storage.

Uma conectividade de saída deve ter sido configurada usando um gateway NAT, pelo administrador da frota, conforme descrito abaixo:

  • Crie um gateway NAT na VCN (Virtual Cloud Network) em que seus recursos do Autonomous AI Database residem seguindo as instruções em Criar um Gateway NAT na Documentação do Oracle Cloud Infrastructure.

  • Após criar o gateway NAT, adicione uma regra da rota e uma regra da segurança da saída a cada sub-rede (na VCN) na qual os recursos do Autonomous AI Database residem para que esses recursos possam usar o gateway para obter a chave pública da sua instância doAzure AD

    1. Vá para a página Detalhes de Sub-rede da sub-rede.

    2. Na guia Informações da Sub-rede, clique no nome da Tabela da Rota da sub-redes para exibir sua página Detalhes da Tabela de Roteamento.

    3. Na tabela de Regras de Rota existentes, verifique se já existe uma regra com as seguintes características:

      • Destino: 0.0.0.0/0

      • Target Type: Gateway NAT

      • Destino: O nome do gateway NAT que você acaba de criar na VCN

      Se essa regra não existir, clique em Adicionar Regras de Roteamento e adicione uma regra de roteamento com essas características.

    4. Retorne à página Detalhes da Subrede da sub-rede.

    5. Na tabela Listas de Segurança da subrede, clique no nome da lista para exibir sua página Detalhes da Lista de Segurança.

    6. No menu lateral, em Recursos, clique em Regras de Saída.

    7. Na tabela de Regras de Saída existentes, verifique se já existe uma regra com as seguintes características:

      • Tipo de Destino:CIDR

      • Destino:0.0.0.0/0

      • Protocolo IP:TCP

      • Faixa de Portas de Origem:443

      • Intervalo de Portas de Destino:Tudo

      Se essa regra não existir, clique em Adicionar Regras de Saída e adicione uma regra de saída com essas características.

As definições de Proxy HTTP em seu ambiente devem permitir que o banco de dados acesse o provedor de serviços em nuvem.

Essas definições são definidas pelo administrador da frota ao criar a infraestrutura do Exadata Cloud@Customer conforme descrito em Usando a Console para Provisionar o Exadata Database Service on Cloud@Customer.

Observação: A configuração de rede, incluindo o Proxy HTTP, só poderá ser editada até que o Exadata Infrastructure esteja no estado Exige Ativação. Uma vez ativado, você não pode editar essas configurações.

A configuração de um Proxy HTTP para uma Infraestrutura do Exadata já provisionada precisa de uma Solicitação de Serviço (SR) no My Oracle Support. Consulte Criar uma Solicitação de Serviço no My Oracle Support para obter detalhes.

Procedimento CREATE_BRANCH

Este procedimento cria uma ramificação no Cloud Code Repository identificada pelo argumento de handle repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH(
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    parent_commit_id   IN   VARCHAR2 DEFAULT NULL
 );

Parâmetros

Parâmetro Descrição
repo

Especifica o handle do repositório.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

branch_name

Especifica o nome da ramificação do repositório.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

parent_branch_name

Cria a nova ramificação usando a confirmação principal da ramificação pai especificada.

Esse parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor parent_branch_name, o parent_branch_name será definido como main.

parent_commit_id

Cria a nova ramificação usando o commit do repositório especificado.

Este parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor parent_commit_id, o parent_commit_id será definido como um valor NULL.

Exemplo

Observação: Para criar uma ramificação em um repositório do Cloud Code, você deve especificar a ramificação pai ou o id de commit pai.

BEGIN
  DBMS_CLOUD_REPO.CREATE_BRANCH (
    repo                 => l_repo,
    branch_name          => 'test_branch',
    parent_branch_name   => 'main'
    );
END;
/

Observações de Uso

Para executar o procedimento DBMS_CLOUD_REPO.CREATE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.

Procedimento CREATE_REPOSITORY

Este procedimento cria um Cloud Code Repository identificado pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
      repo                 IN   CLOB,
      description          IN   CLOB     DEFAULT NULL,
      private              IN   BOOLEAN  DEFAULT TRUE
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.

Esse parâmetro é suportado para todos os provedores de nuvem.

description Uma descrição de texto curta para o repositório.

Esse parâmetro é compatível com o GITHUB e o provedor de nuvem da AWS.

private

O repositório é privado e só pode ser acessado com credenciais válidas

Este parâmetro só é suportado para o provedor de nuvem GITHUB.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.CREATE_REPOSITORY(
    repo        => l_repo,
    description => 'My test repo',
    private => TRUE
    );
END;
/

Procedimento DELETE_BRANCH

Este procedimento exclui uma ramificação no repositório do Cloud Code identificado pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL
 );

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.
branch_name Excluir ramificação de um repositório específico. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_BRANCH (
      repo        => l_repo,
      branch_name => 'test_branch'
  );
END;
/

Observações de Uso

Para executar o procedimento DBMS_CLOUD_REPO.DELETE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.

Procedimento DELETE_FILE

Este procedimento exclui um arquivo do repositório do Cloud Code identificado pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
file_path Caminho do arquivo para excluir o arquivo no repositório.
branch_name Excluir arquivo de uma ramificação específica.
commit_details

Detalhes do Commit como um documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Exemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_FILE(
      repo        => l_repo,
      file_path   => 'scripts/test3.sql',
      branch_name => 'test_branch'
  );
END;
/

Procedimento DELETE_REPOSITORY

Este procedimento exclui o Cloud Code Repository identificado pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
      repo           IN   CLOB
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.DELETE_REPOSITORY(
       repo => l_repo
  );
END;
/

Procedimento EXPORT_OBJECT

Este procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório do Cloud Code identificado pelo argumento de manipulação repo. Este procedimento é uma maneira fácil de fazer upload da definição de metadados de um objeto de banco de dados em uma única etapa.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      object_type       IN  VARCHAR2,
      object_name       IN  VARCHAR2 DEFAULT NULL,
      object_schema     IN  VARCHAR2 DEFAULT NULL,
      branch_name       IN  VARCHAR2 DEFAULT NULL,
      commit_details    IN  CLOB     DEFAULT NULL,
      append            IN  BOOLEAN  DEFAULT FALSE
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
file_path Caminho do arquivo para fazer upload dos metadados do objeto no repositório.
object_type Tipo de objeto suportado por DBMS_METADATA. Consulte DBMS_METADATA: tabela Tipos de Objeto em Referência de Tipos e Pacotes PL/SQL do Oracle Database 19c ou Referência de Tipos e Pacotes PL/SQL do Oracle Database 26ai para obter detalhes.
object_name Nome do objeto de banco de dados para recuperar metadados.
object_schema Esquema proprietário do objeto de banco de dados.
branch_name Coloque o arquivo em uma ramificação específica.
commit_details Detalhes do Commit como documento JSON:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
append Anexe a DDL de metadados ao arquivo existente.

Observações de Uso

Para controle personalizado na DDL do objeto, você pode usar DBMS_METADATA.GET_DDL junto com DBMS_CLOUD_REPO.PUT_FILE. Para obter a definição de metadados do objeto, o usuário atual deve ter o privilégio de recuperar os metadados do objeto. Consulte DBMS_METADATA em Oracle Database 19c PL/SQL Packages and Types Reference ou Oracle Database 26ai PL/SQL Packages and Types Reference para obter os requisitos de segurança do pacote.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.EXPORT_OBJECT(
     repo        => l_repo,
     object_type => 'PACKAGE',
     object_name => 'MYPACK',
     file_path   => 'mypack.sql'
  );
END;
/

Procedimento EXPORT_SCHEMA

Este procedimento exporta metadados de todos os objetos em um esquema para a ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA(
     repo            IN CLOB,
     file_path       IN VARCHAR2,
     schema_name     IN VARCHAR2,
     filter_list     IN CLOB         DEFAULT NULL,
     branch_name     IN VARCHAR2     DEFAULT NULL,
     commit_details  IN CLOB         DEFAULT NULL
);

Parâmetros

Parâmetro Descrição
repo

Especifica o handle do repositório.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

file_path

Especifica o nome do arquivo de esquema a ser carregado no repositório.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

schema_name

Especifica o nome do esquema para o qual um script DDL deve ser submetido a upload para a ramificação Cloud Code Repository.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

filter_list

Especifica o CLOB do array JSON que define as condições de filtro para incluir ou excluir os objetos cujos metadados precisam ser exportados.

Esse parâmetro é suportado para todos os provedores de nuvem.

Os parâmetros JSON para filter_list são:

  • match_type: Especifica o tipo de filtro a ser aplicado aos tipos de objeto ou nomes de objeto. Os valores match_type válidos são:

    • in/not_in

    • like/not_like

    • equal/not_equal

  • type: Especifica o tipo de objeto pelo qual filtrar.

  • name: Especifica o nome do objeto pelo qual filtrar.

branch_name

Especifica o nome da ramificação do repositório.

Esse parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor branch_name, o branch_name será definido como a ramificação do repositório padrão.

commit_details

Detalhes do Commit como um documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Esse parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor commit_details, o commit_details será definido como a mensagem de confirmação padrão que inclui as informações sobre o usuário da sessão do banco de dados atual e o nome do banco de dados que está executando o commit.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.EXPORT_SCHEMA(
    repo          => l_repo,
    schema_name   => 'USER1',
    file_path     => 'myschema_ddl.sql'
    filter_list   =>
        to_clob('[
             { "match_type":"equal",
                 "type":"table"
             },
             { "match_type":"not_equal",
                 "type":"view"
             },
             { "match_type":"in",
                 "type":"table",
                 "name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
             },
             { "match_type":"equal",
                 "type":"sequence",
                 "name": "EMPLOYEE_RECORD_SEQ"
             },
             { "match_type":"like",
                 "type":"table",
                 "name": "%OFFICE%"
             }
        ]'
     );
  );
END;
/

Observações de Uso

Para executar o procedimento DBMS_CLOUD_REPO.EXPORT_SCHEMA, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.

Procedimento e Função GET_FILE

A função faz download do conteúdo de um arquivo do repositório do Cloud Code. O procedimento permite que você faça download do conteúdo de um arquivo do repositório do Cloud Code e salve o arquivo em um diretório.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
) RETURN CLOB;

PROCEDURE DBMS_CLOUD_REPO.GET_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      target_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
file_path Caminho de arquivo no repositório.
directory_name Nome do objeto do diretório para salvar o conteúdo do arquivo.
target_file_name Nome do arquivo de destino para salvar o conteúdo no diretório.
branch_name Obter arquivo de uma ramificação específica.
tag_name Obter arquivo de uma Tag específica.
commit_name Obter arquivo de um commit específico.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.GET_FILE(
     repo             =>  l_repo,
     file_path        => 'test3.sql',
     directory_name   => 'DATA_PUMP_DIR',
     target_file_name => 'test2.sql'
  );
END;
/

Função INIT_AWS_REPO

Essa função inicializa um identificador de repositório da AWS e retorna um tipo opaco.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      region          IN  VARCHAR2
)  RETURN repo;

Parâmetros

Parâmetro Descrição
credential_name Objeto de credencial que especifica chave de acesso/chave secreta do AWS CodeCommit.
repo_name Especifica o nome de repositório.
region Especifica a região AWS do repositório CodeCommit.

Exemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
                 credential_name => 'AWS_CRED',
                 repo_name       => 'my_repo',
                 region          => 'us-east-1'
           );
END;
/

Função INIT_AZURE_REPO

Essa função inicializa um identificador de repositório do Azure e retorna um tipo opaco. Essa função só é suportada para o provedor de nuvem do Azure.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
      credential_name IN  VARCHAR2,
      repo_name       IN  VARCHAR2,
      organization    IN  VARCHAR2,
      project         IN  VARCHAR2
)  RETURN repo;

Parâmetros

Parâmetro Descrição
credential_name Objeto de credencial que especifica o Azure, com um Nome de Usuário e um Token de Acesso Pessoal (PAT).
repo_name Especifica o nome de repositório.
organization Especifica a Organização do Azure DevOps.
project Nome do Azure Team Project.

Exemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
                 credential_name => 'AZURE_CRED',
                 repo_name       => 'my_repo',
                 organization    => 'myorg',
                 project         => 'myproj',
           );
END;
/

Função INIT_GITHUB_REPO

Esta função inicializa um identificador de repositório GitHub e retorna um tipo opaco.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
      credential_name IN  VARCHAR2  DEFAULT NULL,
      repo_name       IN  VARCHAR2,
      owner           IN  VARCHAR2)
RETURN repo;

Parâmetros

Parâmetro Descrição
credential_name

Objeto de credencial que especifica o GitHub.

E-mail do Usuário e Token de Acesso Pessoal (PAT).

repo_name Especifica o nome de repositório.
owner Especifica o proprietário do repositório.

Exemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
                 credential_name => 'GITHUB_CRED',
                 repo_name       => 'my_repo',
                 owner           => 'foo'
           );
END;
/

Função INIT_REPO

Essa função inicializa um handle do Cloud Code Repository e retorna um objeto JSON opaco. Essa função é uma interface genérica para aceitar um documento JSON e evita a necessidade de alterar o código. Você só precisa alterar um documento JSON ao mover um repositório de código de um repositório do Cloud Code para outro repositório do Cloud Code.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
     params      IN   CLOB)
RETURN CLOB;

Parâmetros

Parâmetro JSON Descrição
provider

Provedor de repositório de código de nuvem do seguinte:

DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB')

DBMS_CLOUD_REPO.AWS_REPO ('AWS')

DBMS_CLOUD_REPO.AZURE_REPO ('AZURE')

repo_name Especifica o nome de repositório. DBMS_CLOUD_REPO.PARAM_REPO_NAME
owner

Proprietário do repositório do GitHub.DBMS_CLOUD_REPO.PARAM_OWNER

Este parâmetro só é aplicável ao provedor de nuvem GitHub.

region

Região do repositório da AWS.DBMS_CLOUD_REPO_PARAM_REGION

Esse parâmetro só é aplicável ao provedor de nuvem da AWS.

organization

Organização do Azure.DBMS_CLOUD_REPO_PARAM_ORGANIZATION

Esse parâmetro só é aplicável ao provedor de nuvem do Azure.

project

Projeto da Equipe do Azure.DBMS_CLOUD_REPO_PARAM_PROJECT

Esse parâmetro só é aplicável ao provedor de nuvem do Azure.

Exemplo

BEGIN
  :repo := DBMS_CLOUD_REPO.INIT_REPO(
          params => JSON_OBJECT('credential_name' value 'mycred',
                        'repo_name'       value 'myrepo',
                        'repo_owner'      value 'foo')
       );
END;
/

Procedimento INSTALL_FILE

Este procedimento instala instruções SQL de um arquivo no repositório do Cloud Code identificado pelo argumento de manipulação repo.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_name       IN  VARCHAR2  DEFAULT NULL,
      stop_on_error     IN  BOOLEAN   DEFAULT TRUE
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
file_path Caminho de arquivo no repositório.
branch_name Ramificação para instalar o arquivo de uma ramificação específica.
tag_name Tag para instalar o arquivo de uma Tag específica.
commit_name ID de commit para instalar o arquivo de um commit específico.
stop_on_error Pare de executar as instruções SQL no primeiro erro.

Observações sobre Uso

Exemplo

BEGIN
     DBMS_CLOUD_REPO.INSTALL_FILE(
         repo          => l_repo,
         file_path     => 'test3.sql',
         stop_on_error => FALSE
     );
END;
/

Procedimento INSTALL_SQL

Este procedimento instala instruções SQL de um buffer fornecido como entrada.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
      content           IN  CLOB,
      stop_on_error     IN  BOOLEAN  DEFAULT TRUE
);

Parâmetros

Parâmetro Descrições
content CLOB que contém as instruções SQL a serem executadas.
stop_on_error Pare de executar as instruções SQL no primeiro erro.

Observações sobre Uso

Exemplo

BEGIN
  DBMS_CLOUD_REPO.INSTALL_SQL(
      content   => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
      stop_on_error => FALSE
  );
END;
/

Função LIST_BRANCHES

Essa função lista ramificações na ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
    repo           IN   CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório. Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

Exemplo

SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);

Observações sobre Uso

Função LIST_COMMITS

Essa função lista commits na ramificação do Cloud Code Repository identificada pelo argumento de handle repo.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS(
      repo              IN  CLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      file_path         IN  VARCHAR2 DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;

Parâmetros

Parâmetro Descrição
repo

Especifica o handle do repositório.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

branch_name

Listar commits de uma ramificação específica.

Esse parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor branch_name, o branch_name será definido como main.

file_path

Lista arquivos no caminho da subpasta especificada no repositório.

Esse parâmetro só é suportado para provedores de nuvem Git e Azure.

Se você não fornecer um valor file_path, o file_path será definido como um valor NULL.

commit_id

Listar arquivos que começam no sha/id especificado

Esse parâmetro é suportado para todos os provedores de nuvem.

Se você não fornecer um valor commit_id, o commit_id será definido como um valor NULL.

Exemplos

SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
    repo        => l_repo,
    commit_id   => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
    file_path   => 'sub_dir/test11.sql'
);

Observações sobre Uso

Função LIST_FILES

Esta função faz download de um arquivo do repositório do Cloud Code. Opcionalmente, o conteúdo do arquivo pode ser acessado de uma ramificação, tag ou nome de commit específico. Por padrão, o arquivo é acessado na ramificação do repositório padrão. Os resultados incluem os nomes dos arquivos e os metadados adicionais sobre os arquivos.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.LIST_FILES(
      repo              IN  CLOB,
      path              IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      tag_name          IN  VARCHAR2  DEFAULT NULL,
      commit_id         IN  VARCHAR2  DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
path Lista arquivos no caminho da subpasta especificada no repositório.
branch_name Listar arquivos de uma ramificação específica.
tag_name Listar arquivos de uma Tag específica.
commit_name Listar arquivos de um commit específico.

Observações sobre Uso

Exemplo

SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql

Função LIST_REPOSITORIES

Essa função lista todos os Repositórios de Código da Nuvem identificados pelo argumento de handle repo. Os resultados incluem os nomes de repositório e metadados adicionais sobre os repositórios.

Sintaxe

FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
      repo                 IN   CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;

Parâmetros

Parâmetro Descrição
repo

Especifica o handle do repositório.

Esse parâmetro é suportado por todos os provedores de nuvem.

description

Uma descrição de texto curta para o repositório.

Esse parâmetro é compatível com os provedores de nuvem GITHUB e AWS.

private

O repositório é privado e só pode ser acessado com credenciais válidas

Este parâmetro é suportado para o provedor de nuvem GITHUB.

Observações sobre Uso

Exemplo

SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME                  DESCRIPTION
--------------------- ---------------
TestRepo1             My test repo

Procedimento MERGE_BRANCH

Este procedimento mescla uma ramificação de repositório em outra ramificação especificada no Cloud Code Repository identificado pelo argumento de manipulação repo. O procedimento MERGE_BRANCH não é suportado no Azure no momento.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               IN   CLOB,
    branch_name        IN   VARCHAR2,
    parent_branch_name IN   VARCHAR2 DEFAULT NULL,
    commit_details     IN   CLOB      DEFAULT NULL
 );

Parâmetros

Parâmetro Descrição
repo

Especifica o handle do repositório.

Esse parâmetro é obrigatório e compatível com provedores de nuvem GITHUB e AWS.

branch_name

Especifica o nome da ramificação Git a ser mesclada.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

target_branch_name

Especifica o nome da ramificação de destino a ser mesclada.

Esse parâmetro é obrigatório e suportado para todos os provedores de nuvem.

commit_details

Detalhes do Commit como um documento JSON

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Se você não fornecer um valor commit_details, o commit_details será definido como a mensagem de confirmação padrão que inclui as informações sobre o usuário da sessão do banco de dados atual e o nome do banco de dados que está executando o commit.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.MERGE_BRANCH (
    repo               => l_repo,
    branch_name        => 'test_branch',
    target_branch_name => 'main'
    );
END;
/

Observações de Uso

Para executar o procedimento DBMS_CLOUD_REPO.MERGE_BRANCH, você deve estar conectado como usuário ADMIN ou ter o privilégio EXECUTE em DBMS_CLOUD_REPO.

Procedimento PUT_FILE

Este procedimento faz upload de um arquivo para o repositório do Cloud Code identificado pelo argumento de manipulação repo. O procedimento é sobrecarregado para suportar o upload de um arquivo de um objeto de diretório ou o upload do conteúdo de um BLOB para o arquivo de repositório.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      contents          IN  BLOB,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE(
      repo              IN  CLOB,
      file_path         IN  VARCHAR2,
      directory_name    IN  VARCHAR2,
      source_file_name  IN  VARCHAR2  DEFAULT NULL,
      branch_name       IN  VARCHAR2  DEFAULT NULL,
      commit_details    IN  CLOB      DEFAULT NULL
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório.
file_path Caminho do arquivo para upload do arquivo no repositório.
contents BLOB contendo o conteúdo do arquivo.
directory_name Nome do objeto do diretório que contém o nome do arquivo.
source_file_name Nome do arquivo de origem para upload no repositório.
branch_name Coloque o arquivo em uma ramificação específica.
commit_details

Detalhes do Commit como um documento JSON:

{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }

Exemplo

BEGIN
  DBMS_CLOUD_REPO.PUT_FILE(
     repo   => l_repo,
  );
END;
/

Procedimento UPDATE_REPOSITORY

Este procedimento atualiza um repositório do Cloud Code identificado pelo argumento de manipulação repo. UPDATE_REPOSITORY suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório Cloud Code.

Sintaxe

PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
      repo                 IN OUT  CLOB,
      new_name             IN      VARCHAR2 DEFAULT NULL,
      description          IN      CLOB     DEFAULT NULL,
      private              IN      BOOLEAN  DEFAULT NULL
);

Parâmetros

Parâmetro Descrição
repo Especifica o handle do repositório. Esse parâmetro é suportado para todos os provedores de nuvem.
new_name Novo nome para repositório. Este parâmetro é suportado para todos os provedores de nuvem.
description Uma breve descrição de texto para o repositório. Esse parâmetro é suportado para provedores de nuvem GITHUB e AWS.
private

O repositório é privado e só pode ser acessado com credenciais válidas.

Este parâmetro é suportado para o provedor de nuvem GITHUB.

Exemplo

BEGIN
  DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
     repo        => l_repo,
     new_name    => 'repo2'
  );
END;
/

Sobre o DBMS_CLOUD_REPO