Pacote DBMS_CLOUD_REPO
O pacote DBMS_CLOUD_REPO
fornece o uso e o gerenciamento de repositórios de código hospedados na nuvem do Oracle Database. Os repositórios de código de nuvem suportados incluem GitHub, AWS CodeCommit e Azure Repos.
- DBMS_CLOUD_REPO Visão Geral
O pacoteDBMS_CLOUD_REPO
fornece acesso fácil a arquivos em Repositórios de Código na Nuvem (Git), incluindo: GitHub, AWS CodeCommit e Azure Repos. - DBMS_CLOUD_REPO Estruturas de Dados
O pacoteDBMS_CLOUD_REPO
define tipos de registro e um tipo de objeto JSON genéricorepo
. - DBMS_CLOUD_REPO Grupos de Subprogramas
Os subprogramas do pacoteDBMS_CLOUD_REPO
podem ser agrupados em quatro categorias: Operações de Inicialização, Operações de Gerenciamento de Repositório, Operações de Arquivo e Operações de Instalação SQL. - Resumo de Subprogramas DBMS_CLOUD_REPO
Esta seção abrange os subprogramasDBMS_CLOUD_REPO
fornecidos com o Autonomous Database.
Tópico principal: Referência de Pacote Fornecida pelo Autonomous Database
DBMS_CLOUD_REPO Visão Geral
O pacote DBMS_CLOUD_REPO
fornece acesso fácil a arquivos em Repositórios de Código na Nuvem (Git), incluindo: GitHub, AWS CodeCommit e Azure Repos.
Esse pacote é uma interface única para acesso a repositórios de Código Multinuvem e permite fazer upload de arquivos SQL para repositórios Git ou instalar scripts SQL diretamente dos Repositórios de Código na Nuvem. Esse pacote também permite usar um Repositório de Código na Nuvem para gerenciar versões de código de scripts SQL e instalar ou corrigir com patch o código de aplicativo dos repositórios Git.
Conceitos
-
Sistema de Controle de Versão do Git: O Git é um software para rastrear alterações em qualquer conjunto de arquivos, geralmente usado para coordenar o trabalho entre os programadores, desenvolvendo colaborativamente o código-fonte durante o desenvolvimento do software. Suas metas incluem velocidade, integridade de dados e suporte para workflows distribuídos não lineares.
-
Repositório Git: É um armazenamento virtual do seu projeto. Ele permite salvar versões do seu código, que você pode acessar quando necessário.
Arquitetura
DBMS_CLOUD_REPO
fornece quatro áreas de recursos:
-
Inicialização de Repositório com Identificador de Repositório de Código na Nuvem Genérico
-
Inicializar um Repositório de Código GitHub
-
Inicializar um Repositório de Código CodeCommit da AWS
-
Inicializar um Repositório de Código Azure Repos
-
-
Operações de Gerenciamento de Repositório
-
Crie um repositório
-
Atualizar um repositório
-
Listar repositórios
-
Excluir um repositório
-
-
Operações de Gerenciamento de Arquivos de Repositório
-
Faça upload de um arquivo do Oracle Database para o Repositório de Código.
-
Faça download de um arquivo do Repositório de Código para o Oracle Database.
-
Exclua arquivos do Repositório de Código.
-
Liste os arquivos do Repositório de Código.
-
-
Operações de Instalação SQL
- Exporte DDL de metadados do objeto de Banco de Dados para o repositório.
-
Instale instruções SQL de um arquivo no Repositório de Código do Oracle Database.
-
Instale instruções SQL de um buffer.
Tópico principal: Pacote DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Estruturas de Dados
O pacote DBMS_CLOUD_REPO
define tipos de registro e um tipo de objeto JSON genérico repo
.
Objeto JSON REPO
Um DBMS_CLOUD_REPO
REPO
é um objeto JSON opaco que representa um Repositório de Código da Nuvem de um provedor de nuvem específico. Um objeto REPO pode ser informado para diferentes APIs DBMS_CLOUD_REPO
. Esse objeto opaco garante que os procedimentos e as funções DBMS_CLOUD_REPO
sejam compatíveis com multicloud; você não precisa alterar nenhum código ao migrar de um provedor de Repositório de Código na Nuvem para outro Repositório de Código na Nuvem.
Tópico principal: Pacote DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Grupos de Subprogramas
Os subprogramas do pacote DBMS_CLOUD_REPO
podem ser agrupados em quatro categorias: Operações de Inicialização, Operações de Gerenciamento de Repositório, Operações de Arquivo e Operações de Instalação SQL.
- DBMS_CLOUD_REPO Operações de Inicialização
Lista os subprogramas para operações de inicialização dentro do pacoteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operações de Gerenciamento de Repositório
Mostra os subprogramas para operações de gerenciamento de repositório no pacoteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operações de Gerenciamento de Ramificação do Repositório
Lista os subprogramas para operações de gerenciamento de ramificação do repositório no pacoteDBMS_CLOUD_REPO
. - Operações de Arquivo DBMS_CLOUD_REPO
Lista os subprogramas para operações de arquivo dentro do pacoteDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operações de Instalação SQL
Lista os subprogramas para operações de instalação SQL no pacoteDBMS_CLOUD_REPO
.
Tópico principal: Pacote DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Operações de Inicialização
Lista os subprogramas para operações de inicialização no pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Essa função inicializa um identificador de repositório da AWS e retorna um tipo opaco. | |
Essa função inicializa um identificador de repositório do Azure e retorna um tipo opaco. | |
Essa função inicializa um identificador de repositório GitHub e retorna um tipo opaco. | |
Essa função inicializa um identificador de Repositório de Código na Nuvem e retorna um objeto JSON opaco. |
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
DBMS_CLOUD_REPO Operações de Gerenciamento de Repositório
Mostra os subprogramas para operações de gerenciamento de repositório no pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Esse procedimento cria um Repositório de Código na Nuvem identificado pelo argumento de controle repo .
|
|
Esse procedimento exclui o Repositório de Código na Nuvem identificado pelo argumento de controle repo .
|
|
Essa função lista todos os Repositórios de Código na Nuvem identificados pelo argumento de controle repo .
|
|
Esse procedimento atualiza um repositório de Código de Nuvem identificado pelo argumento de controle repo . O procedimento suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório de Código de Nuvem.
|
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
DBMS_CLOUD_REPO Operações de Gerenciamento de Ramificação do Repositório
Lista os subprogramas para operações de gerenciamento de ramificação de repositório no pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Esse procedimento cria uma ramificação em um Repositório de Código na Nuvem identificado pelo argumento de controle repo .
|
|
Esse procedimento exclui uma ramificação em um Repositório de Código na Nuvem identificado pelo argumento de controle repo .
|
|
Essa função lista todas as ramificações do Cloud Code Repository identificadas pelo argumento de controle repo .
|
|
Essa função lista todos os commits em uma ramificação do Cloud Code Repository identificada pelo argumento de controle repo .
|
|
Esse procedimento mescla uma ramificação do Cloud Code Repository em outra ramificação especificada em um Cloud Code Repository identificado pelo argumento de controle repo .
|
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
DBMS_CLOUD_REPO Operações de Arquivo
Lista os subprogramas para operações de arquivo no pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Esse procedimento exclui um arquivo do repositório de Código de Nuvem identificado pelo argumento de controle repo .
|
|
A função faz download do conteúdo de um arquivo do repositório de Código de Nuvem. O procedimento permite fazer download do conteúdo de um arquivo do repositório de Código de Nuvem e salvar o arquivo em um diretório. | |
Essa função faz download de um arquivo do repositório de Código de Nuvem. Opcionalmente, o conteúdo do arquivo pode ser acessado por um nome específico de ramificação, tag ou commit. Por padrão, o arquivo é acessado pela ramificação de repositório padrão. | |
Esse procedimento faz upload de um arquivo para o repositório de Código de Nuvem identificado pelo argumento de controle 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 CLOB para o arquivo do repositório.
|
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
DBMS_CLOUD_REPO Operações de Instalação SQL
Lista subprogramas para operações de instalação SQL dentro do pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Esse procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório de Código de Nuvem identificado pelo argumento de controle repo .
|
|
Este procedimento exporta metadados de todos os objetos em um esquema para uma ramificação do Repositório de Código na Nuvem identificada pelo argumento de controle repo .
|
|
Esse procedimento instala instruções SQL de um arquivo no repositório de Código de Nuvem identificado pelo argumento de controle repo .
|
|
Esse procedimento instala instruções SQL de um buffer fornecido como entrada. |
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
Resumo de Subprogramas DBMS_CLOUD_REPO
Esta seção abrange os subprogramas DBMS_CLOUD_REPO
fornecidos com o Autonomous Database.
- Procedimento CREATE_BRANCH
Esse procedimento cria uma ramificação no Repositório de Código na Nuvem identificada pelo argumento de controlerepo
. - Procedimento CREATE_REPOSITORY
Esse procedimento cria um Repositório de Código na Nuvem identificado pelo argumento de controlerepo
. - Procedimento DELETE_BRANCH
Esse procedimento exclui uma ramificação no repositório de Código de Nuvem identificado pelo argumento de controlerepo
. - Procedimento DELETE_FILE
Esse procedimento exclui um arquivo do repositório de Código de Nuvem identificado pelo argumento de controlerepo
. - Procedimento DELETE_REPOSITORY
Esse procedimento exclui o Repositório de Código na Nuvem identificado pelo argumento de controlerepo
. - Procedimento EXPORT_OBJECT
Esse procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório de Código de Nuvem identificado pelo argumento de controlerepo
. Esse procedimento é uma maneira fácil de fazer upload da definição de metadados de um objeto de banco de dados em uma única etapa. - Procedimento EXPORT_SCHEMA
Esse procedimento exporta metadados de todos os objetos em um esquema para a ramificação do Repositório de Código na Nuvem identificada pelo argumento de controlerepo
. - GET_FILE Procedimento e Função
A função faz download do conteúdo de um arquivo do repositório de Código de Nuvem. O procedimento permite fazer download do conteúdo de um arquivo do repositório de Código de Nuvem e salvar o arquivo em um diretório. - INIT_AWS_REPO Função
Essa função inicializa um identificador de repositório da AWS e retorna um tipo opaco. - INIT_AZURE_REPO Função
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 Azure. - Função INIT_GITHUB_REPO
Essa função inicializa um identificador de repositório GitHub e retorna um tipo opaco. - Função INIT_REPO
Essa função inicializa um identificador de Repositório de Código na Nuvem e retorna um objeto JSON opaco. Essa função é uma interface genérica para aceitar um documento JSON, e evita ter que alterar o código; você só precisa alterar um documento JSON ao mover um repositório de código de um repositório de Código na Nuvem. - Procedimento INSTALL_FILE
Esse procedimento instala instruções SQL de um arquivo no repositório de Código de Nuvem identificado pelo argumento de controlerepo
. - Procedimento INSTALL_SQL
Esse procedimento instala instruções SQL de um buffer fornecido como entrada. - Função LIST_BRANCHES
Essa função lista ramificações na ramificação do Repositório de Código na Nuvem identificada pelo argumento de controlerepo
. - Função LIST_COMMITS
Essa função lista commits na ramificação do Repositório de Código na Nuvem identificada pelo argumento de controlerepo
. - LIST_FILES Função
Essa função faz download de um arquivo do repositório de Código de Nuvem. Opcionalmente, o conteúdo do arquivo pode ser acessado por um nome específico de ramificação, tag ou commit. Por padrão, o arquivo é acessado pela ramificação de repositório padrão. Os resultados incluem os nomes de arquivos e metadados adicionais sobre eles. - Função LIST_REPOSITORIES
Essa função lista todos os Repositórios de Código na Nuvem identificados pelo argumento de controlerepo
. Se o handlerepo
tiver um nome de repositório especificado, a função não restringirá a listagem ao nome do repositório especificado; ela listará todos os repositórios acessíveis ao usuário. - Procedimento MERGE_BRANCH
Esse procedimento mescla uma ramificação do repositório em outra ramificação especificada no Repositório de Código na Nuvem identificada pelo argumento de controlerepo
. No momento, o procedimentoMERGE_BRANCH
não é suportado no Azure. - Procedimento PUT_FILE
Esse procedimento faz upload de um arquivo para o repositório de Código de Nuvem identificado pelo argumento de controlerepo
. 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 do repositório. - Procedimento UPDATE_REPOSITORY
Esse procedimento atualiza um repositório de Código de Nuvem identificado pelo argumento de controlerepo
. UPDATE_REPOSITORY suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório de Código de Nuvem.
Tópico principal: Pacote DBMS_CLOUD_REPO
Procedimento CREATE_BRANCH
Esse procedimento cria uma ramificação no Cloud Code Repository identificado pelo argumento de controle 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 identificador de repositório. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
parent_branch_name |
Cria a nova ramificação usando o commit de cabeçalho da ramificação pai especificada. Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
parent_commit_id |
Cria a nova ramificação usando o commit de repositório especificado. Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
Exemplo
Para criar uma ramificação em um repositório do Cloud Code, especifique 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;
/
Nota de Uso
Para executar o procedimento DBMS_CLOUD_REPO.CREATE_BRANCH
, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento CREATE_REPOSITORY
Esse procedimento cria um Repositório de Código na Nuvem identificado pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
description |
Uma descrição curta do repositório.
Esse parâmetro é suportado pelos provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas Esse parâmetro só é suportado pelo provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento DELETE_BRANCH
Esse procedimento exclui uma ramificação no repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Exclua a ramificação de um repositório específico.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Nota de Uso
Para executar o procedimento DBMS_CLOUD_REPO.DELETE_BRANCH
, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento DELETE_FILE
Esse procedimento exclui um arquivo do repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório. |
file_path |
Caminho de arquivo para excluir o arquivo no repositório. |
branch_name |
Exclua o arquivo de uma ramificação específica. |
commit_details |
Detalhes de commit como 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
DELETE_REPOSITORY Procedimento
Esse procedimento exclui o Repositório de Código na Nuvem identificado pelo argumento de controle repo
.
Sintaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Parâmetros
Parâmetro | Descrição |
---|---|
repo |
Especifica o identificador de repositório. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento EXPORT_OBJECT
Esse procedimento faz upload dos metadados DDL de um objeto de banco de dados para o repositório de Código de Nuvem identificado pelo argumento de controle repo
. Esse 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 identificador de repositório. |
file_path |
Caminho de arquivo para fazer upload de metadados de objeto no repositório. |
object_type |
Tipo de objeto suportado por DBMS_METADATA. Consulte DBMS_METADATA: tabela de Tipos de Objeto para obter detalhes. |
object_name |
Nome do objeto do banco de dados para recuperar metadados. |
object_schema |
Esquema de propriedade do objeto de banco de dados. |
branch_name |
Coloque o arquivo em uma ramificação específica. |
commit_details |
Detalhes de commit como documento JSON: |
append |
Anexe a DDL de metadados ao arquivo existente. |
Nota de Uso
Para controle personalizado na DDL de objeto, você pode usar DBMS_METADATA.GET_DDL
com DBMS_CLOUD_REPO.PUT_FILE
. Para obter a definição de metadados do objeto, o usuário atual deve ter privilégios para recuperar os metadados do objeto. Consulte DBMS_METADATA 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento EXPORT_SCHEMA
Este procedimento exporta metadados de todos os objetos em um esquema para a ramificação do Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
file_path |
Especifica o nome do arquivo de esquema a ser carregado para o repositório. Esse parâmetro é obrigatório e suportado em 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 Repositório de Código na Nuvem. Esse parâmetro é obrigatório e suportado em 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 em todos os provedores de nuvem. Os parâmetros JSON para
filter_list são:
|
branch_name |
Especifica o nome da ramificação do repositório. Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
commit_details |
Detalhes de commit como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
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;
/
Nota de Uso
Para executar o procedimento DBMS_CLOUD_REPO.EXPORT_SCHEMA
, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
GET_FILE Procedimento e Função
A função faz download do conteúdo de um arquivo do repositório de Código de Nuvem. O procedimento permite fazer download do conteúdo de um arquivo do repositório de Código de Nuvem e salvar 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 identificador de repositório. |
file_path |
Caminho do arquivo no repositório. |
directory_name |
Nome do objeto de 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 o arquivo de uma ramificação específica. |
tag_name |
Obter o arquivo de uma Tag específica. |
commit_name |
Obter o 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INIT_AWS_REPO Função
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 a chave de acesso/chave secreta CodeCommit da AWS. |
repo_name |
Especifica o nome do repositório. |
region |
Especifica a região da AWS para o 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INIT_AZURE_REPO Função
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 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 do repositório. |
organization |
Especifica a Organização DevOps do Azure. |
project |
Nome do Projeto da Equipe do Azure. |
Exemplo
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INIT_GITHUB_REPO Função
Essa 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 GitHub. E-mail do Usuário e Token de Acesso Pessoal (PAT). |
repo_name |
Especifica o nome do 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INIT_REPO Função
Essa função inicializa um identificador de Repositório de Código na Nuvem e retorna um objeto JSON opaco. Essa função é uma interface genérica para aceitar um documento JSON, e evita ter que alterar o código; você só precisa alterar um documento JSON ao mover um repositório de código de um repositório de Código na Nuvem.
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 na nuvem dos seguintes itens: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Especifica o nome do repositório. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub Proprietário do Repositório. DBMS_CLOUD_REPO.PARAM_OWNER Esse 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INSTALL_FILE Procedimento
Esse procedimento instala instruções SQL de um arquivo no repositório de Código de Nuvem identificado pelo argumento de controle 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 identificador de repositório. |
file_path |
Caminho do arquivo no repositório. |
branch_name |
Agência para instalar arquivo de uma agência específica. |
tag_name |
Tag para instalar arquivo de uma Tag específica. |
commit_name |
ID de Commit para instalar arquivo de um commit específico. |
stop_on_error |
Interromper a execução das instruções SQL no primeiro erro. |
Observações de Uso
-
Você pode instalar instruções SQL contendo SQL aninhado de um arquivo de repositório do Cloud Code usando o seguinte:
-
@
: inclui um arquivo SQL com um caminho relativo para a RAIZ do repositório. -
@@
: inclui um arquivo SQL com um caminho relativo ao arquivo atual.
-
-
Os scripts são considerados como scripts de instalação de esquema e não como scripts SQL genéricos:
- Os scripts não podem conter comandos específicos do cliente SQL*Plus.
- Os scripts não podem conter variáveis de bind ou scripts paramétricos.
- As instruções SQL devem terminar com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL e DML PLSQL, mas não são suportadas instruções
SELECT
diretas. há suporte para o uso de SELECT em um bloco PL/SQL.
Qualquer instrução SQL que possa ser executada usando
EXECUTE IMMEDIATE
funcionará se não contiver definições e variáveis de bind.
Exemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
INSTALL_SQL Procedimento
Esse 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ção |
---|---|
content |
é o CLOB que contém as instruções SQL a serem executadas. |
stop_on_error |
Interromper a execução das instruções SQL no primeiro erro. |
Observações de Uso
-
Os scripts são considerados como scripts de instalação de esquema e não como scripts SQL genéricos:
- Os scripts não podem conter comandos específicos do cliente SQL*Plus.
- Os scripts não podem conter variáveis de bind ou scripts paramétricos.
- As instruções SQL devem terminar com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL e DML PLSQL, mas não são suportadas instruções
SELECT
diretas. há suporte para o uso de SELECT em um bloco PL/SQL.
Qualquer instrução SQL que possa ser executada usando
EXECUTE IMMEDIATE
funcionará se não contiver definições e variáveis de bind.
Exemplo
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Função LIST_BRANCHES
Essa função lista ramificações na ramificação do Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
Exemplo
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Observações de Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
retorna a coluna:name
, que indica o nome da ramificação do Repositório de Código da Nuvem.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Função LIST_COMMITS
Essa função lista commits na ramificação do Repositório de Código na Nuvem identificada pelo argumento de controle 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 identificador de repositório.
Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
branch_name |
Listar commits de uma ramificação específica.
Esse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
file_path |
Listar os 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 |
commit_id |
Listar arquivos que começam no sha/id especificadoEsse parâmetro é suportado em todos os provedores de nuvem. Se você não fornecer um valor |
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Observações de Uso
-
Essa é uma função de tabela em pipeline com um tipo de retorno como
list_commit_ret_tab.
. -
DBMS_CLOUD_REPO.LIST_COMMITS
retorna a coluna:commit_id
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Função LIST_FILES
Essa função faz download de um arquivo do repositório de Código de Nuvem. Opcionalmente, o conteúdo do arquivo pode ser acessado por um nome específico de ramificação, tag ou commit. Por padrão, o arquivo é acessado pela ramificação de repositório padrão. Os resultados incluem os nomes de arquivos e metadados adicionais sobre eles.
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 identificador de repositório. |
path |
Listar os arquivos no caminho da subpasta especificada no repositório. |
branch_name |
Listar os arquivos de uma ramificação específica. |
tag_name |
Listar os arquivos de uma Tag específica. |
commit_name |
Listar os arquivos de um commit específico. |
Observações de Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
retorna as colunas:id
,name
,url
ebytes
.
Exemplo
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Função LIST_REPOSITORIES
Essa função lista todos os Repositórios de Código na Nuvem identificados pelo argumento de controle repo
. Se o handle repo
tiver um nome de repositório especificado, a função não restringirá a listagem ao nome do repositório especificado; ela listará todos os repositórios acessíveis ao usuário.
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 identificador de repositório. Esse parâmetro é suportado por todos os provedores de nuvem. |
Observações de Uso
-
Essa é uma função de tabela em pipeline com tipo de retorno como
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
retorna as colunas:id
,name
,owner
,description
,private
,url
,bytes
,created
elast_modified
.
Exemplo
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Procedimento MERGE_BRANCH
Esse procedimento mescla uma ramificação de repositório em outra ramificação especificada no Repositório de Código na Nuvem identificada pelo argumento de controle repo
. No momento, o procedimento MERGE_BRANCH
não é suportado no Azure.
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 identificador de repositório. Esse parâmetro é obrigatório e suportado pelos 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 em todos os provedores de nuvem. |
target_branch_name |
Especifica o nome da ramificação de destino para mesclagem. Esse parâmetro é obrigatório e suportado em todos os provedores de nuvem. |
commit_details |
Detalhes de commit como documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Se você não fornecer um valor |
Exemplo
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Nota de Uso
Para executar o procedimento DBMS_CLOUD_REPO.MERGE_BRANCH
, você deve fazer log-in como usuário ADMIN ou ter o privilégio EXECUTE
em DBMS_CLOUD_REPO
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
PUT_FILE Procedimento
Esse procedimento faz upload de um arquivo para o repositório de Código de Nuvem identificado pelo argumento de controle 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 do 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 identificador de repositório. |
file_path |
Caminho de arquivo para fazer upload do arquivo no repositório. |
contents |
BLOB contendo o conteúdo do arquivo. |
directory_name |
Nome do objeto de diretório que contém o nome do arquivo. |
source_file_name |
Nome do arquivo de origem para fazer upload no repositório. |
branch_name |
Coloque o arquivo em uma ramificação específica. |
commit_details |
Detalhes de commit como 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
UPDATE_REPOSITORY Procedimento
Esse procedimento atualiza um repositório de Código de Nuvem identificado pelo argumento de controle repo
. UPDATE_REPOSITORY suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório de Código de Nuvem.
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 identificador de repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
new_name |
Novo nome do repositório.
Esse parâmetro é suportado em todos os provedores de nuvem. |
description |
Uma descrição curta do repositório.
Esse parâmetro é suportado pelos provedores de nuvem GITHUB e AWS. |
private |
O repositório é privado e só pode ser acessado com credenciais válidas. Esse parâmetro é suportado pelo provedor de nuvem GITHUB. |
Exemplo
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO