DBMS_CLOUD Sottoprogrammi e API REST
In questa sezione vengono descritti i sottoprogrammi DBMS_CLOUD
e le API REST fornite con Autonomous Database.
Per eseguire i sottoprogrammi
DBMS_CLOUD
con un utente diverso da ADMIN, è necessario concedere i privilegi EXECUTE
a tale utente. Ad esempio, eseguire il seguente comando come ADMIN per concedere i privilegi a adb_user
:GRANT EXECUTE ON DBMS_CLOUD TO adb_user;
Il pacchetto DBMS_CLOUD
è composto dai seguenti elementi:
- DBMS_CLOUD per la gestione degli accessi
I sottoprogrammi per la gestione delle credenziali all'interno del package DBMS_CLOUD, incluse le credenziali di creazione, eliminazione e aggiornamento. - DBMS_CLOUD per oggetti e file
I sottoprogrammi per la gestione di oggetti e file all'interno del package DBMS_CLOUD. - DBMS_CLOUD per la gestione dei file in blocco
I sottoprogrammi per le operazioni dei file in blocco all'interno del package DBMS_CLOUD. - DBMS_CLOUD API REST
In questa sezione vengono descritte le API RESTDBMS_CLOUD
fornite con Autonomous Database.
Argomento padre: DBMS_CLOUD Package
DBMS_CLOUD per la gestione degli accessi
I sottoprogrammi per la gestione delle credenziali all'interno del package DBMS_CLOUD, incluse le credenziali di creazione, eliminazione e aggiornamento.
Programma secondario | descrizione; |
---|---|
Questa procedura memorizza le credenziali del servizio cloud in Autonomous Database. | |
Questa procedura rimuove una credenziale esistente da Autonomous Database. | |
Questa procedura aggiorna immediatamente il segreto vault di una credenziale segreta del vault per ottenere la versione più recente del segreto vault per il valore |
|
Questa procedura aggiorna gli attributi delle credenziali del servizio cloud in Autonomous Database. |
- CREATE_CREDENTIAL Procedura
Questa procedura memorizza le credenziali del servizio cloud in Autonomous Database. - DROP_CREDENTIAL Procedura
Questa procedura rimuove una credenziale esistente da Autonomous Database. - REFRESH_VAULT_CREDENTIAL Procedura
Questa procedura aggiorna il segreto vault di una credenziale segreta del vault. - UPDATE_CREDENTIAL Procedura
Questa procedura aggiorna un attributo con un nuovo valore per un valorecredential_name
specificato.
Argomento padre: DBMS_CLOUD sottoprogrammi e API REST
CREATE_CREDENTIAL Procedura
Questa procedura memorizza le credenziali del servizio cloud in Autonomous Database.
Utilizzare le credenziali del servizio cloud memorizzate per accedere al servizio cloud per il caricamento dei dati, per eseguire query sui dati esterni che risiedono nel cloud o per altri casi quando si utilizzano le procedure DBMS_CLOUD
con un parametro credential_name
. Questa procedura è sovraccaricata:
-
Utilizzare i parametri relativi a Oracle Cloud Infrastructure, tra cui
user_ocid
,tenancy_ocid
,private_key
efingerprint
solo quando si utilizza l'autenticazione delle chiavi di firma di Oracle Cloud Infrastructure. -
Utilizzare il parametro
params
per uno dei seguenti:-
Credenziali Amazon Resource Names (ARNs)
-
Google Analytics o Google BigQuery credenziali
-
Credenziali del segreto vault da utilizzare con un vault supportato:
- Oracle Cloud Infrastructure Vault
- Vault delle chiavi di Azure
- AWS Secrets Manager
- Gestore segreti GCP
-
Sintassi
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
username IN VARCHAR2,
password IN VARCHAR2 DEFAULT NULL,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
user_ocid IN VARCHAR2,
tenancy_ocid IN VARCHAR2,
private_key IN VARCHAR2,
fingerprint IN VARCHAR2,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
params IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale da memorizzare. Il parametro |
|
Gli argomenti |
|
Gli argomenti |
|
Specifica il testo del commento per la credenziale. Questo campo può essere utile per descrivere e distinguere le credenziali. La lunghezza massima del commento è di 3800 caratteri. |
|
Specifica l'OCID dell'utente. Per informazioni dettagliate su come ottenere l'OCID dell'utente, vedere Where to Get the Tenancy's OCID and User's OCID. |
|
Specifica l'OCID della tenancy. Per informazioni dettagliate su come ottenere l'OCID della tenancy, vedere Where to Get the Tenancy's OCID and User's OCID. |
|
Specifica la chiave privata generata. Le chiavi private generate con una password non sono supportate. È necessario generare la chiave privata senza una passphrase. Per informazioni dettagliate sulla generazione di una coppia di chiavi in formato PEM, vedere Come generare una chiave di firma API. |
|
Specifica un'impronta digitale. Dopo aver caricato una chiave pubblica generata nell'account dell'utente, l'impronta viene visualizzata nella console. Utilizzare l'impronta digitale visualizzata per questo argomento. Per ulteriori dettagli, vedere Come ottenere l'impronta digitale della chiave e Come generare una chiave di firma API. |
|
Specifica i parametri delle credenziali per uno dei seguenti elementi:
|
Note per uso
-
Questa operazione memorizza le credenziali nel database in formato cifrato.
-
È possibile visualizzare le credenziali nello schema eseguendo una query sulla tabella
user_credentials
. -
È possibile visualizzare i commenti delle credenziali nello schema eseguendo una query sulla tabella
user_credentials
. Ad esempio:SELECT comments FROM user_credentials WHERE credential_name = 'MY_CRED';
-
L'utente
ADMIN
può visualizzare tutte le credenziali eseguendo una query sulla tabelladba_credentials
. -
È necessario creare le credenziali una sola volta a meno che le credenziali del servizio cloud non vengano modificate. Dopo aver memorizzato le credenziali, è possibile utilizzare lo stesso nome di credenziale per le procedure
DBMS_CLOUD
che richiedono un parametrocredential_name
. -
Questa procedura è sovraccaricata. Se si fornisce uno degli attributi di autenticazione basati su chiave,
user_ocid
,tenancy_ocid
,private_key
ofingerprint
, si presume che la chiamata sia una credenziale basata su chiave di firma di Oracle Cloud Infrastructure. -
È possibile elencare le credenziali dalla vista
ALL_CREDENTIALS
. Ad esempio, eseguire il comando seguente per visualizzare le credenziali:SELECT credential_name, username, comments FROM all_credentials;
Credenziali Oracle Cloud Infrastructure (token di autorizzazione)
Per Oracle Cloud Infrastructure, username
è il nome utente di Oracle Cloud Infrastructure. password
è il token di autenticazione di Oracle Cloud Infrastructure. Vedere Utilizzo dei token di autenticazione.
Ad esempio:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Usare le credenziali basate su token di autenticazione quando si autenticano le chiamate a OCI Object Storage. Per le chiamate a qualsiasi altro tipo di servizio cloud Oracle Cloud Infrastructure, utilizza le credenziali basate sulla chiave di firma di Oracle Cloud Infrastructure.
Per lo storage degli oggetti OCI, il valore del parametro username
deve includere il dominio di Identity e il nome utente del profilo. Puoi trovare il dominio di Identity associato a un utente nella console di Oracle Cloud Infrastructure.
Ad esempio:
oracleidentitycloudservice/adb_user@example.com
Con il dominio di Identity predefinito non è necessario includere il nome di dominio Default
. Ad esempio:
adb_user@example.com
Credenziali basate su chiave di firma Oracle Cloud Infrastructure
Utilizzare i parametri correlati alla chiave di firma di Oracle Cloud Infrastructure, tra cui user_ocid
, tenancy_ocid
, private_key
e fingerprint
con l'autenticazione delle chiavi di firma di Oracle Cloud Infrastructure.
Ad esempio:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Le chiavi private generate con una password non sono supportate. È necessario generare la chiave privata senza una passphrase. Per ulteriori informazioni, vedere Come generare una chiave di firma API.
Credenziali Oracle Cloud Infrastructure Object Storage Classic
Se i file di origine risiedono in Oracle Cloud Infrastructure Object Storage Classic, username
è il nome utente Oracle Cloud Infrastructure Classic e password
è la password Oracle Cloud Infrastructure Classic.
Credenziali Amazon Web Services (AWS)
Se i file di origine risiedono in Amazon S3 o si sta chiamando un'API AWS, username
è l'ID della chiave di accesso AWS e password
è la chiave di accesso segreta AWS. Vedere AWS Identity and Access Management.
Credenziali Microsoft Azure
Se i file di origine risiedono in Azure Blob Storage o in Azure Data Lake Storage o si sta chiamando un'API di Azure, username
è il nome dell'account di memorizzazione di Azure e password
è una chiave di accesso dell'account di memorizzazione di Azure. Vedere Informazioni sugli account di memorizzazione di Azure.
Credenziali compatibili con Amazon S3
Servizio | Informazioni credenziali |
---|---|
Oracle Cloud Infrastructure (chiavi segrete del cliente) |
Se i file di origine risiedono in Oracle Cloud Infrastructure, è necessario utilizzare le chiavi segrete del cliente con URL compatibili con S3. Per ulteriori informazioni, vedere Utilizzo delle chiavi segrete del cliente. |
Google Cloud Storage |
Se i file di origine risiedono in Google Cloud Storage o si chiamano API di Google Cloud Storage, è necessario impostare un progetto Google predefinito e ottenere una chiave HMAC per creare le credenziali da fornire con gli URL compatibili con S3 di Google Cloud Storage. Utilizzare l'ID chiave HMAC come nome utente e il segreto HMAC come password. Per ulteriori informazioni, vedere Progetti e Chiavi HMAC. |
Storage cloud a caldo per Wasabi |
Se i file di origine risiedono in Wasabi Hot Cloud Storage o si chiamano le API Wasabi Hot Cloud Storage, è necessario utilizzare le chiavi di accesso per creare le credenziali da fornire con gli URL compatibili con S3. Utilizzare la chiave di accesso Wasabi Hot Cloud Storage come nome utente e la chiave segreta Wasabi Hot Cloud Storage come password. Per ulteriori informazioni, vedere Creazione di un set di chiavi di accesso API Wasabi. |
Credenziali AWS Amazon Resource Names (ARN)
Se i file di origine risiedono in Amazon S3 o si sta chiamando un'API AWS, utilizzare params
per specificare i parametri per i nomi delle risorse Amazon (ARN).
Parametro | Valore |
---|---|
aws_role_arn |
Specifica il nome della risorsa Amazon (ARN) che identifica il ruolo AWS. Se questo parametro non viene fornito durante la creazione della credenziale, viene generato |
external_id_type |
Facoltativamente, impostare Se questo parametro non viene specificato durante la creazione della credenziale, il valore predefinito è |
Ad esempio:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_CRED',
params => JSON_OBJECT(
'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
'external_id_type' value 'database_ocid'));
END;
/
GitHub Token di accesso personale
Se i file di origine risiedono in un repository GitHub o si sta chiamando un'interfaccia API GitHub, username
è l'indirizzo di posta elettronica GitHub e password
è il token di accesso personale GitHub. Per ulteriori informazioni, vedere Creazione di un token di accesso personale.
Ad esempio:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_GITHUB_CRED',
username => 'user@example.com',
password => 'your_personal_access_token' );
END;
/
Credenziali Google Analytics o Google BigQuery
Se si accede a Google Analytics o Google BigQuery, utilizzare il parametro params
per specificare i parametri delle credenziali OAuth 2.0 di Google.
Parametro | Valore |
---|---|
gcp_oauth2 |
Specifica l'accesso OAuth 2.0 per Google Analytics o Google BigQuery con un oggetto JSON che include i seguenti parametri e i relativi valori:
Per ulteriori informazioni sulle credenziali di Google OAuth, vedere Utilizzo di OAuth 2.0 per accedere alle API di Google. |
Ad esempio:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT('gcp_oauth2' value
JSON_OBJECT(
'client_id' value 'client_id',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
END;
/
Credenziali del segreto vault con Oracle Cloud Infrastructure Vault
Per creare le credenziali del segreto vault con Oracle Cloud Infrastructure Vault, utilizzare il parametro params
per specificare i parametri necessari:
-
username
: specifica il nome utente di qualsiasi tipo di credenziale nome utente/password, ad esempio il nome utente della password di OCI Swift. Ad esempio, se si dispone di una credenziale Swift con nome utente "scott" e password "password", specificare "scott" come parametrousername
. -
secret_id
: è l'ID del segreto vault. Specificare il valoresecret_id
come OCID segreto vault. Per ulteriori informazioni, vedere Panoramica del vault. -
region
: è un parametro facoltativo che specifica l'identificativo dell'area cloud oracle. L'area, se specificata, indica la posizione in cui si trova il segreto di Oracle Cloud Infrastructure Vault.Per impostazione predefinita,
CREATE_CREDENTIAL
utilizza il fileregion
mappato dalla chiave area insecret_id
. Un esempio di area èus-ashburn-1
.Per un elenco completo delle aree, consulta la sezione relativa alle aree e ai domini di disponibilità.
Ad esempio:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OCI_SECRET_CRED',
params => JSON_OBJECT(
'username' value 'scott',
'region' value 'us-ashburn-1',
'secret_id' value 'ocid1.vaultsecret.co1.ap-mumbai-1.example..aaaaaaaauq5ok5nq3bf2vwetkpqsoa'));
END;
/
Note per l'uso di un segreto di Oracle Cloud Infrastructure Vault per memorizzare i segreti del vault:
- Quando si utilizza Oracle Cloud Infrastructure Vault, nell'istanza di Autonomous Database è necessario abilitare l'autenticazione del principal con
DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
In Oracle Cloud Infrastructure è necessario specificare un criterio per il principal risorsa per accedere al segreto.
Per creare una credenziale segreta del vault, è necessario disporre del privilegio EXECUTE
nel package DBMS_CLOUD
.
Credenziali del segreto vault con Azure Key Vault
Per creare le credenziali di Key Vault di Azure, utilizzare il parametro params
per specificare i parametri richiesti:
-
username
: specifica il nome utente associato alla chiave. -
secret_id
: specifica il nome del segreto. -
azure_vault_name
: specifica il nome del vault in cui si trova il segreto.
Per ulteriori informazioni, vedere Creare un vault di chiavi.
Per creare una credenziale segreta del vault, è necessario disporre del privilegio EXECUTE
nel package DBMS_CLOUD
.
Credenziali segrete del vault con AWS Secrets Manager
Per creare le credenziali segrete del vault con AWS Secrets Manager, utilizzare il parametro params
per specificare i parametri richiesti:
-
username
: specifica la chiave di accesso di AWS Secrets Manager. -
secret_id
: AWS Secrets Manager è AWS ARN. -
region
: (facoltativo) specifica l'area di servizio AWS in cui si trovano il vault e il segreto. Un esempio della regione AWS è "noi-est-2". Il valore predefinitoregion
è l'area specificata con l'ARN nel parametrosecret_id
.Per ulteriori informazioni, vedere Gestione delle aree AWS.
Per creare una credenziale segreta del vault, è necessario disporre del privilegio
EXECUTE
nel packageDBMS_CLOUD
.
Credenziali del segreto vault con GCP Secret Manager
Per creare le credenziali di GCP Secret Manager, utilizzare il parametro params
per specificare i parametri richiesti:
-
username
: specifica il nome utente associato al segreto. -
secret_id
: è il nome segreto. -
gcp_project_id
: specifica l'ID del progetto in cui si trova il segreto.
Per ulteriori informazioni, vedere Gestione segreta.
Per creare una credenziale segreta del vault, è necessario disporre del privilegio EXECUTE
nel package DBMS_CLOUD
.
Argomento padre: DBMS_CLOUD per la gestione degli accessi
DROP_CREDENTIAL Procedura
Questa procedura rimuove una credenziale esistente da Autonomous Database.
Sintassi
DBMS_CLOUD.DROP_CREDENTIAL
(
credential_name IN VARCHAR2);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale da rimuovere. |
Argomento padre: DBMS_CLOUD per la gestione degli accessi
REFRESH_VAULT_CREDENTIAL Procedura
Questa procedura aggiorna il segreto vault di una credenziale segreta del vault.
Questa procedura consente di aggiornare immediatamente il segreto vault di una credenziale segreta del vault per ottenere la versione più recente del segreto vault per il file credential_name
specificato.
Sintassi
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name IN VARCHAR2);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale da aggiornare. |
Note per uso
-
L'utente
ADMIN
può visualizzare tutte le credenziali eseguendo una query sulla tabelladba_credentials
. -
È possibile elencare le credenziali dalla vista
ALL_CREDENTIALS
. Ad esempio, eseguire il comando seguente per visualizzare le credenziali:SELECT credential_name, username, comments FROM all_credentials;
Esempio
BEGIN
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name => 'AZURE_SECRET_CRED');
END;
/
Argomento padre: DBMS_CLOUD per la gestione degli accessi
UPDATE_CREDENTIAL Procedura
Questa procedura aggiorna un attributo con un nuovo valore per un valore credential_name
specificato.
Utilizzare le credenziali memorizzate per il caricamento dei dati, per eseguire query sui dati esterni che risiedono nel cloud o ovunque si utilizzino le procedure DBMS_CLOUD
con un parametro credential_name
.
Sintassi
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
value IN VARCHAR2);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale da aggiornare. |
|
Nome dell'attributo da aggiornare. Per una credenziale di tipo nome utente/password, i valori validi di Per una credenziale per un ARN Amazon, i valori validi di Per una credenziale per Google BigQuery o Google Analytics, i valori validi di A seconda del vault in uso, per le credenziali segrete del vault i valori
attribute validi sono:
Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura. |
|
Nuovo valore per l'attributo specificato. |
Note per uso
-
Il valore del nome utente distingue tra casi. Non può contenere virgolette o spazi.
-
L'utente
ADMIN
può visualizzare tutte le credenziali eseguendo una query sudba_credentials
. -
È necessario creare le credenziali una sola volta a meno che le credenziali del servizio cloud non vengano modificate. Dopo aver memorizzato le credenziali, è possibile utilizzare lo stesso nome di credenziale per le procedure
DBMS_CLOUD
che richiedono un parametrocredential_name
. -
È possibile elencare le credenziali dalla vista
ALL_CREDENTIALS
. Ad esempio, eseguire il comando seguente per visualizzare le credenziali:SELECT credential_name, username, comments FROM all_credentials;
Esempi
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'ARN_CRED',
attribute => 'aws_role_arn',
value => 'NEW_AWS_ARN');
END;
/
Argomento padre: DBMS_CLOUD per la gestione degli accessi
DBMS_CLOUD per oggetti e file
Sottoprogrammi per la gestione di oggetti e file all'interno del pacchetto DBMS_CLOUD.
Programma secondario | descrizione; |
---|---|
Questa procedura carica i dati nella raccolta SODA esistente dallo storage degli oggetti cloud o dai file di una directory. | |
Questa procedura carica i dati nelle tabelle di Autonomous Database esistenti dallo storage degli oggetti cloud o dai file in una directory. | |
Questa procedura con il parametro format type impostato sul valore orc , parquet o avro carica i dati nelle tabelle di Autonomous Database esistenti dai file ORC, Parquet o Avro nel cloud o dai file ORC, Parquet o Avro in una directory.
Analogamente ai file di testo, i dati vengono copiati dal file ORC, Parquet o Avro di origine nella tabella interna preesistente. |
|
Questa procedura copia i file da un bucket dello storage degli oggetti cloud a un altro. | |
Questa procedura crea una tabella esterna sui file nel cloud o sui file di una directory. Ciò consente di eseguire query su dati esterni da Autonomous Database. | |
CREATE_CLOUD_TABLE Procedura |
Questa procedura crea una tabella cloud in cui tutti i dati persistenti vengono memorizzati nello storage degli oggetti gestito da Oracle. |
CREATE_EXTERNAL_TABLE Procedura per Apache Iceberg |
Questa procedura crea tabelle esterne per le tabelle Apache Iceberg nelle configurazioni supportate. |
CREATE_EXTERNAL_TABLE Procedura per i file Avro, ORC o Parquet |
Questa procedura con il parametro format type impostato sul valore parquet , orc o avro crea una tabella esterna con i file in formato Parquet, ORC o Avro nel cloud o in una directory.
Ciò consente di eseguire query su dati esterni da Autonomous Database. |
Questa procedura crea una tabella partizionata esterna sui file nel cloud. Ciò consente di eseguire query su dati esterni da Autonomous Database. | |
Questa procedura crea un indice di testo nei file dell'area di memorizzazione degli oggetti. |
|
Questa procedura crea una tabella partizionata ibrida. Ciò consente di eseguire query su dati ibridi partizionati da Autonomous Database. | |
Questa procedura cancella tutte le operazioni di caricamento dati registrate nella tabella user_load_operations nello schema oppure cancella tutte le operazioni di caricamento dati del tipo specificato, come indicato con il parametro type .
|
|
Questa procedura rimuove il file specificato dalla directory specificata in Autonomous Database | |
Questa procedura elimina l'oggetto specificato nell'area di memorizzazione degli oggetti. | |
Questa procedura accetta un valore |
|
Questa procedura elimina l'indice di testo nei file dell'area di memorizzazione degli oggetti. |
|
Questa procedura esporta i dati da Autonomous Database nei file nel cloud in base al risultato di una query. Il form sovraccarico consente di utilizzare il parametro operation_id . A seconda dell'opzione type del parametro format specificata, la procedura esporta le righe nell'area di memorizzazione degli oggetti cloud come testo con opzioni CSV, JSON, Parquet o XML oppure utilizzando il driver di accesso ORACLE_DATAPUMP per scrivere i dati in un file di dump. |
|
Questa procedura è sovraccaricata. Il form della procedura legge un oggetto dallo storage degli oggetti cloud e lo copia in Autonomous Database. Il form funzione legge un oggetto dallo storage degli oggetti cloud e restituisce BLOB ad Autonomous Database.
|
|
Questa funzione elenca i file nella directory specificata. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file, ad esempio la dimensione dei file in byte, l'indicatore orario di creazione e l'indicatore orario dell'ultima modifica. | |
Questa funzione elenca gli oggetti nella posizione specificata nell'area di memorizzazione degli oggetti. I risultati includono i nomi degli oggetti e metadati aggiuntivi relativi agli oggetti, ad esempio dimensione, checksum, indicatore orario di creazione e indicatore orario dell'ultima modifica. | |
Questa procedura sposta un oggetto da un bucket di storage degli oggetti cloud a un altro. | |
Questa procedura è sovraccaricata. In un unico form la procedura copia un file da Autonomous Database nello storage degli oggetti cloud. In un altro modulo, la procedura copia un file BLOB da Autonomous Database nello storage degli oggetti cloud.
|
|
Questa procedura semplifica l'aggiornamento di una tabella partizionata esterna dai file nel cloud. Eseguire questa procedura ogni volta che vengono aggiunte nuove partizioni o quando le partizioni vengono rimosse dall'origine dell'area di memorizzazione degli oggetti per la tabella partizionata esterna. |
|
Questa procedura convalida i file di origine per una tabella esterna, genera le informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. | |
Questa procedura convalida i file di origine per una tabella partizionata esterna, genera informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. | |
Questa procedura convalida i file di origine per una tabella partizionata ibrida, genera informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella ibrida in una tabella badfile in Autonomous Database. |
- COPY_COLLECTION Procedura
Questa procedura carica i dati in una raccolta SODA dallo storage degli oggetti cloud o da una directory. Se la raccolta SODA specificata non esiste, viene creata dalla procedura. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - COPY_DATA Procedura
Questa procedura carica i dati nelle tabelle di Autonomous Database esistenti dai file nel cloud o dai file in una directory. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - COPY_DATA Procedura per i file Avro, ORC o Parquet
Questa procedura con il parametroformat
type
impostato sul valoreavro
,orc
oparquet
carica i dati nelle tabelle Autonomous Database esistenti dai file Avro, ORC o Parquet nel cloud o dai file in una directory. - COPY_OBJECT Procedura
Questa procedura copia un oggetto da un bucket o una cartella dello storage degli oggetti cloud a un altro. - CREATE_CLOUD_TABLE Procedura
Questa procedura consente di creare una tabella cloud. Tutti i dati della tabella cloud vengono memorizzati nello storage degli oggetti gestito da Oracle (le tabelle cloud memorizzano solo i metadati nel database). - Procedura CREATE_EXTERNAL_PART_TABLE
Questa procedura crea una tabella partizionata esterna sui file nel cloud o dai file di una directory. Ciò consente di eseguire query su dati esterni da Autonomous Database. - Procedura CREATE_EXTERNAL_TABLE
Questa procedura crea una tabella esterna sui file nel cloud o dai file di una directory. Ciò consente di eseguire query su dati esterni da Autonomous Database. - CREATE_EXTERNAL_TABLE Procedura per Apache Iceberg
Questa procedura crea tabelle esterne per le tabelle Apache Iceberg nelle configurazioni supportate. - CREATE_EXTERNAL_TABLE Procedura per file Avro, ORC o Parquet
Questa procedura con il parametroformat
type
impostato sul valoreavro
,orc
oparquet
crea una tabella esterna con i file in formato Avro, ORC o Parquet nel cloud o in una directory. - CREATE_EXTERNAL_TEXT_INDEX Procedura
Questa procedura crea un indice di testo nei file di storage degli oggetti. - CREATE_HYBRID_PART_TABLE Procedura
Questa procedura crea una tabella partizionata ibrida. Ciò consente di eseguire query su dati ibridi partizionati da Autonomous Database utilizzando oggetti e file di database nel cloud oppure su oggetti e file di database in una directory. - Procedura DELETE_ALL_OPERATIONS
Questa procedura cancella tutte le operazioni di caricamento dati registrate nella tabellauser_load_operations
dello schema oppure cancella tutte le operazioni di caricamento dati del tipo specificato, come indicato con il parametrotype
. - DELETE_FILE Procedura
Questa procedura rimuove il file specificato dalla directory specificata in Autonomous Database. - DELETE_OBJECT Procedura
Questa procedura elimina l'oggetto specificato nell'area di memorizzazione degli oggetti. - Procedura DELETE_OPERATION
Questa procedura cancella le voci di caricamento dati per l'ID operazione specificato registrato nelle tabelleuser_load_operations
odba_load_operations
dello schema. - DROP_EXTERNAL_TEXT_INDEX Procedura
Questa procedura elimina l'indice di testo nei file dello storage degli oggetti. - EXPORT_DATA Procedura
Questa procedura consente di esportare i dati da Autonomous Database in base al risultato di una query. Questa procedura è sovraccarica e supporta la scrittura di file nel cloud o in una directory. - GET_OBJECT Procedura e funzione
Questa procedura è sovraccarica. Il form della procedura legge un oggetto dallo storage degli oggetti cloud e lo copia in Autonomous Database. Il form funzione legge un oggetto dallo storage degli oggetti cloud e restituisceBLOB
ad Autonomous Database. - LIST_FILES Funzione
Questa funzione elenca i file nella directory specificata. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file, ad esempio la dimensione dei file in byte, l'indicatore orario di creazione e l'indicatore orario dell'ultima modifica. - LIST_OBJECTS Funzione
Questa funzione elenca gli oggetti nella posizione specificata nell'area di memorizzazione degli oggetti. I risultati includono i nomi degli oggetti e metadati aggiuntivi relativi agli oggetti, ad esempio dimensione, checksum, indicatore orario di creazione e indicatore orario dell'ultima modifica. - MOVE_OBJECT Procedura
Questa procedura sposta un oggetto da un bucket o una cartella dello storage degli oggetti cloud a un altro. - PUT_OBJECT Procedura
Questa procedura è sovraccarica. In un unico form la procedura copia un file da Autonomous Database nello storage degli oggetti cloud. In un altro modulo, la procedura copia un fileBLOB
da Autonomous Database nello storage degli oggetti cloud. - Procedura SYNC_EXTERNAL_PART_TABLE
Questa procedura semplifica l'aggiornamento di una tabella partizionata esterna dai file nel cloud. Eseguire questa procedura ogni volta che vengono aggiunte nuove partizioni o quando le partizioni vengono rimosse dall'origine dell'area di memorizzazione degli oggetti per la tabella partizionata esterna. - Procedura VALIDATE_EXTERNAL_PART_TABLE
Questa procedura convalida i file di origine per una tabella partizionata esterna, genera le informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - Procedura VALIDATE_EXTERNAL_TABLE
Questa procedura convalida i file di origine per una tabella esterna, genera le informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - Procedura VALIDATE_HYBRID_PART_TABLE
Questa procedura convalida i file di origine per una tabella partizionata ibrida, genera le informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella ibrida in una tabella badfile su Autonomous Database. Il form sovraccarico consente di utilizzare il parametrooperation_id
.
Argomento padre: DBMS_CLOUD sottoprogrammi e API REST
COPY_COLLECTION Procedura
Questa procedura carica i dati in una raccolta SODA dallo storage degli oggetti cloud o da una directory. Se la raccolta SODA specificata non esiste, viene creata dalla procedura. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
DBMS_CLOUD.COPY_COLLECTION
(
collection_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.COPY_COLLECTION
(
collection_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB DEFAULT NULL,
operation_id OUT NOCOPY NUMBER
);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della raccolta SODA in cui verranno caricati i dati. Se una raccolta con questo nome esiste già, i dati specificati verranno caricati, altrimenti verrà creata una nuova raccolta. |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Questo parametro non viene utilizzato quando si specifica una directory con |
|
Questo parametro specifica una lista delimitata da virgole degli URI dei file di origine oppure una o più directory e file di origine. URI file di origine cloud È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Ad esempio:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. Per ulteriori informazioni sulla condizione Directory È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è: Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio: Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio: Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio: Per includere una virgoletta, utilizzare due virgolette. Ad esempio: |
|
Opzioni che descrivono il formato dei file di origine. Queste opzioni sono specificate come stringa JSON. I formati supportati sono: Oltre ai formati menzionati per i dati JSON, Autonomous Database supporta anche altri formati. Per la lista degli argomenti di formato supportati da Autonomous Database, vedere DBMS_CLOUD Package Format Options. |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Esempio
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
username => 'user_name@oracle.com',
password => 'password'
);
DBMS_CLOUD.COPY_COLLECTION
(
collection_name => 'myCollection',
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/myCollection.json'
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
COPY_DATA Procedura
Questa procedura carica i dati nelle tabelle di Autonomous Database esistenti dai file nel cloud o dai file di una directory. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
schema_name IN VARCHAR2,
field_list IN CLOB,
format IN CLOB);
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB DEFAULT NULL,
schema_name IN VARCHAR2 DEFAULT NULL,
field_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL
operation_id OUT NOCOPY NUMBER);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della tabella di destinazione nel database. Prima di eseguire |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Questo parametro non viene utilizzato quando si specifica un URL di collegamento ipertestuale di directory o tabella con |
|
Questo parametro specifica una delle seguenti opzioni:
È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. URI file di origine cloud Questo parametro specifica una lista delimitata da virgole degli URI dei file di origine oppure una o più directory e file di origine. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Ad esempio:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. Per ulteriori informazioni sulla condizione URL collegamento ipertestuale tabella È possibile utilizzare un collegamento ipertestuale tabella nei modi riportati di seguito.
Directory È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è: Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio: Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio: Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio: Per includere una virgoletta, utilizzare due virgolette. Ad esempio: |
|
Nome dello schema in cui risiede la tabella di destinazione. Il valore predefinito è NULL, ovvero la tabella di destinazione si trova nello stesso schema dell'utente che esegue la procedura. |
|
Identifica i campi nei file di origine e i relativi tipi di dati. Il valore predefinito è NULL, ovvero i campi e i relativi tipi di dati sono determinati dalla definizione della tabella di destinazione. La sintassi di questo argomento è la stessa della clausola Quando il valore dell'opzione Per un esempio che utilizza |
|
Opzioni che descrivono il formato dei file di origine, di log e non validi. Per l'elenco delle opzioni e come specificare i valori, vedere DBMS_CLOUD Opzioni formato pacchetto. Per le opzioni di formato file Avro, ORC o Parquet, vedere DBMS_CLOUD Opzioni di formato package per Avro, ORC o Parquet. |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Nota per l'uso
Il delimitatore di record predefinito è detected newline
. Con detected newline
, DBMS_CLOUD
tenta di trovare automaticamente il carattere di nuova riga corretto da utilizzare come delimitatore di record. DBMS_CLOUD
cerca innanzitutto il carattere di nuova riga di Windows \r\n
. Se trova il carattere di nuova riga di Windows, viene utilizzato come delimitatore di record per tutti i file della procedura. Se un carattere di nuova riga di Windows non viene trovato, DBMS_CLOUD
cerca il carattere di nuova riga UNIX/Linux \n
e, se ne trova uno, utilizza \n
come delimitatore di record per tutti i file della procedura. Se i file di origine utilizzano una combinazione di diversi delimitatori di record, potrebbe verificarsi un errore, ad esempio "KUP-04020: found record longer than buffer size supported
". In questo caso, è necessario modificare i file di origine per utilizzare lo stesso delimitatore di record oppure specificare solo i file di origine che utilizzano lo stesso delimitatore di record.
Per informazioni sull'opzione di formato recorddelmiter
, vedere DBMS_CLOUD Package Format Options.
Esempi
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'user_name@oracle.com',
password => 'password'
);
END;
/
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name =>'CHANNELS',
credential_name =>'DEF_CRED_NAME',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt',
format => json_object('delimiter' value ',')
);
END;
/
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name => 'ORDERS',
schema_name => 'TEST_SCHEMA',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/orde[r]s.tbl.1'
format => json_object('ignoreblanklines' value TRUE,
'rejectlimit' value '0',
'dateformat' value 'yyyy-mm-dd',
'regexuri' value TRUE)
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
COPY_DATA Procedura per i file Avro, ORC o Parquet
format
type
impostato sul valore avro
, orc
o parquet
carica i dati nelle tabelle di Autonomous Database esistenti dai file Avro, ORC o Parquet nel cloud o dai file in una directory.
Analogamente ai file di testo, i dati vengono copiati dal file Avro, ORC o Parquet di origine nella tabella interna preesistente.
Sintassi
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
schema_name IN VARCHAR2 DEFAULT,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della tabella di destinazione nel database. Prima di eseguire |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Questo parametro non viene utilizzato quando si specifica una directory con |
|
Questo parametro specifica una lista delimitata da virgole degli URI dei file di origine oppure una o più directory e file di origine. URI file di origine cloud È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Ad esempio:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. Per ulteriori informazioni sulla condizione Directory È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è: Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio: Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio: Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio: Per includere una virgoletta, utilizzare due virgolette. Ad esempio: |
|
Nome dello schema in cui risiede la tabella di destinazione. Il valore predefinito è NULL, ovvero la tabella di destinazione si trova nello stesso schema dell'utente che esegue la procedura. |
|
Ignorato per i file Avro, ORC o Parquet. I campi nell'origine corrispondono alle colonne della tabella esterna per nome. I tipi di dati di origine vengono convertiti nel tipo di dati della colonna della tabella esterna. Per i file ORC, vedere DBMS_CLOUD Package ORC to Oracle Data Type Mapping. Per i file Parquet, vedere DBMS_CLOUD Parquet di package per Oracle Data Type Mapping per dettagli sul mapping. Per i file Avro, vedere DBMS_CLOUD Package Avro to Oracle Data Type Mapping per i dettagli sul mapping. |
|
Opzioni che descrivono il formato dei file di origine. Per i file Avro, ORC o Parquet, sono supportate solo due opzioni: vedere DBMS_CLOUD Opzioni formato package per Avro, ORC o Parquet. |
Note per uso
-
Come per altri file di dati, i caricamenti dei dati Avro, ORC e Parquet generano log visualizzabili nelle tabelle
dba_load_operations
euser_load_operations
. Ogni operazione di caricamento aggiunge un record adba
[utente]_load_operations
che indica la tabella contenente i log.La tabella di log fornisce informazioni di riepilogo sul caricamento.
-
Per Avro, ORC o Parquet, quando il parametro
format
type
è impostato sul valoreavro
,orc
oparquet
, la tabellaBADFILE_TABLE
è sempre vuota.-
Per i file Parquet, gli errori di vincolo
PRIMARY KEY
restituiscono un erroreORA
. -
Se i dati di una colonna riscontrano un errore di conversione, ad esempio la colonna di destinazione non è sufficientemente grande da contenere il valore convertito, il valore della colonna viene impostato su
NULL
. Questo non produce un record rifiutato.
-
Argomento padre: DBMS_CLOUD per oggetti e file
COPY_OBJECT Procedura
Questa procedura copia un oggetto da un bucket o una cartella dello storage degli oggetti cloud a un altro.
Il bucket o la cartella di origine e destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un altro provider.
Quando l'origine e la destinazione si trovano in aree di memorizzazione degli oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.
Il nome della credenziale di origine viene utilizzato per impostazione predefinita anche dalla posizione di destinazione quando non viene fornito il nome della credenziale di destinazione.
Sintassi
DBMS_CLOUD.COPY_OBJECT
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_object_uri IN VARCHAR2,
target_object_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL
);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della credenziale per accedere allo storage degli oggetti cloud di origine. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta al bucket di storage degli oggetti o alla posizione della cartella di origine. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Specifica l'URI per l'area di memorizzazione degli oggetti di destinazione. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione. È possibile utilizzare Se non si specifica un valore |
Esempio
BEGIN
DBMS_CLOUD.COPY_OBJECT
(
source_credential_name => 'OCI_CRED',
source_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
target_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_CLOUD_TABLE Procedura
Questa procedura crea una tabella cloud. Tutti i dati della tabella cloud vengono memorizzati nello storage degli oggetti gestito da Oracle (le tabelle cloud memorizzano solo i metadati nel database).
Sintassi
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name IN VARCHAR2,
column_list IN CLOB,
params IN CLOB);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della tabella cloud. |
|
Lista delimitata da virgole di nomi di colonna e tipi di dati per la tabella cloud. |
Note per uso
-
Attributi
DEFAULT
: la clausolacolumn_list
può includere la clausolaDEFAULT
, che funziona come la clausolaDEFAULT
in un normaleCREATE TABLE
. Per informazioni sul funzionamento della clausolaDEFAULT
, vedere CREATE TABLE. -
Utilizzare
DROP TABLE
per eliminare una tabella cloud. Le tabelle cloud non supportano il cestino.Ad esempio:
DROP TABLE CLOUD_TAB1;
-
È possibile concedere i privilegi
SELECT
,INSERT
eUPDATE
per una tabella cloud. Non è possibile concedere altri privilegi a una tabella cloud.Per ulteriori informazioni, vedere Configurazione dell'autorizzazione di privilegi e ruoli.
Esempi
EXEC DBMS_CLOUD.CREATE_CLOUD_TABLE
( 'CLOUD_TAB1', 'I INTEGER, J INTEGER' );
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name => 'CLOUD_TABLE_WITH_DEFAULT',
column_list => 'I INTEGER,
A VARCHAR2(32) DEFAULT ''ABC''' );
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_EXTERNAL_PART_TABLE Procedura
Questa procedura crea una tabella partizionata esterna su file nel cloud o da file in una directory. Ciò consente di eseguire query su dati esterni da Autonomous Database.
Sintassi
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
partitioning_clause IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
file_uri_list IN VARCHAR2,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
|
Specifica la clausola di partizionamento completa, incluse le informazioni sulla posizione per le singole partizioni. Se si utilizza il parametro |
|
Questo parametro specifica una lista delimitata da virgole degli URI dei file di origine oppure una o più directory e file di origine. URI file di origine cloud È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Questa opzione è supportata solo con tabelle esterne create su un file nello storage degli oggetti. Ad esempio:
Se si utilizza il parametro Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. Per ulteriori informazioni sulla condizione |
|
Lista delimitata da virgole di nomi di colonna e tipi di dati per la tabella esterna. Questo parametro prevede i seguenti requisiti, a seconda del tipo di file di dati specificato con il parametro
|
|
Identifica i campi nei file di origine e i relativi tipi di dati. Il valore predefinito è NULL, ovvero i campi e i relativi tipi di dati sono determinati dal parametro column_list. La sintassi di questo argomento è la stessa della clausola |
|
L'opzione di formato
Se i file di dati non sono strutturati e la sottoclausola Per i nomi oggetto non basati sul formato hive, l'ordine delle colonne specificate in Per visualizzare tutte le opzioni dei parametri |
Note per uso
-
Non è possibile richiamare questa procedura con i parametri
partitioning_clause
efile_uri_list
. -
La specifica del parametro
column_list
è facoltativa con i file di dati strutturati, inclusi i file di dati Avro, Parquet o ORC. Secolumn_list
non viene specificato, l'opzionepartition_columns
del parametroformat
deve includere sianame
chetype
. -
Il parametro
column_list
è obbligatorio con file di dati non strutturati, ad esempio file di testo CSV. -
La procedura
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
supporta i file partizionati esterni nei servizi di storage degli oggetti cloud supportati, tra cui:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage o Azure Data Lake Storage
-
Amazon S3
-
Compatibile con Amazon S3, tra cui Oracle Cloud Infrastructure Object Storage, Google Cloud Storage e Wasabi Hot Cloud Storage.
-
GitHub Repository
Vedere DBMS_CLOUD Formati URI per ulteriori informazioni.
-
-
La procedura
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
supporta file partizionati esterni nelle directory (file system locale o di rete). -
Quando si chiama
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
con il parametrofile_uri_list
, i tipi per le colonne specificate nel nome file dell'area di memorizzazione degli oggetti cloud devono essere uno dei seguenti:VARCHAR2(n) NUMBER(n) NUMBER(p,s) NUMBER DATE TIMESTAMP(9)
-
Il delimitatore di record predefinito è
detected newline
. Condetected newline
,DBMS_CLOUD
tenta di trovare automaticamente il carattere di nuova riga corretto da utilizzare come delimitatore di record.DBMS_CLOUD
cerca innanzitutto il carattere di nuova riga di Windows\r\n
. Se trova il carattere di nuova riga di Windows, viene utilizzato come delimitatore di record per tutti i file della procedura. Se un carattere di nuova riga di Windows non viene trovato,DBMS_CLOUD
cerca il carattere di nuova riga UNIX/Linux\n
e, se ne trova uno, utilizza\n
come delimitatore di record per tutti i file della procedura. Se i file di origine utilizzano una combinazione di diversi delimitatori di record, potrebbe verificarsi un errore, ad esempio "KUP-04020: found record longer than buffer size supported
". In questo caso, è necessario modificare i file di origine per utilizzare lo stesso delimitatore di record oppure specificare solo i file di origine che utilizzano lo stesso delimitatore di record.Per informazioni sull'opzione di formato
recorddelmiter
, vedere DBMS_CLOUD Package Format Options. -
Le tabelle partizionate esterne create con
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
includono due colonne invisibilifile$path
efile$name
. Queste colonne consentono di identificare il file da cui proviene un record.-
file$path
: specifica il testo del percorso del file fino all'inizio del nome dell'oggetto. -
file$name
: specifica il nome dell'oggetto, incluso tutto il testo che segue il nome del bucket.
-
Esempi
Esempio di utilizzo del parametro partitioning_clause
:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name =>'PET1',
credential_name =>'OBJ_STORE_CRED',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) location
( ''&base_URL//file_11.txt'')
,
partition p2 values less than (2000) location
( ''&base_URL/file_21.txt'')
,
partition p3 values less than (3000) location
( ''&base_URL/file_31.txt'')
)'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'PET',
format => json_object('delimiter'value ','),
column_list => 'name varchar2(20), gender varchar2(10), salary number',
partitioning_clause => 'partition by range (salary)
( -- Use test1.csv in the DEFAULT DIRECTORY DATA_PUMP_DIR
partition p1 values less than (100) LOCATION (''test1.csv''),
-- Use test2.csv in a specified directory MY_DIR
partition p2 values less than (300) DEFAULT DIRECTORY MY_DIR LOCATION (''test2.csv'') )' );
END;
/
Esempio di utilizzo dei parametri file_uri_list
e column_list
con file di dati non strutturati:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.csv',
column_list => 'product varchar2(100), units number, country varchar2(100), year number, month varchar2(2)',
field_list => 'product, units', --[Because country, year and month are not in the file, they are not listed in the field list]
format => '{"type":"csv", "partition_columns":["country","year","month"]}');
END;
/
Esempio di utilizzo del parametro file_uri_list
senza il parametro column_list
con file di dati strutturati:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.parquet',
format =>
json_object('type' value 'parquet', 'schema' value 'first',
'partition_columns' value
json_array(
json_object('name' value 'country', 'type' value 'varchar2(100)'),
json_object('name' value 'year', 'type' value 'number'),
json_object('name' value 'month', 'type' value 'varchar2(2)')
)
)
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_EXTERNAL_TABLE Procedura
Questa procedura crea una tabella esterna sui file nel cloud o dai file di una directory. Ciò consente di eseguire query su dati esterni da Autonomous Database.
Sintassi
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Questo parametro non viene utilizzato quando si specifica una directory o un URL di collegamento ipertestuale tabella con |
|
Questo parametro specifica una delle seguenti opzioni:
URI file di origine cloud È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Questa opzione è supportata solo con tabelle esterne create su un file nello storage degli oggetti. Ad esempio:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. Per ulteriori informazioni sulla condizione URL collegamento ipertestuale tabella È possibile utilizzare un URL collegamento ipertestuale tabella per creare una tabella esterna nei modi riportati di seguito.
Directory
Nota Per ulteriori informazioni, vedere Informazioni sui collegamenti ipertestuali alle tabelle in Autonomous Database e la procedura GET_PREAUTHENTICATED_URL.
Gli URL dei collegamenti ipertestuali delle tabelle non supportano i caratteri jolly. È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è: Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio: Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio: Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio: Per includere una virgoletta, utilizzare due virgolette. Ad esempio: |
|
Lista delimitata da virgole di nomi di colonna e tipi di dati per la tabella esterna. |
|
Identifica i campi nei file di origine e i relativi tipi di dati. Il valore predefinito è NULL, ovvero i campi e i relativi tipi di dati sono determinati dal parametro |
|
Opzioni che descrivono il formato dei file di origine. Per l'elenco delle opzioni e come specificare i valori, vedere DBMS_CLOUD Opzioni formato pacchetto. Per i file in formato Avro, ORC o Parquet, vedere CREATE_EXTERNAL_TABLE Procedura per i file Avro, ORC o Parquet. |
Note per uso
-
La procedura
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
supporta i file partizionati esterni nelle origini di storage degli oggetti cloud supportate, tra cui:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage o Azure Data Lake Storage
-
Amazon S3
-
Compatibile con Amazon S3, tra cui Oracle Cloud Infrastructure Object Storage, Google Cloud Storage e Wasabi Hot Cloud Storage.
-
GitHub Repository
-
Oracle Cloud Infrastructure Object Storage con URL collegamento ipertestuale tabella
La credenziale è una proprietà a livello di tabella, pertanto i file esterni devono trovarsi nella stessa area di memorizzazione degli oggetti.
Vedere DBMS_CLOUD Formati URI per ulteriori informazioni.
-
-
Il delimitatore di record predefinito è
detected newline
. Condetected newline
,DBMS_CLOUD
tenta di trovare automaticamente il carattere di nuova riga corretto da utilizzare come delimitatore di record.DBMS_CLOUD
cerca innanzitutto il carattere di nuova riga di Windows\r\n
. Se trova il carattere di nuova riga di Windows, viene utilizzato come delimitatore di record per tutti i file della procedura. Se un carattere di nuova riga di Windows non viene trovato,DBMS_CLOUD
cerca il carattere di nuova riga UNIX/Linux\n
e, se ne trova uno, utilizza\n
come delimitatore di record per tutti i file della procedura. Se i file di origine utilizzano una combinazione di diversi delimitatori di record, potrebbe verificarsi un errore, ad esempio "KUP-04020: found record longer than buffer size supported
". In questo caso, è necessario modificare i file di origine per utilizzare lo stesso delimitatore di record oppure specificare solo i file di origine che utilizzano lo stesso delimitatore di record.Per informazioni sull'opzione di formato
recorddelimiter
, vedere DBMS_CLOUD Package Format Options.
Esempio
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name =>'WEATHER_REPORT_DOUBLE_DATE',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/Charlotte_NC_Weather_History_Double_Dates.csv',
format => json_object('type' value 'csv', 'skipheaders' value '1'),
field_list => 'REPORT_DATE DATE''mm/dd/yy'',
REPORT_DATE_COPY DATE ''yyyy-mm-dd'',
ACTUAL_MEAN_TEMP,
ACTUAL_MIN_TEMP,
ACTUAL_MAX_TEMP,
AVERAGE_MIN_TEMP,
AVERAGE_MAX_TEMP,
AVERAGE_PRECIPITATION',
column_list => 'REPORT_DATE DATE,
REPORT_DATE_COPY DATE,
ACTUAL_MEAN_TEMP NUMBER,
ACTUAL_MIN_TEMP NUMBER,
ACTUAL_MAX_TEMP NUMBER,
AVERAGE_MIN_TEMP NUMBER,
AVERAGE_MAX_TEMP NUMBER,
AVERAGE_PRECIPITATION NUMBER');
END;
/
SELECT * FROM WEATHER_REPORT_DOUBLE_DATE where
actual_mean_temp > 69 and actual_mean_temp < 74
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_EXTERNAL_TABLE Procedura per Apache Iceberg
Questa procedura crea tabelle esterne per le tabelle Apache Iceberg nelle configurazioni supportate.
Per una descrizione delle configurazioni supportate, vedere Informazioni sull'esecuzione di query sulle tabelle di Apache Iceberg.
Sintassi
DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB DEFAULT NULL,
field_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Il nome della credenziale utilizzata per accedere ai file di dati, ai file di metadati e al catalogo Iceberg (se utilizzato). Per le configurazioni AWS e OCI, la credenziale deve essere creata come descritto nella procedura CREATE_CREDENTIAL. Le credenziali AWS Amazon Resource Names (ARN) non sono attualmente supportate. |
|
Deve essere NULL se viene specificato un catalogo Iceberg (vedere il parametro format riportato di seguito). Se non viene utilizzato un catalogo iceberg, file_uri_list deve contenere l'URI del file di metadati iceberg.
|
|
Deve essere NULL, poiché i nomi e i tipi di colonna vengono derivati automaticamente dai metadati Iceberg. I nomi delle colonne corrispondono ai nomi trovati nei file di dati sottostanti (Parquet, Avro, ORC). I tipi di dati Oracle vengono derivati utilizzando i mapping Parquet/Avro/ORC tra i tipi di dati Iceberg e Parquet, Avro e ORC. Pertanto gli utenti non possono specificare il valore |
|
Deve essere NULL, poiché i nomi delle colonne e i tipi di dati vengono derivati automaticamente dai metadati Iceberg. |
|
Il parametro Per esempi e ulteriori informazioni, vedere gli esempi riportati di seguito, Supporto Iceberg sugli esempi di OCI Data Flow, DBMS_CLOUD Formati URI. |
Esempio di tabelle AWS Iceberg che utilizzano il catalogo AWS Glue
Il parametro format
quando si creano tabelle su una tabella AWS Iceberg utilizzando un catalogo AWS Glue è il seguente:
format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'aws_glue',
'iceberg_glue_region' value 'glue region',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
contiene un oggetto JSON con due elementi come indicato di seguito.
protocol_type
: deve essere 'iceberg'protocol_config
: oggetto JSON nidificato che specifica i dettagli del catalogo iceberg.iceberg_catalog_type
: deve essere'aws_glue'
iceberg_glue_region
: l'area del catalogo, ad esempio'us-west-1'
iceberg_table_path
: un percorsoglue database.glue table name
.
Esempio di tabella AWS Iceberg che utilizza un URI di file di metadati
format
quando si creano tabelle su una tabella AWS Iceberg utilizzando un URI file di metadati è il seguente:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
Esempio di tabella Iceberg OCI che utilizza il catalogo HadoopCatalog
format
quando si creano tabelle su una tabella OCI Iceberg creata da OCI Data Flow utilizzando il catalogo HadoopCatalog è il seguente:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'hadoop',
'iceberg_warehouse' value '<OCI folder URI>',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
contiene un oggetto JSON con due elementi come indicato di seguito.
protocol_type
: deve essere'iceberg'
protocol_config
: oggetto JSON nidificato che specifica i dettagli del catalogo iceberg.iceberg_catalog_type
: deve essere'hadoop'
iceberg_warehouse
: il percorso della directory warehouse utilizzato durante la generazione della tabella, in formato URI nativo.iceberg_table_path
: il percorsodatabase_name.table name
utilizzato durante la creazione della tabella.
Esempio di tabella Iceberg OCI che utilizza l'URI del file di metadati
format
quando si creano tabelle su una tabella OCI Iceberg utilizzando l'URI del file di metadati è il seguente:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
access_protocol
contiene un oggetto JSON con un elemento come indicato di seguito.
protocol_type
: deve essere'iceberg'
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_EXTERNAL_TABLE Procedura per i file Avro, ORC o Parquet
format
type
impostato sul valore avro
, orc
o parquet
crea una tabella esterna con i file in formato Avro, ORC o Parquet nel cloud o in una directory.
Ciò consente di eseguire query su dati esterni da Autonomous Database.
Sintassi
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Questo parametro non viene utilizzato quando si specifica una directory con |
|
Questo parametro specifica una lista delimitata da virgole degli URI dei file di origine oppure una o più directory e file di origine. URI file di origine cloud È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Questa opzione è supportata solo con tabelle esterne create su un file nello storage degli oggetti. Ad esempio:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. Per ulteriori informazioni sulla condizione Directory È possibile specificare una directory e uno o più nomi di file oppure usare una lista separata da virgole di directory e nomi di file. Il formato per specificare una directory è: Le espressioni regolari non sono supportate quando si specificano i nomi file in una directory. È possibile utilizzare solo caratteri jolly per specificare i nomi dei file in una directory. Il carattere "*" può essere utilizzato come carattere jolly per più caratteri e il carattere "?" può essere utilizzato come carattere jolly per un singolo carattere. Ad esempio: Per specificare più directory, utilizzare una lista separata da virgole di directory, ad esempio: Utilizzare le virgolette doppie per specificare un nome di directory con distinzione tra maiuscole e minuscole. Ad esempio: Per includere una virgoletta, utilizzare due virgolette. Ad esempio: |
|
(Facoltativo) Questo campo, se specificato, sostituisce il parametro Quando si specifica Per i file Parquet, vedere DBMS_CLOUD Parquet di package per Oracle Data Type Mapping per i dettagli. Per i file ORC, vedere DBMS_CLOUD Package ORC to Oracle Data Type Mapping per i dettagli. Per i file Avro, vedere DBMS_CLOUD Package Avro to Oracle Data Type Mapping per i dettagli. |
|
Ignorato per i file Avro, ORC o Parquet. I campi nell'origine corrispondono alle colonne della tabella esterna per nome. I tipi di dati di origine vengono convertiti nel tipo di dati della colonna della tabella esterna. Per i file ORC, vedere DBMS_CLOUD Package ORC to Oracle Data Type Mapping Per i file Parquet, vedere DBMS_CLOUD Parquet di package per Oracle Data Type Mapping per i dettagli. Per i file Avro, vedere DBMS_CLOUD Package Avro to Oracle Data Type Mapping per i dettagli. |
|
Per i file di origine Avro, ORC o Parquet |
Esempi ORC
format => '{"type":"orc", "schema": "all"}'
format => json_object('type' value 'orc', 'schema' value 'first')
Esempi Avro
format => '{"type":"avro", "schema": "all"}'
format => json_object('type' value 'avro', 'schema' value 'first')
Esempi Parquet
format => '{"type":"parquet", "schema": "all"}'
format => json_object('type' value 'parquet', 'schema' value 'first')
Mapping dei nomi delle colonne Avro, ORC o Parquet ai nomi delle colonne Oracle
Per informazioni sul mapping dei nomi di colonna e sull'uso della conversione dei nomi di colonna in Oracle SQL, vedere DBMS_CLOUD Package Avro, ORC e Parquet to Oracle Column Name Mapping.
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_EXTERNAL_TEXT_INDEX Procedura
Questa procedura crea un indice di testo nei file di storage degli oggetti.
La procedura CREATE_EXTERNAL_TEXT_INDEX
crea un indice di testo nei file di storage degli oggetti specificati nella posizione location_uri
. L'indice viene aggiornato a intervalli regolari, per eventuali nuove aggiunte o eliminazioni effettuate con i file sull'URI della posizione.
Sintassi
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
index_name IN VARCHAR2,
format IN CLOB DEFAULT NULL
);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della credenziale per accedere alla posizione dello storage degli oggetti cloud. Per gli URI bucket pubblici, preautenticati o pre-firmati, è possibile specificare un valore NULL. Per ulteriori informazioni, vedere Configura criteri e ruoli per accedere alle risorse. Se non si specifica un valore |
location_uri |
Specifica il bucket dell'area di memorizzazione degli oggetti o l'URI della cartella. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
index_name |
Specifica il nome dell'indice che si sta creando sui file situati nella posizione location_uri .
Questo parametro è obbligatorio. |
|
Specifica opzioni di configurazione aggiuntive. Le opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Il valore È possibile specificare le stopword utilizzando i metodi riportati di seguito.
Se il parametro |
Esempio
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
(
credential_name => 'DEFAULT_CREDENTIAL',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/ts_data/'
index_name => 'EMP',
format => JSON_OBJECT ('refresh_rate' value 10)
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
CREATE_HYBRID_PART_TABLE Procedura
Questa procedura crea una tabella partizionata ibrida. Ciò consente di eseguire query su dati ibridi partizionati da Autonomous Database utilizzando oggetti e file di database nel cloud oppure su oggetti e file di database in una directory.
Sintassi
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
partitioning_clause IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
|
Specifica la clausola di partizionamento completa, incluse le informazioni sulla posizione per le singole partizioni. Per utilizzare le directory, la clausola di partizionamento supporta i valori È possibile utilizzare caratteri jolly ed espressioni regolari nei nomi file negli URI dei file di origine cloud. Le espressioni regolari possono essere utilizzate solo quando il parametro I caratteri "*" e "?" vengono considerati caratteri jolly quando il parametro I pattern di espressioni regolari sono supportati solo per il nome file o il percorso della sottocartella negli URI e la corrispondenza del pattern è identica a quella eseguita dalla funzione Ad esempio:
Per ulteriori informazioni sulla condizione |
|
Lista delimitata da virgole di nomi di colonna e tipi di dati per la tabella esterna. |
|
Identifica i campi nei file di origine e i relativi tipi di dati. Il valore predefinito è NULL, ovvero i campi e i relativi tipi di dati sono determinati dal parametro column_list. La sintassi di questo argomento è la stessa della clausola |
|
Opzioni che descrivono il formato dei file di origine. Per l'elenco delle opzioni e come specificare i valori, vedere DBMS_CLOUD Opzioni formato pacchetto. |
Note per uso
-
La procedura
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
supporta i file partizionati esterni nei servizi di storage degli oggetti cloud supportati, tra cui:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage o Azure Data Lake Storage
-
Amazon S3
-
Compatibile con Amazon S3, tra cui Oracle Cloud Infrastructure Object Storage, Google Cloud Storage e Wasabi Hot Cloud Storage.
-
GitHub Repository
La credenziale è una proprietà a livello di tabella, pertanto i file esterni devono trovarsi nella stessa area di memorizzazione degli oggetti.
Vedere DBMS_CLOUD Formati URI per ulteriori informazioni.
-
-
La procedura
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
supporta i file di partizionamento ibridi contenuti nelle directory, sia in un file system locale che in un file system di rete. -
Le tabelle partizionate esterne create con
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
includono due colonne invisibilifile$path
efile$name
. Queste colonne consentono di identificare il file da cui proviene un record.-
file$path
: specifica il testo del percorso del file fino all'inizio del nome dell'oggetto. -
file$name
: specifica il nome dell'oggetto, incluso tutto il testo che segue il nome del bucket.
-
Esempi
BEGIN
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name =>'HPT1',
credential_name =>'OBJ_STORE_CRED',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) external location
( ''&base_URL/file_11.txt'')
,
partition p2 values less than (2000) external location
( ''&base_URL/file_21.txt'')
,
partition p3 values less than (3000)
)'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name => 'HPT1',
format => json_object('delimiter'value ',', 'recorddelimiter'value 'newline'),
column_list => 'NAME VARCHAR2(30), GENDER VARCHAR2(10), BALANCE number',
partitioning_clause => 'partition by range (B 2 ALANCE)
(partition p1 values less than (1000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Scott_male_1000.csv''),
partition p2 values less than (2000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Mary_female_3000.csv''),
partition p3 values less than (3000))' );
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
DELETE_ALL_OPERATIONS Procedura
Questa procedura cancella tutte le operazioni di caricamento dati registrate nella tabella user_load_operations
nello schema oppure cancella tutte le operazioni di caricamento dati del tipo specificato, come indicato con il parametro type
.
Sintassi
DBMS_CLOUD.DELETE_ALL_OPERATIONS
(
type IN VARCHAR DEFAULT NULL);
Parametri
Parametro | descrizione; |
---|---|
|
Specifica il tipo di operazione da eliminare. I valori dei tipi sono disponibili nella colonna Se non viene specificato alcun valore |
Note per uso
-
Questa procedura non elimina le operazioni attualmente in esecuzione (operazioni con stato "In esecuzione").
-
Questa procedura elimina tutte le tabelle di log e i file di log associati alle operazioni.
Argomento padre: DBMS_CLOUD per oggetti e file
DELETE_FILE Procedura
Questa procedura rimuove il file specificato dalla directory specificata in Autonomous Database.
Sintassi
DBMS_CLOUD.DELETE_FILE
(
directory_name IN VARCHAR2,
file_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della directory nell'istanza di Autonomous Database. |
|
Il nome del file da rimuovere. |
force |
Ignora e non segnala errori se il file non esiste. I valori validi sono |
Per eseguire
DBMS_CLOUD.DELETE_FILE
con un utente diverso da ADMIN, è necessario concedere privilegi di scrittura sulla directory che contiene il file a tale utente. Ad esempio, eseguire il comando seguente come ADMIN per concedere i privilegi di scrittura a adb_user
:GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Esempio
BEGIN
DBMS_CLOUD.DELETE_FILE
(
directory_name => 'DATA_PUMP_DIR',
file_name => 'exp1.dmp' );
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
DELETE_OBJECT Procedura
Questa procedura elimina l'oggetto specificato nell'area di memorizzazione degli oggetti.
Sintassi
DBMS_CLOUD.DELETE_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
object_uri |
URI dell'oggetto o del file per l'oggetto da eliminare. Il formato dell'URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. |
force |
Ignora e non segnala errori se l'oggetto non esiste. I valori validi sono |
Esempio
BEGIN
DBMS_CLOUD.DELETE_OBJECT
(
credential_name => 'DEF_CRED_NAME',
object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.dmp' );
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
DELETE_OPERATION Procedura
Questa procedura cancella le voci di caricamento dati per l'ID operazione specificato registrato nelle tabelle user_load_operations
o dba_load_operations
dello schema.
Sintassi
DBMS_CLOUD.DELETE_OPERATION
(
id IN NUMBER);
Parametri
Parametro | descrizione; |
---|---|
|
Specifica l'ID operazione associato alle voci del file di log che si desidera eliminare. |
Nota per l'uso
-
Questa procedura elimina tutte le tabelle di log e i file di log associati all'ID operazione specificato nell'input.
Esempio
SELECT id FROM user_load_operations WHERE type LIKE '%BAD%';
EXEC DBMS_CLOUD.DELETE_OPERATION
(id);
Argomento padre: DBMS_CLOUD per oggetti e file
DROP_EXTERNAL_TEXT_INDEX Procedura
Questa procedura elimina l'indice di testo nei file dello storage degli oggetti.
La procedura DROP_EXTERNAL_TEXT_INDEX
elimina l'indice specificato creato con la procedura CREATE_EXTERNAL_TEXT_INDEX
.
Sintassi
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name IN VARCHAR2,
);
Parametri
Parametro | descrizione; |
---|---|
index_name |
Specifica il nome dell'indice che si sta rilasciando. Il nome dell'indice deve corrispondere al nome fornito al momento della creazione dell'indice. Questo parametro è obbligatorio. |
Esempio
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
EXPORT_DATA Procedura
In base al parametro format
type
, la procedura esporta i file nel cloud o in una posizione di directory sotto forma di file di testo in formato CSV, JSON, Parquet o XML oppure utilizzando il driver di accesso ORACLE_DATAPUMP per scrivere i dati in un file di dump Oracle Datapump.
Sintassi
DBMS_CLOUD.EXPORT_DATA
(
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB,
query IN CLOB);
DBMS_CLOUD.EXPORT_DATA
(
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL,
query IN CLOB DEFAULT NULL,
operation_id OUT NOCOPY NUMBER);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Quando il parametro delle credenziali non è incluso, specifica l'output in una directory. |
|
Esistono moduli diversi, a seconda del valore del parametro del formato e a seconda che si includa o meno un parametro della credenziale:
Il formato degli URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. |
|
Stringa JSON che fornisce le opzioni di formato di esportazione. L'opzione supportata è:
Vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA. |
|
Utilizzare questo parametro per specificare un'istruzione SELECT warehouse_id, quantity FROM inventories Per informazioni sul formato Quando il valore Ad esempio: SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT warehouse_id, quantity FROM inventories) |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di esportazione come ID corrispondente nella vista |
Note per l'uso
-
Il valore del parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery. -
A seconda del parametro di formato specificato,
DBMS_CLOUD.EXPORT_DATA
restituisce i risultati della query specificata nell'area di memorizzazione degli oggetti cloud o in una posizione di directory in uno dei seguenti formati:-
File CSV, JSON, Parquet o XML.
Per ulteriori informazioni sull'utilizzo di
DBMS_CLOUD.EXPORT_DATA
con file di output CSV, JSON, Parquet o XML, vedere Esporta dati nell'area di memorizzazione degli oggetti come testo e Esporta dati in una directory. -
Utilizzo del driver di accesso ORACLE_DATAPUMP per scrivere i dati in un file di dump.
-
-
Per l'output CSV, JSON o XML, per impostazione predefinita quando un file generato contiene 10 MB di dati, viene creato un nuovo file di output. Tuttavia, se hai meno di 10 MB di dati dei risultati, potresti avere più file di output, a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza OCPU) per l'istanza di Autonomous Database.
Per ulteriori informazioni, vedere Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML).
La dimensione predefinita del chunk del file di output è 10 MB per CSV, JSON o XML. È possibile modificare questo valore con l'opzione
maxfilesize
del parametroformat
. Per ulteriori informazioni, vedere DBMS_CLOUD Opzioni formato pacchetto per EXPORT_DATA. -
Per l'output Parquet, ogni file generato è inferiore a 128 MB ed è possibile generare più file di output. Tuttavia, se hai meno di 128 MB di dati dei risultati, potresti avere più file di output a seconda del servizio di database e del numero di ECPU (OCPU se il tuo database utilizza OCPU) per l'istanza di Autonomous Database.
Per ulteriori informazioni, vedere Denominazione dei file per l'output di testo (CSV, JSON, Parquet o XML).
Note di utilizzo per l'output ORACLE_DATAPUMP (DBMS_CLOUD.EXPORT_DATA
con il parametro format
, opzione type
, datapump
):
-
EXPORT_DATA
utilizzaDATA_PUMP_DIR
come directory di log predefinita. Pertanto, il privilegio di scrittura suDATA_PUMP_DIR
è necessario quando si utilizza l'outputORACLE_DATAPUMP
. -
L'esportazione di Autonomous Database mediante
DBMS_CLOUD.EXPORT_DATA
con il parametroformat
type
, opzionedatapump
, supporta solo le aree di memorizzazione degli oggetti Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic o l'output della directory. -
Quando si specifica
DBMS_CLOUD.EXPORT_DATA
con il parametroformat
type
, opzionedatapump
, il valore del parametrocredential_name
non può essere un principal risorsa OCI. -
Oracle Data Pump divide ogni parte del file di dump in chunk più piccoli per caricamenti più veloci. La console di Oracle Cloud Infrastructure Object Storage mostra più file per ogni parte del file di dump esportata. La dimensione dei file di dump effettivi verrà visualizzata come zero (0) e i relativi blocchi di file correlati come 10 MB o meno. Ad esempio:
Il download del file di dump a zero byte dalla console di Oracle Cloud Infrastructure o l'utilizzo dell'interfaccia CLI di Oracle Cloud Infrastructure non fornirà i file di dump completi. Per scaricare i file di dump completi dall'area di memorizzazione degli oggetti, utilizzare uno strumento che supporti Swift come curl e fornire il login utente e il token di autenticazione Swift.exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaa
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp
Se si importa un file con le procedure
DBMS_CLOUD
che supportano il parametroformat
type
con il valore 'datapump
', è necessario solo fornire il nome del file primario. Le procedure che supportano il tipo di formato 'datapump
' individuano e scaricano automaticamente i blocchi.Quando si utilizza
DBMS_CLOUD.DELETE_OBJECT
, la procedura individua ed elimina automaticamente i chunk quando la procedura elimina il file primario. -
La procedura
DBMS_CLOUD.EXPORT_DATA
crea i file di dump dai valorifile_uri_list
specificati, come indicato di seguito.-
Poiché sono necessari altri file, la procedura crea altri file dal file
file_uri_list
. -
La procedura non sovrascrive i file. Se esiste un file di dump in
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
segnala un errore. -
DBMS_CLOUD.EXPORT_DATA
non crea bucket.
-
-
Il numero di file di dump generati da
DBMS_CLOUD.EXPORT_DATA
viene determinato all'esecuzione della procedura. Il numero di file di dump generati dipende dal numero di nomi file forniti nel parametrofile_uri_list
, nonché dal numero di OCPU di Autonomous Database disponibili per l'istanza, dal livello di servizio e dalla dimensione dei dati.Ad esempio, se si utilizza un'istanza di Autonomous Database da 1 OCPU o il servizio
low
, viene esportato un singolo file di dump senza parallelismo, anche se si forniscono più nomi di file. Se si utilizza un'istanza di Autonomous Database da 4 OCPU con il serviziomedium
ohigh
, i job possono essere eseguiti in parallelo e i file di dump multipli vengono esportati se si forniscono più nomi di file. -
I file di dump creati con
DBMS_CLOUD.EXPORT_DATA
non possono essere importati utilizzando Oracle Data Pumpimpdp
. A seconda del database, è possibile utilizzare i file indicati di seguito.-
In un Autonomous Database, è possibile utilizzare i file di dump con le procedure
DBMS_CLOUD
che supportano il parametroformat
type
con il valore 'datapump
'. È possibile importare i file di dump utilizzandoDBMS_CLOUD.COPY_DATA
oppure chiamareDBMS_CLOUD.CREATE_EXTERNAL_TABLE
per creare una tabella esterna. -
In qualsiasi altro Oracle Database, ad esempio Oracle Database 19c in locale, è possibile importare i file di dump creati con la procedura
DBMS_CLOUD.EXPORT_DATA
utilizzando il driver di accessoORACLE_DATAPUMP
. Per ulteriori informazioni, vedere Scaricamento e caricamento dei dati con il driver di accesso ORACLE_DATAPUMP.
-
-
Il valore del parametro
query
fornito può essere una query avanzata, se necessario, ad esempio una query che include join o subquery.
Note di utilizzo per DBMS_CLOUD.EXPORT_DATA
con output in una directory
-
La directory fornita deve esistere ed è necessario eseguire il login come utente
ADMIN
o disporre dell'accessoWRITE
alla directory. -
DBMS_CLOUD.EXPORT_DATA
non crea directory. -
La procedura non sovrascrive i file. Ad esempio, se esiste un file di dump in
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
segnala un errore simile al seguente:ORA-31641: unable to create dump file "/u02/exports/123.dmp" ORA-27038: created file already exists
Esempi
L'esempio seguente mostra DBMS_CLOUD.EXPORT_DATA
con il parametro formato type
con il valore datapump
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.dmp',
format => json_object('type' value 'datapump', 'compression' value 'basic', 'version' value 'latest'),
query => 'SELECT warehouse_id, quantity FROM inventories'
);
END;
/
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
L'esempio seguente mostra DBMS_CLOUD.EXPORT_DATA
con il parametro formato type
con il valore json
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.json',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json', 'compression' value 'gzip'));
);
END;
/
L'esempio seguente mostra DBMS_CLOUD.EXPORT_DATA
con il parametro formato type
con il valore xml
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.xml',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'xml', 'compression' value 'gzip'));
);
END;
/
L'esempio seguente mostra DBMS_CLOUD.EXPORT_DATA
con il parametro formato type
con il valore csv
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp.csv',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'csv', 'delimiter' value '|', 'compression' value 'gzip', 'header' value true, 'encryption' value ('user_defined_function' value 'ADMIN.decryption_callback')));
);
END;
/
L'esempio seguente mostra DBMS_CLOUD.EXPORT_DATA
che esporta i dati in una posizione di directory con il parametro type
con il valore datapump
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'export_dir:sales.dmp',
format => json_object('type' value 'datapump'),
query => 'SELECT * FROM sales'
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
GET_OBJECT Procedura e funzione
Questa procedura è sovraccaricata. Il form della procedura legge un oggetto dallo storage degli oggetti cloud e lo copia in Autonomous Database. Il form funzione legge un oggetto dallo storage degli oggetti cloud e restituisce BLOB
ad Autonomous Database.
Sintassi
DBMS_CLOUD.GET_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
directory_name IN VARCHAR2,
file_name IN VARCHAR2 DEFAULT NULL,
startoffset IN NUMBER DEFAULT 0,
endoffset IN NUMBER DEFAULT 0,
compression IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.GET_OBJECT
(
credential_name IN VARCHAR2 DEFAULT NULL,
object_uri IN VARCHAR2,
startoffset IN NUMBER DEFAULT 0,
endoffset IN NUMBER DEFAULT 0,
compression IN VARCHAR2 DEFAULT NULL)
RETURN BLOB;
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
|
URI oggetto o file. Il formato dell'URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. |
|
Nome della directory nel database. Piede 1È possibile utilizzare un URL collegamento ipertestuale tabella nei modi riportati di seguito.
|
|
Specifica il nome del file da creare. Se il nome del file non viene specificato, il nome del file viene preso dopo l'ultima barra nel parametro |
startoffset |
L'offset, in byte, da cui inizia la lettura della procedura. |
endoffset |
L'offset, in byte, fino al punto in cui la procedura smette di leggere. |
|
Specifica la compressione utilizzata per memorizzare l'oggetto. Quando |
Nota a piè di pagina 1
Per eseguire DBMS_CLOUD.GET_OBJECT
con un utente diverso da ADMIN, è necessario concedere i privilegi WRITE
sulla directory a tale utente. Ad esempio, eseguire il comando seguente come ADMIN per concedere i privilegi di scrittura a adb_user
:
GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Valori restituiti
Il form funzione viene letto dall'area di memorizzazione degli oggetti e DBMS_CLOUD.GET_OBJECT
restituisce un valore BLOB
.
Esempi
BEGIN
DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt',
directory_name => 'DATA_PUMP_DIR');
END;
/
Per leggere i dati dei caratteri da un file nell'area di memorizzazione degli oggetti:
SELECT to_clob(
DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt'))
FROM DUAL;
Per aggiungere un'immagine memorizzata nell'area di memorizzazione degli oggetti in un file BLOB
nel database, procedere come segue.
DECLARE
l_blob BLOB := NULL;
BEGIN
l_blob := DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/MyImage.gif' );
END;
/
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
Argomento padre: DBMS_CLOUD per oggetti e file
Funzione LIST_FILES
Questa funzione elenca i file nella directory specificata. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file, ad esempio la dimensione dei file in byte, l'indicatore orario di creazione e l'indicatore orario dell'ultima modifica.
Sintassi
DBMS_CLOUD.LIST_FILES
(
directory_name IN VARCHAR2)
RETURN TABLE;
Parametri
Parametro | descrizione; |
---|---|
|
Nome della directory nel database. |
Note per uso
-
Per eseguire
DBMS_CLOUD.LIST_FILES
con un utente diverso da ADMIN, è necessario concedere privilegi di lettura sulla directory a tale utente. Ad esempio, eseguire il comando seguente come ADMIN per concedere i privilegi di lettura aadb_user
:GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
-
Questa è una funzione tabella con pipeline con tipo restituito
DBMS_CLOUD_TYPES.list_object_ret_t
. -
DBMS_CLOUD.LIST_FILES
non ottiene il valore di checksum e restituisceNULL
per questo campo.
Esempio
Questa è una funzione con pipeline che restituisce una riga per ogni file. Ad esempio, utilizzare la seguente query per utilizzare questa funzione:
SELECT * FROM DBMS_CLOUD.LIST_FILES
('DATA_PUMP_DIR');
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
------------ ---------- ---------- --------------------- ---------------------
cwallet.sso 2965 2018-12-12T18:10:47Z 2019-11-23T06:36:54Z
Argomento padre: DBMS_CLOUD per oggetti e file
Funzione LIST_OBJECTS
Questa funzione elenca gli oggetti nella posizione specificata nell'area di memorizzazione degli oggetti. I risultati includono i nomi degli oggetti e metadati aggiuntivi relativi agli oggetti, ad esempio dimensione, checksum, indicatore orario di creazione e indicatore orario dell'ultima modifica.
Sintassi
DBMS_CLOUD.LIST_OBJECTS
(
credential_name IN VARCHAR2,
location_uri IN VARCHAR2)
RETURN TABLE;
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
location_uri |
URI oggetto o file. Il formato dell'URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. |
Note per uso
-
A seconda delle capacità dell'area di memorizzazione degli oggetti,
DBMS_CLOUD.LIST_OBJECTS
non restituisce valori per determinati attributi e il valore restituito per il campo èNULL
in questo caso.Tutti gli archivi oggetti supportati restituiscono valori per i campi
OBJECT_NAME
,BYTES
eCHECKSUM
.La tabella riportata di seguito mostra il supporto per i campi
CREATED
eLAST_MODIFIED
per area di memorizzazione degli oggetti.Area di memorizzazione degli oggetti CREATED
LAST_MODIFIED
Oracle Cloud Infrastructure Native Indicatore orario resi Indicatore orario resi Oracle Cloud Infrastructure Swift Restituisce NULL
Indicatore orario resi Oracle Cloud Infrastructure Classic Restituisce NULL
Indicatore orario resi Amazon S3 Restituisce NULL
Indicatore orario resi Amazon S3 - Compatibile Restituisce NULL
Indicatore orario resi Azure Indicatore orario resi Indicatore orario resi GitHub Repository -
Il valore di checksum è il checksum MD5. Si tratta di un numero esadecimale di 32 caratteri calcolato sul contenuto dell'oggetto. Si prevede che abbia un valore di checksum diverso se si utilizza la credenziale
OCI$RESOURCE_PRINCIPAL
. -
Questa è una funzione tabella con pipeline con tipo restituito
DBMS_CLOUD_TYPES.list_object_ret_t
.
Esempio
Questa è una funzione con pipeline che restituisce una riga per ogni oggetto. Ad esempio, utilizzare la seguente query per utilizzare questa funzione:
SELECT * FROM DBMS_CLOUD.LIST_OBJECTS
('OBJ_STORE_CRED',
'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/');
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
------------ ---------- -------------------------------- --------------------- --------------------
cwallet.sso 2965 2339a2731ba24a837b26d344d643dc07 2019-11-23T06:36:54Z
In questo esempio, namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure e bucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
Argomento padre: DBMS_CLOUD per oggetti e file
MOVE_OBJECT Procedura
Questa procedura sposta un oggetto da un bucket o una cartella dello storage degli oggetti cloud a un altro.
Il bucket o la cartella di origine e destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un altro provider.
Quando l'origine e la destinazione si trovano in aree di memorizzazione degli oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.
Il nome della credenziale di origine viene utilizzato per impostazione predefinita anche dalla posizione di destinazione quando non viene fornito il nome della credenziale di destinazione.
Sintassi
DBMS_CLOUD.MOVE_OBJECT
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_object_uri IN VARCHAR2,
target_object_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL
);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della credenziale per accedere allo storage degli oggetti cloud di origine. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta al bucket di storage degli oggetti o alla posizione della cartella di origine. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Specifica l'URI per il bucket o la cartella di storage degli oggetti di destinazione, in cui è necessario spostare i file. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione. È possibile utilizzare Se non si specifica un valore |
Esempio
BEGIN
DBMS_CLOUD.MOVE_OBJECT
(
source_credential_name => 'OCI_CRED',
source_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
target_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/
Argomento padre: DBMS_CLOUD per oggetti e file
PUT_OBJECT Procedura
Questa procedura è sovraccaricata. In un unico form la procedura copia un file da Autonomous Database nello storage degli oggetti cloud. In un altro modulo, la procedura copia un file BLOB
da Autonomous Database nello storage degli oggetti cloud.
Sintassi
DBMS_CLOUD.PUT_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
directory_name IN VARCHAR2,
file_name IN VARCHAR2
compression IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.PUT_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
contents IN BLOB
compression IN VARCHAR2 DEFAULT NULL);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare |
|
URI oggetto o file. Il formato dell'URI dipende dal servizio di storage degli oggetti cloud in uso. Per i dettagli, vedere DBMS_CLOUD Formati URI. |
|
Nome della directory in Autonomous Database. Piede 2 |
|
Specifica il file |
|
Il nome del file nella directory specificata. |
|
Specifica la compressione utilizzata per memorizzare l'oggetto. Valore predefinito: |
Nota a piè di pagina 2
Per eseguire DBMS_CLOUD.PUT_OBJECT
con un utente diverso da ADMIN, è necessario concedere privilegi di lettura sulla directory a tale utente. Ad esempio, eseguire il comando seguente come ADMIN per concedere i privilegi di lettura a adb_user
:
GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
Esempio
Per gestire i dati BLOB
dopo l'elaborazione nel database e quindi memorizzarli direttamente in un file nell'area di memorizzazione degli oggetti, effettuare le operazioni riportate di seguito.
DECLARE
my_blob_data BLOB;
BEGIN
/* Some processing producing BLOB data and populating my_blob_data */
DBMS_CLOUD.PUT_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/my_new_file',
contents => my_blob_data));
END;
/
Note per uso
A seconda dello storage degli oggetti cloud, le dimensioni dell'oggetto trasferito sono limitate come indicato di seguito.
Servizio di storage degli oggetti cloud | Limite dimensione trasferimento oggetto |
---|---|
Oracle Cloud Infrastructure Object Storage |
50 GB |
Amazon S3 |
5 GB |
Azure Blob Storage o Azure Data Lake Storage |
256 MB |
Amazon S3 - Compatibile |
Impostato dal provider dell'area di memorizzazione oggetti. Per ulteriori informazioni, vedere la documentazione del provider. |
L'area di memorizzazione degli oggetti Oracle Cloud Infrastructure non consente la scrittura di file in un bucket pubblico senza fornire credenziali (Oracle Cloud Infrastructure consente agli utenti di scaricare oggetti dai bucket pubblici). Pertanto, devi fornire un nome di credenziale con credenziali valide per memorizzare un oggetto in un bucket pubblico di Oracle Cloud Infrastructure utilizzando PUT_OBJECT
.
Vedere DBMS_CLOUD Formati URI per ulteriori informazioni.
Argomento padre: DBMS_CLOUD per oggetti e file
SYNC_EXTERNAL_PART_TABLE Procedura
Questa procedura semplifica l'aggiornamento di una tabella partizionata esterna dai file nel cloud. Eseguire questa procedura ogni volta che vengono aggiunte nuove partizioni o quando le partizioni vengono rimosse dall'origine dell'area di memorizzazione degli oggetti per la tabella partizionata esterna.
Sintassi
DBMS_CLOUD.SYNC_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
schema_name IN VARCHAR2 DEFAULT,
update_columns IN BOOLEAN DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della tabella di destinazione. Prima di eseguire |
|
Nome dello schema in cui risiede la tabella di destinazione. Il valore predefinito è NULL, ovvero la tabella di destinazione si trova nello stesso schema dell'utente che esegue la procedura. |
|
I nuovi file potrebbero introdurre una modifica allo schema. Gli aggiornamenti supportati includono: nuove colonne, colonne eliminate. Aggiornamenti alle colonne esistenti, ad esempio una modifica del tipo di dati genera errori. Valore predefinito: False |
Argomento padre: DBMS_CLOUD per oggetti e file
VALIDATE_EXTERNAL_PART_TABLE Procedura
Questa procedura convalida i file di origine per una tabella partizionata esterna, genera informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NUMBER,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
|
Se definito, viene convalidata solo una partizione specifica. Se non viene specificato, leggere tutte le partizioni in sequenza fino al raggiungimento di |
|
Se definita, viene convalidata solo una partizione secondaria specifica. Se non viene specificato, leggere tutte le partizioni esterne o le partizioni secondarie in sequenza fino al raggiungimento di |
|
Nome dello schema in cui si trova la tabella esterna. Il valore predefinito è NULL, ovvero la tabella esterna si trova nello stesso schema dell'utente che esegue la procedura. |
|
Numero di righe da analizzare. Il valore predefinito è NULL, ovvero vengono analizzate tutte le righe nei file di origine. |
|
Solo per uso interno. Non utilizzare questo parametro. |
|
Determina se la convalida deve essere interrotta quando una riga viene rifiutata. Il valore predefinito è |
Argomento padre: DBMS_CLOUD per oggetti e file
VALIDATE_EXTERNAL_TABLE Procedura
Questa procedura convalida i file di origine per una tabella esterna, genera le informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella esterna in una tabella badfile in Autonomous Database. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NOCOPY NUMBER,
schema_name IN VARCHAR2 DEFAULT NULL,
rowcount IN NUMBER DEFAULT 0,
stop_on_error IN BOOLEAN DEFAULT TRUE);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
|
Nome dello schema in cui si trova la tabella esterna. Il valore predefinito è NULL, ovvero la tabella esterna si trova nello stesso schema dell'utente che esegue la procedura. |
|
Numero di righe da analizzare. Il valore predefinito è NULL, ovvero vengono analizzate tutte le righe nei file di origine. |
|
Determina se la convalida deve essere interrotta quando una riga viene rifiutata. Il valore predefinito è Se la tabella esterna fa riferimento a file Avro, ORC o Parquet, la convalida si interrompe alla prima riga rifiutata. Quando la tabella esterna specifica il parametro |
Note per uso
-
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
funziona sia con tabelle esterne partizionate che con tabelle ibride partizionate. Questa operazione consente di leggere i dati di tutte le partizioni esterne fino al raggiungimento dirowcount
o all'applicazione distop_on_error
. Non si dispone del controllo su quale partizione, o parti di una partizione, viene letta in quale ordine.
Argomento padre: DBMS_CLOUD per oggetti e file
VALIDATE_HYBRID_PART_TABLE Procedura
Questa procedura convalida i file di origine per una tabella partizionata ibrida, genera informazioni di log e memorizza le righe che non corrispondono alle opzioni di formato specificate per la tabella ibrida in una tabella badfile in Autonomous Database. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NUMBER,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della tabella esterna. |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
|
Se definito, viene convalidata solo una partizione specifica. Se non viene specificato, leggere tutte le partizioni esterne in sequenza fino al raggiungimento di |
|
Se definita, viene convalidata solo una partizione secondaria specifica. Se non viene specificato, leggere tutte le partizioni esterne o le partizioni secondarie in sequenza fino al raggiungimento di |
|
Nome dello schema in cui si trova la tabella esterna. Il valore predefinito è NULL, ovvero la tabella esterna si trova nello stesso schema dell'utente che esegue la procedura. |
|
Numero di righe da analizzare. Il valore predefinito è NULL, ovvero vengono analizzate tutte le righe nei file di origine. |
|
Solo per uso interno. Non utilizzare questo parametro. |
|
Determina se la convalida deve essere interrotta quando una riga viene rifiutata. Il valore predefinito è |
Argomento padre: DBMS_CLOUD per oggetti e file
DBMS_CLOUD per la gestione di massa dei file
I sottoprogrammi per le operazioni dei file in blocco all'interno del pacchetto DBMS_CLOUD.
Programma secondario | descrizione; |
---|---|
BULK_COPY Procedura |
Questa procedura copia i file da un bucket dello storage degli oggetti cloud a un altro. |
BULK_DELETE Procedura |
La procedura elimina i file dal bucket o dalla cartella di storage degli oggetti cloud. |
BULK_DOWNLOAD Procedura |
Questa procedura scarica i file dal bucket dell'area di memorizzazione degli oggetti cloud in una directory in Autonomous Database. |
BULK_MOVE Procedura |
Questa procedura sposta i file da un bucket di storage degli oggetti cloud a un altro. |
BULK_UPLOAD Procedura |
Questa procedura carica i file da una directory in Autonomous Database nello storage degli oggetti cloud. |
- BULK_COPY Procedura
Questa procedura esegue la copia di massa dei file da un bucket di storage degli oggetti cloud a un altro. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - BULK_DELETE Procedura
Questa procedura elimina in blocco i file dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametrooperation_id
. È possibile filtrare la lista di file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatoreREGEXP_LIKE
. - BULK_DOWNLOAD Procedura
Questa procedura scarica i file in una directory Autonomous Database dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametrooperation_id
. È possibile filtrare la lista dei file da scaricare utilizzando un pattern di espressione regolare compatibile con l'operatoreREGEXP_LIKE
. - BULK_MOVE Procedura
Questa procedura sposta in blocco i file da un bucket o una cartella dello storage degli oggetti cloud a un altro. Il form sovraccarico consente di utilizzare il parametrooperation_id
. - BULK_UPLOAD Procedura
Questa procedura copia i file nello storage degli oggetti cloud da una directory di Autonomous Database. Il form sovraccarico consente di utilizzare il parametrooperation_id
.
Argomento padre: DBMS_CLOUD sottoprogrammi e API REST
BULK_COPY Procedura
Questa procedura copia in blocco i file da un bucket di storage degli oggetti cloud a un altro. Il form sovraccarico consente di utilizzare il parametro operation_id
.
È possibile filtrare la lista di file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE
.
Il bucket o la cartella di origine e destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un altro provider.
Quando l'origine e la destinazione si trovano in aree di memorizzazione degli oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.
Il nome della credenziale di origine viene utilizzato per impostazione predefinita anche dalla posizione di destinazione.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta al bucket di storage degli oggetti o alla posizione della cartella di origine. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Specifica l'URI per il bucket o la cartella di storage degli oggetti di destinazione, in cui è necessario copiare i file. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore Se non si specifica un valore Per ulteriori informazioni, vedere REGEXP_LIKE Condizione. |
|
Specifica le opzioni di configurazione aggiuntive per l'operazione sul file. Queste opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Se non si specifica un valore |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Note per uso
-
Viene restituito un errore quando l'URI di origine e destinazione punta allo stesso bucket o cartella di storage degli oggetti.
Esempio
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;
/
Argomento padre: DBMS_CLOUD per la gestione di massa dei file
BULK_DELETE Procedura
Questa procedura elimina in blocco i file dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametro operation_id
. È possibile filtrare la lista di file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta a una posizione di storage degli oggetti in Autonomous Database. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore Se non si specifica un valore Per ulteriori informazioni, vedere REGEXP_LIKE Condizione. |
|
Specifica le opzioni di configurazione aggiuntive per l'operazione sul file. Queste opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Se non si specifica un valore |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Esempio
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;
/
Argomento padre: DBMS_CLOUD per la gestione di massa dei file
BULK_DOWNLOAD Procedura
Questa procedura scarica i file in una directory di Autonomous Database dallo storage degli oggetti cloud. Il form sovraccarico consente di utilizzare il parametro operation_id
. È possibile filtrare la lista dei file da scaricare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta a una posizione di storage degli oggetti in Autonomous Database. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Il nome della directory in Autonomous Database da cui si desidera scaricare i file. Questo parametro è obbligatorio. |
|
Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore Se non si specifica un valore Per ulteriori informazioni, vedere REGEXP_LIKE Condizione. |
|
Specifica le opzioni di configurazione aggiuntive per l'operazione sul file. Queste opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Se non si specifica un valore |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Esempio
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;
/
Argomento padre: DBMS_CLOUD per la gestione di massa dei file
BULK_MOVE Procedura
Questa procedura sposta in blocco i file da un bucket o una cartella dello storage degli oggetti cloud a un altro. Il form sovraccarico consente di utilizzare il parametro operation_id
.
È possibile filtrare la lista di file da eliminare utilizzando un pattern di espressione regolare compatibile con l'operatore REGEXP_LIKE
.
Il bucket o la cartella di origine e destinazione possono trovarsi nello stesso provider dell'area di memorizzazione degli oggetti cloud o in un altro provider.
Quando l'origine e la destinazione si trovano in aree di memorizzazione degli oggetti distinte o hanno account diversi con lo stesso provider cloud, è possibile assegnare nomi di credenziali separati per le posizioni di origine e destinazione.
Il nome della credenziale di origine viene utilizzato per impostazione predefinita anche dalla posizione di destinazione quando non viene fornito il nome della credenziale di destinazione.
Il primo passo per spostare i file è copiarli nella posizione di destinazione, quindi eliminare i file di origine, una volta copiati correttamente.
L'oggetto viene rinominato anziché spostato se l'area di memorizzazione degli oggetti consente di rinominare le operazioni tra le posizioni di origine e di destinazione.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della credenziale per accedere allo storage degli oggetti cloud di origine. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta al bucket di storage degli oggetti o alla posizione della cartella di origine. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Specifica l'URI per il bucket o la cartella di storage degli oggetti di destinazione, in cui è necessario spostare i file. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Nome della credenziale per accedere alla posizione di storage degli oggetti cloud di destinazione. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore Se non si specifica un valore Per ulteriori informazioni, vedere REGEXP_LIKE Condizione. |
|
Specifica le opzioni di configurazione aggiuntive per l'operazione sul file. Queste opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Se non si specifica un valore |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Esempio
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;
/
Viene restituito un errore quando l'URI di origine e destinazione punta allo stesso bucket o cartella di storage degli oggetti.
Argomento padre: DBMS_CLOUD per la gestione di massa dei file
BULK_UPLOAD Procedura
Questa procedura copia i file nello storage degli oggetti cloud da una directory di Autonomous Database. Il form sovraccarico consente di utilizzare il parametro operation_id
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
|
Il nome della credenziale per accedere allo storage degli oggetti cloud. È possibile utilizzare Se non si specifica un valore |
|
Specifica l'URI che punta a una posizione di storage degli oggetti per caricare i file. Questo parametro è obbligatorio. Il formato degli URI dipende dal servizio di storage degli oggetti cloud. Vedere DBMS_CLOUD Formati URI per ulteriori informazioni. |
|
Nome della directory in Autonomous Database da cui si caricano i file. Questo parametro è obbligatorio. |
regex_filter |
Specifica l'espressione REGEX per filtrare i file. Il pattern di espressione REGEX deve essere compatibile con l'operatore Se non si specifica un valore Per ulteriori informazioni, vedere REGEXP_LIKE Condizione. |
|
Specifica le opzioni di configurazione aggiuntive per l'operazione sul file. Queste opzioni sono specificate come stringa JSON. Di seguito sono riportate le opzioni di formato supportate.
Se non si specifica un valore |
|
Utilizzare questo parametro per tenere traccia dell'avanzamento e dello stato finale dell'operazione di caricamento come ID corrispondente nella vista |
Esempio
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;
/
Argomento padre: DBMS_CLOUD per la gestione di massa dei file
DBMS_CLOUD API REST
In questa sezione vengono descritte le API REST DBMS_CLOUD
fornite con Autonomous Database.
API REST | descrizione; |
---|---|
Questa funzione restituisce le intestazioni di risposta HTTP come dati JSON in un oggetto JSON in Autonomous Database. | |
Questa funzione restituisce la risposta HTTP in formato RAW Autonomous Database. Questo è utile se si prevede che la risposta HTTP sia in formato binario. | |
Questa funzione restituisce il codice di stato della risposta HTTP come numero intero in Autonomous Database. Il codice di stato consente di identificare se la richiesta è riuscita. | |
Questa funzione restituisce la risposta HTTP in formato TEXT (VARCHAR2 o CLOB ) in Autonomous Database. In genere, la maggior parte delle API REST cloud restituisce una risposta JSON in formato testo. Questa funzione è utile se si prevede che la risposta HTTP sia in formato testo.
|
|
Questa funzione restituisce la dimensione della cache dei risultati configurata. |
|
Questa funzione avvia una richiesta HTTP, ottiene la risposta e termina la risposta in Autonomous Database. Questa funzione fornisce un workflow per l'invio di una richiesta API REST cloud con argomenti e un codice di risposta di restituzione e un payload. | |
Questa procedura imposta la dimensione massima della cache per la sessione corrente. |
- DBMS_CLOUD Panoramica dell'API REST
Quando si utilizza PL/SQL nell'applicazione e occorre chiamare le API REST cloud, è possibile utilizzareDBMS_CLOUD.SEND_REQUEST
per inviare le richieste dell'API REST. - DBMS_CLOUD Costanti API REST
Descrive le costantiDBMS_CLOUD
per effettuare richiesteHTTP
utilizzandoDBMS_CLOUD.SEND_REQUEST
. - DBMS_CLOUD Cache dei risultati dell'API REST
È possibile salvare i risultati dell'API RESTDBMS_CLOUD
quando si imposta il parametrocache
su true conDBMS_CLOUD.SEND_REQUEST
. La vistaSESSION_CLOUD_API_RESULTS
descrive le colonne che è possibile utilizzare quando vengono salvati i risultati dell'API REST. - GET_RESPONSE_HEADERS Funzione
Questa funzione restituisce le intestazioni di risposta HTTP come dati JSON in un oggetto JSON. - GET_RESPONSE_RAW Funzione
Questa funzione restituisce la risposta HTTP in formato RAW. Questo è utile se si prevede che la risposta HTTP sia in formato binario. - GET_RESPONSE_STATUS_CODE Funzione
Questa funzione restituisce il codice di stato della risposta HTTP come numero intero. Il codice di stato consente di identificare se la richiesta è riuscita. - GET_RESPONSE_TEXT Funzione
Questa funzione restituisce la risposta HTTP in formatoTEXT
(VARCHAR2
oCLOB
). In genere, la maggior parte delle API REST cloud restituisce una risposta JSON in formato testo. Questa funzione è utile se si prevede che la risposta HTTP sia in formato testo. - GET_API_RESULT_CACHE_SIZE Funzione
Questa funzione restituisce la dimensione della cache dei risultati configurata. Il valore della dimensione della cache si applica solo alla sessione corrente. - SEND_REQUEST Funzione e procedura
Questa funzione e procedura avviano una richiesta HTTP, ottengono la risposta e terminano la risposta. Questa funzione fornisce un workflow per l'invio di una richiesta API REST cloud con argomenti e la funzione restituisce un codice di risposta e un payload. Se si utilizza la procedura, è possibile visualizzare i risultati e i dettagli delle risposte dai risultati salvati con la vistaSESSION_CLOUD_API_RESULTS
. - SET_API_RESULT_CACHE_SIZE Procedura
Questa procedura imposta la dimensione massima della cache per la sessione corrente. Il valore della dimensione della cache si applica solo alla sessione corrente. - DBMS_CLOUD Esempi di API REST
Mostra esempi che utilizzanoDBMS_CLOUD.SEND_REQUEST
per creare ed eliminare un bucket di Oracle Cloud Infrastructure Object Storage e un esempio per elencare tutti i compartimenti nella tenancy.
Argomento padre: DBMS_CLOUD sottoprogrammi e API REST
DBMS_CLOUD Panoramica delle API REST
Quando utilizzi PL/SQL nella tua applicazione e devi chiamare le API REST cloud, puoi utilizzare DBMS_CLOUD.SEND_REQUEST
per inviare le richieste delle API REST.
Le funzioni API REST DBMS_CLOUD
consentono di effettuare richieste HTTP
utilizzando DBMS_CLOUD.SEND_REQUEST
e di ottenere e salvare i risultati. Queste funzioni forniscono un'interfaccia API generica che consente di chiamare qualsiasi interfaccia API REST con i servizi cloud supportati riportati di seguito.
- Oracle Cloud Infrastructure
Per informazioni sulle API REST di Oracle Cloud Infrastructure, consulta Riferimento ed endpoint delle API.
- Amazon Web Services (REGISTRAZIONE)
Per informazioni sulle API REST di Amazon Web Services, vedere Guida e riferimenti API.
- Azure Cloud Foot 3
Per informazioni sulle API REST di Azure, vedere Riferimento alle API REST di Azure.
- Oracle Cloud Infrastructure Classic
Per informazioni sulle API REST di Oracle Cloud Infrastructure Classic, consulta la sezione relativa a tutti gli endpoint REST.
- GitHub Repository
Per ulteriori informazioni, consulta GitHub API REST.
Argomento padre: DBMS_CLOUD API REST
DBMS_CLOUD Costanti API REST
Descrive le costanti DBMS_CLOUD
per effettuare richieste HTTP
utilizzando DBMS_CLOUD.SEND_REQUEST
.
DBMS_CLOUD
supporta i metodi GET
, PUT
, POST
, HEAD
e DELETE
HTTP. Il metodo API REST da utilizzare per una richiesta HTTP è in genere documentato nella documentazione dell'API REST cloud.
Nome | Digita | Valore |
---|---|---|
METHOD_DELETE |
VARCHAR2(6) |
'DELETE' |
METHOD_GET |
VARCHAR2(3) |
'GET' |
METHOD_HEAD |
VARCHAR2(4) |
'HEAD' |
METHOD_POST |
VARCHAR2(4) |
'POST' |
METHOD_PUT |
VARCHAR2(3) |
'PUT' |
Argomento padre: DBMS_CLOUD API REST
DBMS_CLOUD Cache dei risultati dell'API REST
È possibile salvare i risultati dell'interfaccia API REST DBMS_CLOUD
quando si imposta il parametro cache
su true con DBMS_CLOUD.SEND_REQUEST
. La vista SESSION_CLOUD_API_RESULTS
descrive le colonne che è possibile utilizzare quando vengono salvati i risultati dell'API REST.
Per impostazione predefinita, le chiamate API REST DBMS_CLOUD
non salvano i risultati per la sessione. In questo caso si utilizza la funzione DBMS_CLOUD.SEND_REQUEST
per restituire i risultati.
Quando si utilizza DBMS_CLOUD.SEND_REQUEST
e si imposta il parametro cache
su TRUE
, i risultati vengono salvati ed è possibile visualizzare i risultati passati nella vista SESSION_CLOUD_API_RESULTS
. Il salvataggio e l'esecuzione di query sui risultati cronologici delle richieste API REST DBMS_CLOUD
possono essere utili quando è necessario utilizzare i risultati precedenti nelle applicazioni.
Ad esempio, per eseguire una query sui risultati recenti dell'API REST DBMS_CLOUD
, utilizzare la vista SESSION_CLOUD_API_RESULTS
:
SELECT timestamp FROM SESSION_CLOUD_API_RESULTS;
Quando si salvano i risultati dell'interfaccia API REST DBMS_CLOUD
con DBMS_CLOUD.SEND_REQUEST
, i dati salvati sono disponibili solo all'interno della stessa sessione (connessione). Al termine della sessione, i dati salvati non sono più disponibili.
Utilizzare DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
e DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
per visualizzare e impostare la dimensione della cache dell'API REST DBMS_CLOUD
e per disabilitare l'inserimento nella cache.
- DBMS_CLOUD Risultati API REST cache_scope Parametro
Quando si salvano i risultati dell'API RESTDBMS_CLOUD
conDBMS_CLOUD.SEND_REQUEST
, l'accesso ai risultati inSESSION_CLOUD_API_RESULTS
viene fornito in base al valore dicache_scope
. - DBMS_CLOUD Vista SESSION_CLOUD_API_RESULTS dell'API REST
È possibile salvare i risultati dell'API RESTDBMS_CLOUD
quando si imposta il parametrocache
su true conDBMS_CLOUD.SEND_REQUEST
. La vistaSESSION_CLOUD_API_RESULTS
descrive le colonne che è possibile utilizzare quando vengono salvati i risultati dell'API REST.
Argomento padre: DBMS_CLOUD API REST
DBMS_CLOUD Parametro risultati API REST cache_scope
Quando si salvano i risultati dell'API REST DBMS_CLOUD
con DBMS_CLOUD.SEND_REQUEST
, l'accesso ai risultati in SESSION_CLOUD_API_RESULTS
viene fornito in base al valore di cache_scope
.
Per impostazione predefinita, cache_scope
è 'PRIVATE'
e solo l'utente corrente della sessione può accedere ai risultati. Se si imposta cache_scope
su 'PUBLIC'
, tutti gli utenti della sessione potranno accedere ai risultati. Il valore predefinito per cache_scope
specifica che ogni utente può visualizzare solo i risultati dell'interfaccia API REST DBMS_CLOUD.SEND_REQUEST
generati dalle procedure richiamate con i diritti del chiamante. Quando si richiama DBMS_CLOUD.SEND_REQUEST
in una sessione, esistono tre possibilità che determinano se l'utente corrente può visualizzare i risultati nella cache, in base al valore cache_scope
:
-
È possibile eseguire direttamente
DBMS_CLOUD.SEND_REQUEST
come istruzione di livello superiore e la chiamata aDBMS_CLOUD.SEND_REQUEST
e i risultati dell'API REST vengono salvati con lo stesso nome utente. In questo caso è possibile accedere a tutti i risultati con il valore predefinito 'PRIVATE'
, impostato percache_scope
. -
Si scrive la procedura dei diritti di un chiamante wrapper e come utente corrente la chiamata con
DBMS_CLOUD.SEND_REQUEST
chiama la procedura e i risultati dell'API REST vengono salvati con lo stesso nome utente. In questo caso, si dispone dell'accesso a tutti i risultati con il valore predefinito 'PRIVATE'
, impostato percache_scope
. -
Si scrive la procedura dei diritti di un definitore wrapper e la procedura è di proprietà di un altro utente. Quando si chiama
DBMS_CLOUD.SEND_REQUEST
all'interno della procedura, i risultati vengono salvati con il nome utente del proprietario della procedura.In questo caso, un utente con diritti di un altro definitore richiama
DBMS_CLOUD.SEND_REQUEST
e i risultati dell'API REST vengono salvati con il proprietario della procedura di definizione. Per impostazione predefinita, secache_scope
èPRIVATE'
, la sessione del chiamante non può visualizzare i risultati.Se il proprietario della procedura del definitore desidera rendere disponibili i risultati per qualsiasi utente della sessione chiamante, è necessario impostare
cache_scope
su'PUBLIC'
inDBMS_CLOUD.SEND_REQUEST
.
Argomento padre: DBMS_CLOUD Cache dei risultati dell'API REST
DBMS_CLOUD Vista SESSION_CLOUD_API_RESULTS API REST
È possibile salvare i risultati dell'interfaccia API REST DBMS_CLOUD
quando si imposta il parametro cache
su true con DBMS_CLOUD.SEND_REQUEST
. La vista SESSION_CLOUD_API_RESULTS
descrive le colonne che è possibile utilizzare quando vengono salvati i risultati dell'API REST.
La vista SESSION_CLOUD_API_RESULTS
è la vista creata se si inseriscono nella cache i risultati con DBMS_CLOUD.SEND_REQUEST
. È possibile eseguire query sui risultati cronologici appartenenti alla sessione utente. Al termine della sessione, i dati nel file SESSION_CLOUD_API_RESULTS
vengono rimossi.
A colonne | descrizione; |
---|---|
URI |
URL di richiesta dell'API REST DBMS_CLOUD
|
TIMESTAMP |
Indicatore orario risposta API REST DBMS_CLOUD
|
CLOUD_TYPE |
Il tipo di cloud DBMS_CLOUD API REST, ad esempio Oracle Cloud Infrastructure, AMAZON_S3 e AZURE_BLOB
|
REQUEST_METHOD |
Il metodo di richiesta dell'API REST DBMS_CLOUD , ad esempio GET , PUT , HEAD |
REQUEST_HEADERS |
Intestazioni delle richieste API REST DBMS_CLOUD
|
REQUEST_BODY_TEXT |
Corpo della richiesta dell'API REST DBMS_CLOUD in CLOB |
RESPONSE_STATUS_CODE |
Codice di stato della risposta dell'API REST DBMS_CLOUD , ad esempio 200(OK) , 404(Not Found) |
RESPONSE_HEADERS |
Intestazioni di risposta dell'API REST DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Corpo della risposta dell'API REST DBMS_CLOUD in CLOB |
SCOPE |
Il valore |
Argomento padre: DBMS_CLOUD Cache dei risultati dell'API REST
Funzione GET_RESPONSE_HEADERS
Questa funzione restituisce le intestazioni di risposta HTTP come dati JSON in un oggetto JSON.
Sintassi
DBMS_CLOUD.GET_RESPONSE_HEADERS
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN JSON_OBJECT_T;
Parametri
Parametro | descrizione; |
---|---|
resp |
Tipo di risposta HTTP restituito da |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid_response |
ORA-20025 |
Oggetto del tipo di risposta non valido passato a |
Argomento padre: DBMS_CLOUD API REST
Funzione GET_RESPONSE_RAW
Questa funzione restituisce la risposta HTTP in formato RAW. Questo è utile se si prevede che la risposta HTTP sia in formato binario.
Sintassi
DBMS_CLOUD.GET_RESPONSE_RAW
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN BLOB;
Parametri
Parametro | descrizione; |
---|---|
resp |
Tipo di risposta HTTP restituito da |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid_response |
ORA-20025 |
Oggetto del tipo di risposta non valido passato a |
Argomento padre: DBMS_CLOUD API REST
Funzione GET_RESPONSE_STATUS_CODE
Questa funzione restituisce il codice di stato della risposta HTTP come numero intero. Il codice di stato consente di identificare se la richiesta è riuscita.
Sintassi
DBMS_CLOUD.GET_RESPONSE_STATUS_CODE
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN PLS_INTEGER;
Parametri
Parametro | descrizione; |
---|---|
resp |
Tipo di risposta HTTP restituito da |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid_response |
ORA-20025 |
Oggetto del tipo di risposta non valido passato a |
Argomento padre: DBMS_CLOUD API REST
Funzione GET_RESPONSE_TEXT
Questa funzione restituisce la risposta HTTP in formato TEXT
(VARCHAR2
o CLOB
). In genere, la maggior parte delle API REST cloud restituisce una risposta JSON in formato testo. Questa funzione è utile se si prevede che la risposta HTTP sia in formato testo.
Sintassi
DBMS_CLOUD.GET_RESPONSE_TEXT
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN CLOB;
Parametri
Parametro | descrizione; |
---|---|
resp |
Tipo di risposta HTTP restituito da |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid_response |
ORA-20025 |
Oggetto del tipo di risposta non valido passato a |
Argomento padre: DBMS_CLOUD API REST
Funzione GET_API_RESULT_CACHE_SIZE
Questa funzione restituisce la dimensione della cache dei risultati configurata. Il valore della dimensione della cache si applica solo alla sessione corrente.
Sintassi
DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
()
RETURN NUMBER;
Argomento padre: DBMS_CLOUD API REST
SEND_REQUEST Funzione e procedura
Questa funzione e questa procedura iniziano una richiesta HTTP, ottengono la risposta e terminano la risposta. Questa funzione fornisce un workflow per l'invio di una richiesta API REST cloud con argomenti e la funzione restituisce un codice di risposta e un payload. Se si utilizza la procedura, è possibile visualizzare i risultati e i dettagli delle risposte dai risultati salvati con la vista SESSION_CLOUD_API_RESULTS
.
Sintassi
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL)
RETURN DBMS_CLOUD_TYPES.resp;
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL);
Parametri
Parametro | descrizione; |
---|---|
|
Nome della credenziale per l'autenticazione con l'API cloud nativa corrispondente. È possibile utilizzare |
uri |
URI HTTP per effettuare la richiesta. |
method |
Metodo di richiesta HTTP: Per ulteriori informazioni, vedere DBMS_CLOUD Costanti API REST. |
headers |
Intestazioni delle richieste HTTP per l'API cloud nativa corrispondente in formato JSON. Le intestazioni di autenticazione vengono impostate automaticamente, passando solo le intestazioni personalizzate. |
|
URL di richiesta asincrona. Per ottenere l'URL, selezionare l'interfaccia API di richiesta dall'elenco delle interfacce API (vedere https://docs.cloud.oracle.com/en-us/iaas/api/). Quindi, individuare l'API per la richiesta nel riquadro sinistro. Ad esempio, Database Services API → Autonomous Database → StopAutonomousDatabase. Questa pagina mostra la home API (e mostra l'endpoint di base). Aggiungere quindi l'endpoint di base con il percorso relativo ottenuto per il collegamento WorkRequest della richiesta di lavoro. |
wait_for_states |
Lo stato di attesa degli stati è di tipo Per |
timeout |
Specifica il timeout, in secondi, per le richieste asincrone con i parametri Il valore predefinito è |
cache |
Se Il valore predefinito è |
cache_scope |
Specifica se tutti possono accedere a questa cache dei risultati delle richieste. Valori validi: |
body |
Corpo della richiesta HTTP per le richieste |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid_req_method |
ORA-20023 |
Il metodo di richiesta passato a |
invalid_req_header |
ORA-20024 |
Le intestazioni di richiesta passate a |
Note per l'uso
-
Se si utilizza Oracle Cloud Infrastructure, è necessario utilizzare un valore di credenziale basato su chiave di firma per
credential_name
. Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura. -
I parametri facoltativi
async_request_url
,wait_for_states
etimeout
consentono di gestire le richieste con tempi di esecuzione lunghi. Utilizzando questo formato asincrono disend_request
, la funzione attende lo stato di completamento specificato inwait_for_states
prima di tornare. Con questi parametri nella richiesta di invio, si superano gli stati di restituzione previsti nel parametrowait_for_states
e si utilizza il parametroasync_request_url
per specificare una richiesta di lavoro associata, la richiesta non viene restituita immediatamente. Invece, la richiesta esaminaasync_request_url
fino a quando lo stato restituito non è uno degli stati previsti o viene superatotimeout
(timeout
è facoltativo). Se non viene specificato alcun valoretimeout
, la richiesta attende che si verifichi uno stato trovato inwait_for_states
.
Argomento padre: DBMS_CLOUD API REST
SET_API_RESULT_CACHE_SIZE Procedura
Questa procedura imposta la dimensione massima della cache per la sessione corrente. Il valore della dimensione della cache si applica solo alla sessione corrente.
Sintassi
DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(
cache_size IN NUMBER);
Parametri
Parametro | descrizione; |
---|---|
cache_size |
Impostare la dimensione massima della cache sul valore specificato Se la dimensione della cache è impostata su La dimensione predefinita della cache è |
Eccezioni
Eccezione | Errore | descrizione; |
---|---|---|
invalid API result cache size |
ORA-20032 |
Il valore minimo è 0 e il valore massimo è 10000. Questa eccezione viene visualizzata quando il valore di input è minore di 0 o maggiore di 10000. |
Esempio
EXEC DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(101);
Argomento padre: DBMS_CLOUD API REST
DBMS_CLOUD Esempi di API REST
Mostra esempi che utilizzano DBMS_CLOUD.SEND_REQUEST
per creare ed eliminare un bucket di Oracle Cloud Infrastructure Object Storage e un esempio per elencare tutti i compartimenti nella tenancy.
Questi esempi mostrano le API di richiesta di Oracle Cloud Infrastructure e richiedono l'uso di una credenziale basata su chiave di firma per credential_name
. Le credenziali basate sulla chiave di firma di Oracle Cloud Infrastructure includono gli argomenti private_key
e fingerprint
.
Ad esempio:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Per informazioni su DBMS_CLOUD.CREATE_CREDENTIAL
, vedere CREATE_CREDENTIAL Procedura.
Crea esempio di bucket
Mostra un esempio che utilizza DBMS_CLOUD.SEND_REQUEST
con il metodo HTTP POST
per creare un bucket dell'area di memorizzazione degli oggetti denominato bucketname
.
Per i dettagli sull'API di Oracle Cloud Infrastructure Object Storage Service, vedere CreateBucket per questo esempio.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(
JSON_OBJECT('name' value 'bucketname',
'compartmentId' value 'compartment_OCID'))
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Note:
-
In questo esempio,
namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure ebucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti. -
Dove:
region
è un'area di endpoint. Per ulteriori informazioni, consulta il riferimento all'API di storage degli oggetti in Riferimento ed endpoint API. Ad esempio, doveregion
è:us-phoenix-1
.
Esempio di eliminazione del bucket
Mostra un esempio che utilizza il metodo DBMS_CLOUD.SEND_REQUEST
con HTTP DELETE
per eliminare un bucket dell'area di memorizzazione degli oggetti denominato bucketname
.
Per i dettagli sull'API di Oracle Cloud Infrastructure Object Storage Service, vedere DeleteBucket per questo esempio.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname',
method => DBMS_CLOUD.METHOD_DELETE
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Note:
-
In questo esempio,
namespace-string
è lo spazio di nomi dello storage degli oggetti Oracle Cloud Infrastructure ebucketname
è il nome del bucket. Per ulteriori informazioni, vedere Informazioni sugli spazi di nomi dello storage degli oggetti. -
Dove:
region
è un'area di endpoint. Per ulteriori informazioni, consulta il riferimento all'API di storage degli oggetti in Riferimento ed endpoint API. Ad esempio, doveregion
è:us-phoenix-1
.
Esempio di lista di compartimenti
Mostra un esempio utilizzando il metodo DBMS_CLOUD.SEND_REQUEST
con il metodo HTTP GET
per elencare tutti i compartimenti nella tenancy (compartimento radice). In questo esempio viene illustrato come passare le intestazioni delle richieste in DBMS_CLOUD.SEND_REQUEST
.
Per i dettagli sull'API di Oracle Cloud Infrastructure Identity and Access Management Service, vedere ListCompartments per questo esempio.
--
-- List compartments
--
DECLARE
resp DBMS_CLOUD_TYPES.resp;
root_compartment_ocid VARCHAR2(512) := '&1';
BEGIN
-- Send request
dbms_output.put_line('Send Request');
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://identity.region.oraclecloud.com/20160918/compartments?compartmentId=' || root_compartment_ocid,
method => DBMS_CLOUD.METHOD_GET,
headers => JSON_OBJECT('opc-request-id' value 'list-compartments')
);
dbms_output.put_line('Body: ' || '------------' || CHR(10) || DBMS_CLOUD.get_response_text(resp) || CHR(10));
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_status_code(resp));
dbms_output.put_line(CHR(10));
END;
/
Dove: region
è un'area di endpoint. Per ulteriori informazioni, consulta il riferimento all'API IAM (Identity and Access Management) in Riferimento e endpoint API. Ad esempio, dove region
è: uk-london-1
.
Esempio di richiesta asincrona
Mostra un esempio che utilizza DBMS_CLOUD.SEND_REQUEST
con il metodo HTTP POST
per eseguire l'operazione di arresto di Autonomous Database e attendere lo stato. Questo esempio mostra come utilizzare DBMS_CLOUD.SEND_REQUEST
con i parametri async_request_url
, wait_for_states
e timeout
.
--
-- Sent Work Request Autonomous Database Stop Request with Wait for Status
DECLARE
l_resp DBMS_CLOUD_TYPES.resp;
l_resp_json JSON_OBJECT_T;
l_key_shape JSON_OBJECT_T;
l_body JSON_OBJECT_T;
status_array DBMS_CLOUD_TYPES.wait_for_states_t;
BEGIN
status_array := DBMS_CLOUD_TYPES.wait_for_states_t('SUCCEEDED');
l_body := JSON_OBJECT_T('{}');
l_body.put('autonomousDatabaseId', 'ocid');
-- Send request
dbms_output.put_line(l_body.to_clob);
dbms_output.put_line('Send Request');
l_resp := DBMS_CLOUD.send_request(
credential_name => 'NATIVE_CRED_OCI',
uri => 'https://database.region.oraclecloud.com/20160918/autonomousDatabases/ocid/actions/stop',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(l_body.to_clob),
async_request_url => 'https://iaas.region.oraclecloud.com/20160918/workRequests',
wait_for_states => status_array,
timeout => 600
);
dbms_output.put_line('resp body: '||DBMS_CLOUD.get_response_text(l_resp));
dbms_output.put_line('resp headers: '||DBMS_CLOUD.get_response_headers(l_resp).to_clob);
END;
/
Dove: region
è un'area di endpoint. Per ulteriori informazioni, consulta il riferimento all'API IAM (Identity and Access Management) in Riferimento e endpoint API. Ad esempio, dove region
è: uk-london-1
.
L'ocid
è l'identificativo della risorsa Oracle Cloud Infrastructure. Per ulteriori informazioni, vedere Identificativi risorsa.
Argomento padre: DBMS_CLOUD API REST
Nota a piedi
Nota a piè di pagina 3: il supporto per le chiamate API REST di Azure Cloud è limitato al dominio "blob.windows.net".