DBMS_CLOUD para Gerenciamento de Arquivos em Massa
Os subprogramas para operações em massa de arquivos no 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 armazenamento de Objetos na Nuvem para um diretório no Autonomous 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 Database para o Cloud Object Storage. |
Tópicos Relacionados
Pré-requisitos
Como desenvolvedor, você pode usar procedimentos DBMS_CLOUD com Autonomous Databases implantados no 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 provedores de serviços Amazon S3, Azure Blob Storage e Google Cloud Storage.
- Crie um gateway NAT na Rede Virtual na Nuvem (VCN) em que seus recursos do Autonomous 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 de roteamento e uma regra de segurança de saída a cada sub-rede (na VCN) na qual os recursos do Autonomous Database residem para que esses recursos possam usar o gateway para obter uma chave pública da sua instância do Azure AD:
- Vá para a página Detalhes da Sub-rede da sub-rede.
- Na guia Informações da Sub-rede, clique no nome da Tabela de Rota da sub-rede para exibir sua respectiva página Detalhes da Tabela de Rota.
- Na tabela de Regras de Roteamento existentes, verifique se já existe uma regra com as seguintes características:
- Destino: 0.0.0.0/0
- Tipo de Destino: Gateway NAT
- Alvo: O nome do gateway NAT recém-criado na VCN
Se essa regra não existir, clique em Adicionar Regras de Rota e adicione uma regra de roteamento com essas características.
- Retorne à página Detalhes da Sub-rede da sub-rede.
- Na tabela Listas de Segurança da sub-rede, clique no nome da lista de segurança da sub-rede para exibir a 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
- Faixa de Portas de Destino: Todas
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.
Observação:
A configuração de rede, incluindo o Proxy HTTP, só poderá ser editada até que o Exadata Infrastructure esteja no estado Exige Ativação. Depois de ativado, você não poderá editar essas configurações.A configuração de um Proxy HTTP para uma Infraestrutura do Exadata já provisionada precisa de uma Solicitação de Serviço (SR) no My Oracle Support. Consulte Criar uma Solicitação de Serviço no My Oracle Support para obter detalhes.
Procedimento 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 pasta de origem e destino pode estar no mesmo provedor de armazenamento de Objetos na 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 |
---|---|
|
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
|
Especifica o URI, que aponta para o local do bucket ou da pasta do Object Storage de origem. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
Especifica o URI do bucket ou pasta do Object Storage de destino, no qual os arquivos precisam ser copiados. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
O nome da credencial para acessar o local de destino do Cloud Object Storage. Se você não fornecer um valor |
|
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 REGEXP_LIKE Condição para obter mais informações. |
|
Especifica as opções de configuração adicionais para a operação do 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 |
|
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view |
Observações sobre Uso
-
Um erro é retornado quando o URI de origem e destino apontam para o mesmo bucket ou pasta do 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 em massa exclui 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 |
---|---|
|
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
|
Especifica o URI, que aponta para um local do Object Storage no Autonomous Database. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
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 REGEXP_LIKE Condição para obter mais informações. |
|
Especifica as opções de configuração adicionais para a operação do 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 |
|
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view |
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 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 |
---|---|
|
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
|
Especifica o URI, que aponta para um local do Object Storage no Autonomous Database. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
O nome do diretório no Autonomous Database do qual você deseja fazer download dos arquivos. Esse parâmetro é obrigatório. |
|
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 REGEXP_LIKE Condição para obter mais informações. |
|
Especifica as opções de configuração adicionais para a operação do 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 |
|
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view |
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
Esse procedimento em massa move arquivos 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 pasta de origem e destino pode estar no mesmo provedor de armazenamento de Objetos na 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, uma vez copiados com sucesso.
O objeto será renomeado em vez de movido se o Armazenamento de Objetos permitir a renomeação de operações entre locais de origem e 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 |
---|---|
|
O nome da credencial para acessar o Cloud Object Storage de origem. Se você não fornecer um valor |
|
Especifica o URI, que aponta para o local do bucket ou da pasta do Object Storage de origem. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
Especifica o URI do bucket ou pasta do Object Storage de destino, onde os arquivos precisam ser movidos. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
O nome da credencial para acessar o local de destino do Cloud Object Storage. Se você não fornecer um valor |
|
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 REGEXP_LIKE Condição para obter mais informações. |
|
Especifica as opções de configuração adicionais para a operação do 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 |
|
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view |
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 o URI de origem e destino apontam para o mesmo bucket ou pasta do Object Storage.Procedimento BULK_UPLOAD
Este procedimento copia arquivos para o Cloud Object Storage de um diretório do Autonomous 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 |
---|---|
|
O nome da credencial para acessar o Cloud Object Storage. Se você não fornecer um valor |
|
Especifica o URI, que aponta para um local de Armazenamento de Objetos para fazer upload de arquivos. Esse parâmetro é obrigatório. O formato dos URIs depende do serviço Cloud Object Storage. Consulte DBMS_CLOUD Formatos de URI do Serviço File Cloud Object Storage para obter mais informações. |
|
O nome do diretório no Autonomous Database do qual você faz upload de arquivos. Esse 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 REGEXP_LIKE Condição para obter mais informações. |
|
Especifica as opções de configuração adicionais para a operação do 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 |
|
Use esse parâmetro para rastrear o andamento e o status final da operação de carga como o ID correspondente na view |
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;
/