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 na 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 nos Repositórios do Cloud Code (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
. - Grupos de Subprogramas DBMS_CLOUD_REPO
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 Fornecido pelo Autonomous Database
DBMS_CLOUD_REPO Visão Geral
O pacote DBMS_CLOUD_REPO
fornece acesso fácil a arquivos nos Repositórios de Código de Nuvem (Git), incluindo: GitHub, AWS CodeCommit e Repositório do Azure.
Este pacote é uma única interface para acesso a repositórios de Código Multicloud e permite que você faça upload de arquivos SQL para repositórios Git ou instale scripts SQL diretamente dos Repositórios de Código da Nuvem. Este pacote também permite que você use um Cloud Code Repository para gerenciar versões de código para scripts SQL e instalar ou aplicar patch ao código do aplicativo dos repositórios Git.
Conceitos
-
Sistema de Controle de Versão Git: Git é um software para rastrear alterações em qualquer conjunto de arquivos, geralmente usado para coordenar o trabalho entre programadores que desenvolvem de forma colaborativa o código-fonte durante o desenvolvimento do software. Seus objetivos incluem velocidade, integridade de dados e suporte para fluxos de trabalho distribuídos e não lineares.
-
Repositório Git: Um repositório Git é um armazenamento virtual do seu projeto. Ele permite que você salve versões do seu código, que você pode acessar quando necessário.
Arquitetura
DBMS_CLOUD_REPO
fornece quatro áreas de recursos:
-
Inicialização do repositório com identificador genérico do repositório de código da nuvem
-
Inicializar um Repositório de Código GitHub
-
Inicializar um Repositório de Código AWS CodeCommit
-
Inicializar um Repositório de Código de Repositório do Azure
-
-
Operações de Gerenciamento de Repositório
-
Criar um repositório
-
Atualizar um repositório
-
Listar repositórios
-
Excluir um repositório
-
-
Operações de Gerenciamento de Arquivos do Repositório
-
Faça upload de um arquivo no Repositório de Código do Oracle Database.
-
Faça download de um arquivo do Repositório de Código para o Oracle Database.
-
Excluir arquivos do Repositório de Código.
-
Listar arquivos do Repositório de Código.
-
-
Operações de Instalação SQL
- Exporte a DDL de metadados do objeto do Banco de Dados para o repositório.
-
Instale instruções SQL de um arquivo no Repositório de Código no 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
DBMS_CLOUD_REPO
REPO
é um objeto JSON opaco para representar um Repositório de Código da Nuvem de um provedor de nuvem específico. Um objeto REPO pode ser passado para diferentes APIs DBMS_CLOUD_REPO
. Esse objeto opaco garante que os procedimentos e funções DBMS_CLOUD_REPO
sejam compatíveis com várias nuvens; você não precisa alterar nenhum código ao migrar de um provedor do Cloud Code Repository para outro Cloud Code Repository.
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.
- Operações de Inicialização DBMS_CLOUD_REPO
Lista os subprogramas para operações de inicialização no 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 de Repositório
Lista os subprogramas para operações de gerenciamento de ramificação de repositório no pacoteDBMS_CLOUD_REPO
. - Operações de Arquivo DBMS_CLOUD_REPO
Lista os subprogramas para operações de arquivo no 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 dentro do 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 handle de repositório GitHub e retorna um tipo opaco. | |
Essa função inicializa um handle do Cloud Code Repository 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 |
---|---|
Este procedimento cria um Cloud Code Repository identificado pelo argumento de manipulação repo .
|
|
Este procedimento exclui o Cloud Code Repository identificado pelo argumento de manipulação repo .
|
|
Essa função lista todos os Repositórios de Código da Nuvem identificados pelo argumento de handle repo .
|
|
Este procedimento atualiza um repositório do Cloud Code identificado pelo argumento de manipulação repo . O procedimento suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório do Cloud Code.
|
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ções de repositório no pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
Este procedimento cria uma ramificação em um Cloud Code Repository identificado pelo argumento de handle repo .
|
|
Este procedimento exclui uma ramificação em um Cloud Code Repository identificado pelo argumento de manipulação repo .
|
|
Essa função lista todas as ramificações do Cloud Code Repository identificadas pelo argumento de manipulação repo .
|
|
Essa função lista todos os commits em uma ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo .
|
|
Este procedimento mescla uma ramificação do Cloud Code Repository em outra ramificação especificada em um Cloud Code Repository identificado pelo argumento de manipulação 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 |
---|---|
Este procedimento exclui um arquivo do repositório do Cloud Code identificado pelo argumento de manipulação repo .
|
|
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. | |
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. | |
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 CLOB para o arquivo de repositório.
|
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
DBMS_CLOUD_REPO Operações de Instalação SQL
Lista os subprogramas para operações de instalação SQL dentro do pacote DBMS_CLOUD_REPO
.
Subprograma | Descrição |
---|---|
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 exporta metadados de todos os objetos em um esquema para uma ramificação do Cloud Code Repository identificada pelo argumento de manipulação repo .
|
|
Este procedimento instala instruções SQL de um arquivo no repositório do Cloud Code identificado pelo argumento de manipulação repo .
|
|
Este procedimento instala instruções SQL de um buffer fornecido como entrada. |
Tópico principal: DBMS_CLOUD_REPO Grupos de Subprogramas
Resumo dos Subprogramas DBMS_CLOUD_REPO
Esta seção abrange os subprogramas DBMS_CLOUD_REPO
fornecidos com o Autonomous Database.
- Procedimento CREATE_BRANCH
Este procedimento cria uma ramificação no Cloud Code Repository identificado pelo argumento de manipulaçãorepo
. - Procedimento CREATE_REPOSITORY
Esse procedimento cria um Cloud Code Repository identificado pelo argumento de manipulaçãorepo
. - Procedimento DELETE_BRANCH
Esse procedimento exclui uma ramificação no repositório Cloud Code identificado pelo argumento de manipulaçãorepo
. - Procedimento DELETE_FILE
Esse procedimento exclui um arquivo do repositório Cloud Code identificado pelo argumento de manipulaçãorepo
. - Procedimento DELETE_REPOSITORY
Este procedimento exclui o Cloud Code Repository identificado pelo argumento de manipulaçãorepo
. - Procedimento EXPORT_OBJECT
Esse 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çãorepo
. 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. - Procedimento EXPORT_SCHEMA
Esse procedimento exporta metadados de todos os objetos em um esquema para a ramificação do Cloud Code Repository identificada pelo argumento de manipulaçãorepo
. - GET_FILE Procedimento e Função
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. - INIT_AWS_REPO Função
Essa função inicializa um handle de repositório da AWS e retorna um tipo opaco. - INIT_AZURE_REPO Função
Essa função inicializa um handle de repositório do Azure e retorna um tipo opaco. Essa função só é suportada para o provedor de nuvem do Azure. - Função INIT_GITHUB_REPO
Essa função inicializa um handle de repositório GitHub e retorna um tipo opaco. - 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. - Procedimento INSTALL_FILE
Esse procedimento instala instruções SQL de um arquivo no repositório Cloud Code identificado pelo argumento de manipulaçãorepo
. - INSTALL_SQL Procedimento
Esse procedimento instala instruções SQL de um buffer fornecido como entrada. - Função LIST_BRANCHES
Esta função lista ramificações na ramificação do Cloud Code Repository identificada pelo argumento de manipulaçãorepo
. - Função LIST_COMMITS
Esta função lista commits na ramificação Cloud Code Repository identificada pelo argumento de handlerepo
. - LIST_FILES Função
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. - Função LIST_REPOSITORIES
Essa função lista todos os Repositórios de Código da Nuvem identificados pelo argumento de handlerepo
. Se o handlerepo
tiver um nome de repositório especificado, a função não restringirá a listagem ao nome de repositório especificado; ela listará todos os repositórios acessíveis ao usuário. - 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 handlerepo
. O procedimentoMERGE_BRANCH
não é suportado no Azure no momento. - Procedimento PUT_FILE
Esse procedimento faz upload de um arquivo para o repositório do Cloud Code identificado pelo argumento de manipulaçãorepo
. 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. - Procedimento UPDATE_REPOSITORY
Este procedimento atualiza um repositório do Cloud Code identificado pelo argumento de manipulaçãorepo
. UPDATE_REPOSITORY suporta a atualização do nome, da descrição ou do status de visibilidade privada, conforme suportado pelo repositório do Cloud Code.
Tópico principal: Pacote DBMS_CLOUD_REPO
CREATE_BRANCH Procedimento
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_commit_id |
Cria a nova ramificação usando o commit do repositório especificado. Esse parâmetro é suportado para 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;
/
Observação do 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
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
CREATE_REPOSITORY Procedimento
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 curta do repositório.
Esse parâmetro é compatível com o GITHUB e o provedor de nuvem 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
DELETE_BRANCH Procedimento
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ção do 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
.
Tópico principal: Resumo de Subprogramas 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
DELETE_REPOSITORY Procedimento
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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
EXPORT_OBJECT Procedimento
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 pelo DBMS_METADATA. Consulte DBMS_METADATA: tabela Tipos de Objeto 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: |
append |
Anexe a DDL de metadados ao arquivo existente. |
Observação do 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 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
EXPORT_SCHEMA Procedimento
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:
|
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 |
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 |
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ção do 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
.
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 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
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 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
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 DevOps do Azure. |
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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
Função INIT_GITHUB_REPO
Essa função inicializa um handle 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 especificando 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
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 |
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 Este 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
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 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 à RAIZ do repositório. -
@@
: inclui um arquivo SQL com um caminho relativo ao arquivo atual.
-
-
Os scripts são destinados 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.
- Scripts não podem conter variáveis de bind ou scripts parametrizados.
- As instruções SQL devem ser encerradas com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL, DML PLSQL, mas instruções
SELECT
diretas não são suportadas. O uso de SELECT em um bloco PL/SQL é suportado.
Qualquer instrução SQL que possa ser executada com o uso de
EXECUTE IMMEDIATE
funcionará se não contiver variáveis de bind ou definições.
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
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 de Uso
-
Os scripts são destinados 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.
- Scripts não podem conter variáveis de bind ou scripts parametrizados.
- As instruções SQL devem ser encerradas com uma barra em uma nova linha (/).
- Os scripts podem conter instruções DDL, DML PLSQL, mas instruções
SELECT
diretas não são suportadas. O uso de SELECT em um bloco PL/SQL é suportado.
Qualquer instrução SQL que possa ser executada com o uso de
EXECUTE IMMEDIATE
funcionará se não contiver variáveis de bind ou definições.
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 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 de Uso
-
Esta é uma função de tabela com 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 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 |
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 |
commit_id |
Listar arquivos que começam no sha/id especificadoEsse parâmetro é suportado para 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
-
Esta é uma função de tabela com 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
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 de Uso
-
Esta é uma função de tabela com 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 da Nuvem identificados pelo argumento de handle repo
. Se o handle repo
tiver um nome de repositório especificado, a função não restringirá a listagem ao nome de 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 handle do repositório. Esse parâmetro é suportado por todos os provedores de nuvem. |
Observações de Uso
-
Esta é uma função de tabela com 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
MERGE_BRANCH Procedimento
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 |
Exemplo
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Observação do 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
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
PUT_FILE Procedimento
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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO
UPDATE_REPOSITORY Procedimento
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 do 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 do repositório.
Esse parâmetro é suportado para todos os provedores de nuvem. |
description |
Uma descrição curta do 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;
/
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_REPO