Gerenciar e Armazenar Arquivos em um Repositório de Código na Nuvem com o Autonomous Database
O Autonomous Database fornece rotinas para gerenciar e armazenar arquivos em Repositórios de Código na Nuvem (Git). Os Repositórios de Código na Nuvem suportados são: GitHub, AWS CodeCommit e Azure Repos.
Tópicos Relacionados
Sobre Repositórios de Código no Cloud com o Autonomous Database
O pacote DBMS_CLOUD_REPO
fornece uma única interface para acessar um Repositório de Código na Nuvem no Autonomous Database.
Os Repositórios de Código na Nuvem suportados fornecem os seguintes recursos:
-
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.
As APIs DBMS_CLOUD_REPO
usam um identificador de repositório (objeto REPO
). O identificador de repositório é um objeto JSON opaco que representa um Repositório de Código na Nuvem de um provedor de nuvem específico. Um objeto REPO
pode ser transmitido a diferentes APIs DBMS_CLOUD_REPO
. Esse objeto opaco garante que os procedimentos e as funções DBMS_CLOUD_REPO
sejam compatíveis com várias nuvens; você não precisa alterar o seu código ao migrar de um provedor de Repositório de Código na Nuvem para outro.
-
Operações de inicialização de repositório para permitir que você inicialize um repositório.
Consulte Inicializar um Repositório de Código na Nuvem para obter mais informações.
-
Operações de gerenciamento de repositório que permitem criar, listar, atualizar ou excluir um repositório.
Consulte Criar e Gerenciar um Repositório de Código na Nuvem para obter mais informações.
-
Operações de gerenciamento de ramificação de repositório que permitem criar, listar, mesclar ou excluir ramificações em um repositório.
Consulte Criar e Gerenciar Ramificações em um Repositório de Código na Nuvem para obter mais informações.
-
Exporte a DDL de metadados de todos os objetos de um esquema para um repositório.
Consulte Exportar Objetos de Esquema para a Ramificação do Repositório de Código na Nuvem para obter mais informações.
-
Operações de gerenciamento de arquivos de repositório para fazer upload, download, atualização e exclusão de arquivos.
Consulte Usar Operações de Arquivo com um Repositório de Código na Nuvem para obter mais informações.
-
Operações de instalação SQL que permitem exportar DDL de metadados de objeto de banco de dados para um repositório e instalar instruções SQL no banco de dados de um Repositório de Código na Nuvem.
Consulte Usar Operações de Instalação SQL com um Repositório de Código na Nuvem para obter mais informações.
Inicializar um Repositório de Código na Nuvem
As rotinas de inicialização DBMS_CLOUD_REPO
inicializam um Repositório de Código na Nuvem. Depois de obter um identificador de Repositório de Código na Nuvem, use-o para acessar o Repositório de Código na Nuvem.
Para inicializar um Repositório de Código na Nuvem:
Consulte Operações de Inicialização DBMS_CLOUD_REPO para obter detalhes sobre as funções de inicialização.
Criar e Gerenciar um Repositório de Código na Nuvem
As rotinas de gerenciamento DBMS_CLOUD_REPO
permitem que você gerencie um Repositório de Código na Nuvem criando, listando, atualizando ou excluindo um repositório.
Primeiro, obtenha um identificador do Repositório de Código na Nuvem para fornecer acesso a um repositório. Consulte Inicializar um Repositório de Código na Nuvem para obter detalhes.
Consulte Operações de Gerenciamento de Repositório DBMS_CLOUD_REPO para obter mais informações.
Criar e Gerenciar Ramificações em um Repositório de Código na Nuvem
As rotinas de gerenciamento DBMS_CLOUD_REPO
permitem que você gerencie ramificações do Cloud Code Repository criando, listando, mesclando ou excluindo ramificações em um repositório.
Para executar operações de gerenciamento de ramificação do Repositório de Código na Nuvem, primeiro você deve:
-
Criar uma credencial.
Consulte CREATE_CREDENTIAL Procedimento para obter detalhes.
-
Obtenha uma alça.
Consulte Inicializar um Repositório de Código na Nuvem para obter detalhes.
-
Crie um repositório.
Consulte Criar e Gerenciar um Repositório de Código na Nuvem para obter detalhes.
-
Faça log-in como usuário ADMIN ou tenha o privilégio
EXECUTE
emDBMS_CLOUD_REPO
.
Consulte DBMS_CLOUD_REPO Operações de Gerenciamento de Filiais do Repositório para obter mais informações.
Exportar Objetos de Esquema para a Ramificação do Repositório de Código na Nuvem
A rotina de gerenciamento DBMS_CLOUD_REPO
permite exportar metadados dos objetos em um esquema para a ramificação Repositório de Código na Nuvem. Você pode filtrar sua lista com base nos nomes ou tipos de objeto.
Para exportar metadados do esquema, primeiro você deve:
-
Criar uma credencial.
Consulte CREATE_CREDENTIAL Procedimento para obter detalhes.
-
Obtenha uma alça.
Consulte Inicializar um Repositório de Código na Nuvem para obter detalhes.
-
Crie um repositório.
Consulte Criar e Gerenciar um Repositório de Código na Nuvem para obter detalhes.
-
Faça log-in como usuário ADMIN ou tenha o privilégio
EXECUTE
emDBMS_CLOUD_REPO
.
Use o procedimento EXPORT_SCHEMA
para exportar metadados dos objetos do seu esquema para uma ramificação do Repositório de Código na Nuvem:
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;
/
Este exemplo exporta os metadados do esquema USER1
para o repositório l_repo
. A exportação inclui os metadados das tabelas EMPLOYEE_SALARY
e EMPLOYEE_ADDRESS
e qualquer nome de tabela que contenha OFFICE
. Ele também exporta a sequência EMPLOYEE_RECORD_SEQ
e exclui as views no esquema.
Usar Operações de Arquivo com um Repositório de Código na Nuvem
As operações de arquivo DBMS_CLOUD_REPO
permitem que você crie, obtenha, liste, atualize ou exclua arquivos em um Repositório de Código na Nuvem.
Obtenha um identificador de Repositório de Código na Nuvem antes de usar as operações de arquivo. Consulte Inicializar um Repositório de Código na Nuvem para obter detalhes.
Você também precisa criar um repositório antes de trabalhar com arquivos. Consulte Criar e Gerenciar um Repositório de Código na Nuvem para obter detalhes.
Consulte Operações de Arquivo DBMS_CLOUD_REPO para obter mais informações.
Usar Operações de Instalação SQL com um Repositório de Código na Nuvem
As operações de Instalação SQL DBMS_CLOUD_REPO
permitem armazenar e fazer download de scripts SQL de um Repositório de Código na Nuvem.
Obtenha um identificador de Repositório de Código na Nuvem antes de usar as operações de Instalação SQL. Consulte Inicializar um Repositório de Código na Nuvem para obter detalhes.
Você também precisa criar um repositório antes de trabalhar com operações de Instalação SQL. Consulte Criar e Gerenciar um Repositório de Código na Nuvem para obter detalhes.
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 parametrizados.
- 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 há suporte para 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.
Consulte Operações de Instalação SQL DBMS_CLOUD_REPO para obter mais informações.