DBMS_CLOUD para Gerenciamento de Arquivos em Massa
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
-
Vá para a página Detalhes de Sub-rede da sub-rede.
-
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.
-
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.
-
-
Retorne à página Detalhes da Subrede da sub-rede.
-
Na tabela Listas de Segurança da sub‑rede, clique no nome da lista da sub‑rede para exibir sua página Detalhes da Lista de Segurança.
-
No menu lateral, em Recursos, clique em Regras de Saída.
-
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 a Infraestrutura do Exadata 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.
Resumo de Subgrupos DBMS_CLOUD para Gerenciamento de Arquivos em Massa
Os subprogramas para operações de arquivo em massa dentro do pacote DBMS_CLOUD.
| Subprograma | Descrição |
|---|---|
| Procedimento BULK_COPY | Este procedimento copia arquivos de um bucket do Cloud Object Storage para outro. |
| Procedimento BULK_DELETE | O procedimento exclui arquivos do bucket ou da pasta do Cloud Object Storage. |
| Procedimento BULK_DOWNLOAD | Este procedimento faz download de arquivos do bucket do Cloud Object Store para um diretório no Autonomous AI Database. |
| Procedimento BULK_MOVE | Este procedimento move arquivos de um bucket do Cloud Object Storage para outro. |
| Procedimento BULK_UPLOAD | Este procedimento faz upload de arquivos de um diretório no Autonomous AI Database para o Cloud Object Storage. |
Procedimento BULK_COPY
Este procedimento copia em massa arquivos de um bucket do Cloud Object Storage para outro. O formulário sobrecarregado permite que você use o parâmetro operation_id.
Você pode filtrar a lista de arquivos a serem excluídos usando um padrão de expressão regular compatível com o operador REGEXP_LIKE.
O bucket ou a pasta de origem e de destino podem estar no mesmo provedor de armazenamento de Objetos da Nuvem ou em outro provedor.
Quando a origem e o destino estiverem em Armazenamentos de Objetos distintos ou tiverem contas diferentes com o mesmo provedor de nuvem, você poderá fornecer nomes de credenciais separados para os locais de origem e destino.
Por padrão, o nome da credencial de origem também é usado pelo local de destino.
Sintaxe
DBMS_CLOUD.BULK_COPY (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
source_credential_name |
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
source_location_uri |
Especifica o URI que aponta para o bucket ou local da pasta do Object Storage de origem. Este parâmetro é obrigatório. URIs de arquivo de origem na nuvem Você pode usar curingas, bem como expressões regulares nos nomes de arquivo nos URIs de arquivo de origem da Nuvem. As expressões regulares só podem ser usadas quando o parâmetro Os caracteres "*" e "?" são considerados caracteres curinga quando o parâmetro Só há suporte para padrões de expressão regular no nome do arquivo ou no caminho da subpasta em seus URIs, e a correspondência de padrões é idêntica à executada pela função Exemplo de uso de expressões regulares: Exemplo usando curingas: O formato dos URIs depende do serviço do Cloud Object Storage que você estiver usando. Para obter detalhes, consulte Formatos do Cloud Object Storage URI. Consulte Condição REGEXP_LIKE em Referência de Linguagem SQL do Oracle Database 19c ou Referência de Linguagem SQL do Oracle Database 26ai para obter mais informações sobre a condição |
target_location_uri |
Especifica o URI do bucket ou pasta do Object Storage de destino, em que os arquivos precisam ser copiados. Este parâmetro é obrigatório. Especifica o URI, que aponta para o bucket ou local da pasta do Object Storage de origem. Este parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte Formatos de URI do Database Cloud Object Storage do Arquivo de Pacote DBMS_CLOUD para obter mais informações. |
target_credential_name |
O nome da credencial para acessar a localização do Cloud Object Storage de destino. Se você não fornecer um valor |
regex_filter |
Especifica a expressão REGEX para filtrar arquivos. O padrão de expressão REGEX deve ser compatível com o operador Se você não fornecer um valor Consulte Condição REGEXP_LIKE para obter mais informações. |
format |
Especifica as opções de configuração adicionais para a operação de arquivo. Essas opções são especificadas como uma string JSON. As opções de formato suportadas são:
Se você não fornecer um valor |
operation_id |
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view USER_LOAD_OPERATIONS. |
Observação: Um erro é retornado quando os URIs de origem e destino apontam para o mesmo bucket ou pasta do serviço Object Storage.
Exemplo
BEGIN
DBMS_CLOUD.BULK_COPY (
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Procedimento BULK_DELETE
Este procedimento exclui em massa arquivos do Cloud Object Storage. O formulário sobrecarregado permite que você use o parâmetro operation_id. Você pode filtrar a lista de arquivos a serem excluídos usando um padrão de expressão regular compatível com o operador REGEXP_LIKE.
Sintaxe
DBMS_CLOUD.BULK_DELETE(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
location_uri |
Especifica o URI que aponta para um local do serviço Object Storage no Autonomous AI Database. Este parâmetro é obrigatório. URIs de arquivo de origem na nuvem Você pode usar curingas, bem como expressões regulares nos nomes de arquivo nos URIs de arquivo de origem da Nuvem. As expressões regulares só podem ser usadas quando o parâmetro Os caracteres "*" e "?" são considerados caracteres curinga quando o parâmetro Só há suporte para padrões de expressão regular no nome do arquivo ou no caminho da subpasta em seus URIs, e a correspondência de padrões é idêntica à executada pela função Por exemplo: O formato dos URIs depende do serviço do Cloud Object Storage que você estiver usando. Para obter detalhes, consulte Formatos do Cloud Object Storage URI. Consulte Condição REGEXP_LIKE em Referência de Linguagem SQL do Oracle Database 19c ou Referência de Linguagem SQL do Oracle Database 26ai para obter mais informações sobre a condição O formato dos URIs depende do serviço Cloud Object Storage. Consulte Formatos de URI do Database Cloud Object Storage do Arquivo de Pacote DBMS_CLOUD para obter mais informações. |
regex_filter |
Especifica a expressão REGEX para filtrar arquivos. O padrão de expressão REGEX deve ser compatível com o operador Se você não fornecer um valor Consulte Condição REGEXP_LIKE para obter mais informações. |
format |
Especifica as opções de configuração adicionais para a operação de arquivo. Essas opções são especificadas como uma string JSON. As opções de formato suportadas são:
Se você não fornecer um valor |
operation_id |
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view USER_LOAD_OPERATIONS. |
Exemplo
BEGIN
DBMS_CLOUD.BULK_DELETE (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/
Procedimento BULK_DOWNLOAD
Este procedimento faz download de arquivos em um diretório do Autonomous AI Database do Cloud Object Storage. O formulário sobrecarregado permite que você use o parâmetro operation_id. Você pode filtrar a lista de arquivos a serem baixados usando um padrão de expressão regular compatível com o operador REGEXP_LIKE.
Sintaxe
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
location_uri |
Especifica o URI que aponta para um local do serviço Object Storage no Autonomous AI Database. Este parâmetro é obrigatório. URIs de arquivo de origem na nuvem Você pode usar curingas, bem como expressões regulares nos nomes de arquivo nos URIs de arquivo de origem da Nuvem. As expressões regulares só podem ser usadas quando o parâmetro Os caracteres "*" e "?" são considerados caracteres curinga quando o parâmetro Só há suporte para padrões de expressão regular no nome do arquivo ou no caminho da subpasta em seus URIs, e a correspondência de padrões é idêntica à executada pela função Por exemplo: O formato dos URIs depende do serviço do Cloud Object Storage que você estiver usando. Para obter detalhes, consulte Formatos do Cloud Object Storage URI. Consulte Condição REGEXP_LIKE em Referência de Linguagem SQL do Oracle Database 19c ou Referência de Linguagem SQL do Oracle Database 26ai para obter mais informações sobre a condição |
directory_name |
O nome do diretório no Autonomous AI Database do qual você deseja fazer download dos arquivos. Este parâmetro é obrigatório. |
regex_filter |
Especifica a expressão REGEX para filtrar arquivos. O padrão de expressão REGEX deve ser compatível com o operador Se você não fornecer um valor Consulte Condição REGEXP_LIKE para obter mais informações. |
format |
Especifica as opções de configuração adicionais para a operação de arquivo. Essas opções são especificadas como uma string JSON. As opções de formato suportadas são:
Se você não fornecer um valor |
operation_id |
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view USER_LOAD_OPERATIONS. |
Exemplo
BEGIN
DBMS_CLOUD.BULK_DOWNLOAD (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Procedimento BULK_MOVE
Este procedimento move arquivos em massa de um bucket ou pasta do Cloud Object Storage para outro. O formulário sobrecarregado permite que você use o parâmetro operation_id.
Você pode filtrar a lista de arquivos a serem excluídos usando um padrão de expressão regular compatível com o operador REGEXP_LIKE.
O bucket ou a pasta de origem e de destino podem estar no mesmo provedor de armazenamento de Objetos da Nuvem ou em outro provedor.
Quando a origem e o destino estiverem em Armazenamentos de Objetos distintos ou tiverem contas diferentes com o mesmo provedor de nuvem, você poderá fornecer nomes de credenciais separados para os locais de origem e destino.
Por padrão, o nome da credencial de origem também é usado pelo local de destino quando o nome da credencial de destino não é fornecido.
A primeira etapa na movimentação de arquivos é copiá-los para o local de destino e, em seguida, excluir os arquivos de origem, depois que eles forem copiados com sucesso.
O objeto será renomeado em vez de movido se o Object Store permitir operações de renomeação entre os locais de origem e de destino.
Sintaxe
DBMS_CLOUD.BULK_MOVE (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE (
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
source_credential_name |
O nome da credencial para acessar o Cloud Object Storage de origem. Se você não fornecer um valor |
source_location_uri |
Especifica o URI que aponta para o bucket ou local da pasta do Object Storage de origem. Este parâmetro é obrigatório. URIs de arquivo de origem na nuvem Você pode usar curingas, bem como expressões regulares nos nomes de arquivo em URIs de arquivo de origem na Nuvem. As expressões regulares só podem ser usadas quando o parâmetro Os caracteres "*" e "?" são considerados caracteres curinga quando o parâmetro Só há suporte para padrões de expressão regular no nome do arquivo ou no caminho da subpasta em seus URIs, e a correspondência de padrões é idêntica à executada pela função Exemplo de uso de expressões regulares: Exemplo usando curingas: O formato dos URIs depende do serviço do Cloud Object Storage que você estiver usando. Para obter detalhes, consulte Formatos do Cloud Object Storage URI. Consulte Condição REGEXP_LIKE em Referência de Linguagem SQL do Oracle Database 19c ou Referência de Linguagem SQL do Oracle Database 26ai para obter mais informações sobre a condição |
target_location_uri |
Especifica o URI do bucket ou pasta do Object Storage de destino, onde os arquivos precisam ser movidos. Este parâmetro é obrigatório. O formato dos URIs depende do serviço do Cloud Object Storage que você estiver usando. Para obter detalhes, consulte Formatos do Cloud Object Storage URI. |
target_credential_name |
O nome da credencial para acessar a localização do Cloud Object Storage de destino. Se você não fornecer um valor |
regex_filter |
Especifica a expressão REGEX para filtrar arquivos. O padrão de expressão REGEX deve ser compatível com o operador Se você não fornecer um valor Consulte Condição REGEXP_LIKE para obter mais informações. |
format |
Especifica as opções de configuração adicionais para a operação de arquivo. Essas opções são especificadas como uma string JSON. As opções de formato suportadas são:
Se você não fornecer um valor |
operation_id |
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view USER_LOAD_OPERATIONS. |
Exemplo
BEGIN
DBMS_CLOUD.BULK_MOVE (
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/
Observação: Um erro é retornado quando os URIs de origem e destino apontam para o mesmo bucket ou pasta do serviço Object Storage.
Procedimento BULK_UPLOAD
Este procedimento copia arquivos no Cloud Object Storage de um diretório do Autonomous AI Database. O formulário sobrecarregado permite que você use o parâmetro operation_id.
Sintaxe
DBMS_CLOUD.BULK_UPLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD (
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
location_uri |
Especifica URI, que aponta para um local do Object Storage para fazer upload de arquivos. Este parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte Formatos de URI do Database Cloud Object Storage do Arquivo de Pacote DBMS_CLOUD para obter mais informações. |
directory_name |
O nome do diretório no Autonomous AI Database do qual você faz upload de arquivos. Este parâmetro é obrigatório. Diretório Você pode especificar um diretório e um ou mais nomes de arquivos ou usar uma lista separada por vírgulas de diretórios e nomes de arquivos. O formato para especificar um diretório é: Não há suporte para expressões regulares ao especificar os nomes de arquivo em um diretório. Você só pode usar curingas para especificar nomes de arquivo em um diretório. O caractere "*" pode ser usado como caractere curinga para vários caracteres e o caractere "?" pode ser usado como caractere curinga para um único caractere. Por exemplo: Para especificar vários diretórios, use uma lista de diretórios separada por vírgulas: Por exemplo: Use aspas duplas para especificar um nome de diretório com distinção entre maiúsculas e minúsculas. Por exemplo: Para incluir um caractere de aspas, use duas aspas. Por exemplo: |
regex_filter |
Especifica a expressão REGEX para filtrar arquivos. O padrão de expressão REGEX deve ser compatível com o operador Se você não fornecer um valor Consulte Condição REGEXP_LIKE para obter mais informações. |
format |
Especifica as opções de configuração adicionais para a operação de arquivo. Essas opções são especificadas como uma string JSON. As opções de formato suportadas são:
Se você não fornecer um valor |
operation_id |
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view USER_LOAD_OPERATIONS. |
Exemplo
BEGIN
DBMS_CLOUD.BULK_UPLOAD (
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
);
END;
/