Package DBMS_CLOUD_ADMIN
In questa sezione vengono descritti i programmi secondari DBMS_CLOUD_ADMIN forniti con Autonomous AI Database.
| Sottoprogramma | Descrizione |
|---|---|
| Procedura ATTACH_FILE_SYSTEM | Questa procedura allega un file system in una directory del database. |
| Procedura CREATE_DATABASE_LINK | Questa procedura crea un database link a un database di destinazione. Ci sono opzioni per creare un database link a un'altra istanza di Autonomous AI Database, a un Oracle Database che non è un Autonomous AI Database o a un non Oracle Database che utilizza una connettività eterogenea gestita da Oracle. |
| Procedura DETACH_FILE_SYSTEM | Questa procedura scollega un file system da una directory del database. |
| Procedura DISABLE_EXTERNAL_AUTHENTICATION | Questa procedura disabilita l'autenticazione esterna per l'istanza di Autonomous AI Database. |
| Procedura DROP_DATABASE_LINK | Questa procedura elimina un database link. |
| Procedura ENABLE_EXTERNAL_AUTHENTICATION | Questa procedura consente a un utente di collegarsi ad Autonomous AI Database utilizzando lo schema di autenticazione esterno specificato. |
Procedura ATTACH_FILE_SYSTEM
Questa procedura allega un file system nel database.
La procedura DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM allega un file system nel database e memorizza le informazioni sul file system nella vista DBA_CLOUD_FILE_SYSTEMS.
Sintassi
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
file_system_name IN VARCHAR2,
file_system_location IN VARCHAR2,
directory_name IN VARCHAR2,
description IN VARCHAR2 DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
Parametri
| Parametro | Descrizione |
|---|---|
file_system_name |
Specifica il nome del file system. Questo parametro è obbligatorio. |
file_system_location |
Specifica la posizione del file system. Il valore fornito con Nota: è possibile utilizzare un nome FQDN o un indirizzo IP. Ad esempio:
Questo parametro è obbligatorio. |
directory_name |
Specifica il nome della directory per il file system allegato. La directory deve essere già stata creata. Questo parametro è obbligatorio. |
description |
(Facoltativo) Fornisce una descrizione del task. |
params |
Stringa JSON che fornisce un parametro aggiuntivo per il file system.
Valore predefinito: 3 |
Esempi
Esempio: Allega a un file system NFSv3:
BEGIN
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
file_system_name => 'FSS',
file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
directory_name => 'FSS_DIR',
description => 'Source NFS for sales data'
);
END;
/
Esempio: Allega a un file system NFSv4:
BEGIN
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
file_system_name => 'FSS',
file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
directory_name => 'FSS_DIR',
description => 'Source NFS for sales data',
params => JSON_OBJECT('nfs_version' value 4)
);
END;
/
Note sull'uso
-
Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio
EXECUTEsuDBMS_CLOUD_ADMIN. -
Per allegare un file system utilizzando
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM, è necessario disporre del privilegioWRITEsull'oggetto directory nel database. -
La procedura
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpuò collegare solo un servizio di storage di file privato nei database con endpoint privati abilitati.Per ulteriori informazioni, vedere OCI File Storage Service e Configurare un sistema di sviluppo per accedere al database.
-
La procedura
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMcerca il nome host del file system di rete nella rete cloud virtuale (VCN) del cliente. Se non è possibile individuare il nome host specificato nella posizione, viene restituito l'errore"ORA-20000: Mounting NFS fails". -
Oracle Cloud Infrastructure File Storage utilizza NFSv3 per la condivisione
-
Se ci si collega a sistemi di storage di file non Oracle Cloud Infrastructure, la procedura supporta NFSv3 e NFSv4
-
Se si dispone di un server NFS collegato che utilizza NFSv3 e la versione NFS viene aggiornata a NFSv4 nel server NFS, è necessario eseguire
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, quindiDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(utilizzando il parametroparamsconnfs_versionimpostato su 4). Questo allega NFS con il protocollo di corrispondenza in modo che Autonomous AI Database possa accedere al server NFSv4. Senza scollegare e quindi ricollegare, il server NFS sarà inaccessibile e potrebbe essere visualizzato un errore come:"Protocol not supported".
Procedura CREATE_DATABASE_LINK
Questa procedura crea un database link a un database di destinazione nello schema che richiama l'API.
I moduli sovraccaricati supportano quanto segue:
-
Quando si utilizza il parametro
gateway_params, questo consente di creare un database link con connettività eterogenea gestita da Oracle in cui il collegamento è a un database non Oracle supportato. -
Quando si utilizza il parametro
rac_hostnames, questo consente di creare un database link da un Autonomous AI Database su un endpoint privato a un database Oracle RAC di destinazione. In questo caso, si utilizza il parametrorac_hostnamesper specificare i nomi host di uno o più nodi singoli del database Oracle RAC di destinazione.
Sintassi
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name IN VARCHAR2,
hostname IN VARCHAR2,
port IN NUMBER,
service_name IN VARCHAR2,
ssl_server_cert_dn IN VARCHAR2 DEFAULT,
credential_name IN VARCHAR2 DEFAULT,
directory_name IN VARCHAR2 DEFAULT,
gateway_link IN BOOLEAN DEFAULT,
public_link IN BOOLEAN DEFAULT,
private_target IN BOOLEAN DEFAULT
gateway_params IN CLOB DEFAULT);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name IN VARCHAR2,
rac_hostnames IN CLOB,
port IN NUMBER,
service_name IN VARCHAR2,
ssl_server_cert_dn IN VARCHAR2 DEFAULT,
credential_name IN VARCHAR2 DEFAULT,
directory_name IN VARCHAR2 DEFAULT,
gateway_link IN BOOLEAN DEFAULT,
public_link IN BOOLEAN DEFAULT,
private_target IN BOOLEAN DEFAULT);
Parametri
| Parametro | Descrizione |
|---|---|
db_link_name |
Il nome del database link da creare. |
hostname |
Il nome host per il database di destinazione. Non è consentito specificare Quando si specifica una connessione alla connettività eterogenea gestita da Oracle specificando il parametro
Utilizzare questo parametro o L'input |
rac_hostnames |
Specifica i nomi host per il database Oracle RAC di destinazione. Il valore è un array JSON che specifica uno o più nomi host singoli per i nodi del database Oracle RAC di destinazione. In JSON è possibile passare più nomi host separati da un carattere " Quando la destinazione è un database Oracle RAC, utilizzare il parametro Quando si specifica un elenco di nomi host nel parametro Utilizzare questo parametro o Non è consentito specificare |
port |
Specifica la porta per le connessioni al database di destinazione. Quando si specifica una connessione alla connettività eterogenea gestita da Oracle utilizzando il parametro
|
service_name |
Quando si specifica una connessione alla connettività eterogenea gestita da Oracle utilizzando il parametro |
ssl_server_cert_dn |
Il valore DN trovato nel certificato del server. La connettività eterogenea gestita da Oracle è preconfigurata con un wallet che contiene la maggior parte dei comuni certificati SSL root e intermedi sicuri. Il valore Collegamento dell'endpoint pubblico a una destinazione di Autonomous AI Database senza wallet: Per connettersi a una destinazione Autonomous AI Database su un endpoint pubblico senza un wallet (TLS):
Collegamento endpoint privato senza wallet: Per connettersi a Oracle Database su un endpoint privato senza wallet:
|
credential_name |
Nome di una credenziale memorizzata creata con DBMS_CLOUD.CREATE_CREDENTIAL. Si tratta delle credenziali per accedere al database di destinazione. |
directory_name |
La directory del file La connettività eterogenea gestita da Oracle è preconfigurata con un wallet che contiene la maggior parte dei comuni certificati SSL root e intermedi sicuri. Il parametro Collegamento dell'endpoint pubblico a una destinazione di Autonomous AI Database senza wallet: Per connettersi a un Autonomous AI Database su un endpoint pubblico senza un wallet (TLS):
Inoltre, per connettersi a un Autonomous AI Database con TCP, il parametro Collegamento endpoint privato senza wallet: Per connettersi a un Oracle Database di destinazione su un endpoint privato senza wallet:
|
gateway_link |
Indica se il database link viene creato in un altro Oracle Database o in un Oracle Database Gateway. Se Se Quando Il valore predefinito di questo parametro è |
public_link |
Indica se il database link viene creato come database link pubblico. Per eseguire Il valore predefinito di questo parametro è |
private_target |
Quando un database link accede a un nome host da risolvere in un server DNS VCN, specificare il parametro Se Il valore predefinito di questo parametro è |
gateway_params |
Specificare il parametro con il form Ad esempio:
Se Se |
Note sull'uso
-
Quando si specifica il parametro
gateway_params, per alcuni valoridb_typesono supportati parametrigateway_paramsaggiuntivi:db_typeValori aggiuntivi di gateway_paramsgoogle_analyticsSe db_typeègoogle_analytics, la credenziale specificata deve essere una credenziale OAuth di Google(gcp_oauth2)Per ulteriori informazioni, vedere Procedura CREATE_CREDENTIAL.google_bigquerySe
db_typeègoogle_bigquery, la credenziale specificata deve essere una credenziale OAuth di Google (gcp_oauth2)Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.Se
db_typeègoogle_bigquery, il parametroprojectè valido. Questo parametro specifica il nome del progetto pergoogle_bigqueryed è obbligatorio.Il nome della tabella specificato quando si utilizza
SELECTcon Google BigQuery deve essere tra virgolette. Ad esempio:sql SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveSe db_typeèhive, il parametrohttp_pathè valido. Questo parametro specifica il valore HttpPath, se necessario, per connettersi all'istanza Hive.salesforceSe
db_typeèsalesforce, il parametro:security_tokenè valido. Un token di sicurezza è un codice alfanumerico con distinzione tra maiuscole e minuscole. Per accedere a Salesforce è necessario specificare un valoresecurity_token. Ad esempio:gateway_params => JSON_OBJECT(
'db_type' value 'salesforce',
'security_token' value 'security_token_value' )Per ulteriori informazioni, vedere Reimposta token di sicurezza.
servicenowPer connettersi a ServiceNow e ottenere i dati è necessario fornire i parametri del gateway
directory_nameefile_name. Questi parametri specificano un file modello (file di configurazione REST) che mappa la risposta JSON al modello relazionale. Il file modello specifica gli endpoint, il mapping delle tabelle e il codice di risposta HTTP per l'elaborazione della risposta JSON. Per ulteriori informazioni, vedere Sintassi dei file modello e File modello di esempio.Quando si utilizza il parametro
gateway_paramscondb_typeservicenow, sono supportate due opzioni:Autenticazione di base: è necessario fornire il parametro
gateway_paramsdb_typecon il valore'servicenow'e fornire i parametridirectory_nameefile_nameinsieme alle credenziali di tipo nome utente/password.Autenticazione OAuth 2.0: è necessario fornire il parametro
gateway_paramsdb_typecon il valore'servicenow', i parametridirectory_name,file_nameetoken_uri, insieme alle credenziali di tipo OAuth.
Il parametro
directory_namespecifica la directory con il file di configurazione REST di ServiceNow. È possibile creare questa directory come indicato di seguito.create or replace directory servicenow_dir as 'SERVICENOW_DIR';Ottenere e scaricare il file di configurazione REST ServiceNow nella directory specificata. Ad esempio:
exec DBMS_CLOUD.get_object('servicenow_dir_cred',
'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');Impostare il valore
file_namesul nome del file di configurazione REST scaricato, "servicenow.rest".È quindi possibile utilizzare il file di configurazione REST ServiceNow con autenticazione di base o OAuth2.0.
snowflakeSe
db_typeèSNOWFLAKE, sono validi i parametri facoltativirole,schemaewarehouse. Questi valori specificano uno schema, un ruolo o un valore warehouse diverso da quello predefinito. Ad esempio:gateway_params => JSON_OBJECT(
'db_type' value 'snowflake',
'role' value 'ADMIN',
'schema' value 'PUBLIC',
'warehouse' value 'TEST'
) -
Quando si utilizza il parametro
private_target, tenere presente che i collegamenti di database da un Autonomous AI Database a un servizio di database che si trova su un endpoint privato sono supportati solo nelle aree commerciali e nelle aree governative degli Stati Uniti.Questa funzione è abilitata per impostazione predefinita in tutte le aree commerciali.
Questa funzione è abilitata per impostazione predefinita nelle aree del governo degli Stati Uniti per i nuovi database di cui è stato eseguito il provisioning.
Per i database esistenti del governo degli Stati Uniti su un endpoint privato, se si desidera creare collegamenti di database da un Autonomous AI Database a una destinazione in un'area del governo degli Stati Uniti, inviare una richiesta di servizio all'indirizzo Oracle Cloud Support e richiedere di abilitare l'endpoint privato nella funzione di collegamento al database delle aree governative.
Le regioni del governo degli Stati Uniti includono quanto segue:
-
Quando si esegue la connessione a un database non Oracle, il collegamento al database è supportato solo se il database di destinazione è accessibile tramite un IP pubblico o un nome host pubblico.
-
Per eseguire
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKcon un utente diverso da ADMIN, è necessario concedere i privilegiEXECUTEeCREATE DATABASE LINKa tale utente. Ad esempio, eseguire il comando seguente come ADMIN per concedere privilegi aatpc_user:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;Inoltre, quando si crea un database link in uno schema diverso da quello ADMIN, ad esempio in uno schema denominato
atpc_user, lo schemaatpc_userdeve essere proprietario della credenziale utilizzata conDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. -
È valido un solo file wallet per ogni directory specificata con il parametro
directory_name. È possibile caricare un solo filecwallet.ssoalla volta nella directory scelta per i file wallet. Ciò significa che con uncwallet.ssoin una directory, è possibile creare solo database link ai database per i quali il wallet in tale directory è valido. Per utilizzare più filecwallet.ssocon database link è necessario creare directory aggiuntive e inserire ogni filecwallet.ssoin una directory diversa.Per informazioni sulla creazione di directory, vedere Crea directory in Autonomous AI Database.
-
Per creare un database link a un Autonomous AI Database, impostare
GLOBAL_NAMESsuFALSEnel database di origine (database AI non autonomo).ALTER SYSTEM SET GLOBAL_NAMES = FALSE;System altered.SHOW PARAMETER GLOBAL_NAMESNAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE -
Quando il parametro
private_targetèTRUE, il parametrohostnamespecifica un host privato all'interno della VCN.
Esempi
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'DB_LINK_CRED',
username => 'adb_user',
password => 'password');
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'SALESLINK',
hostname => 'adb.eu-frankfurt-1.oraclecloud.com',
port => '1522',
service_name => 'example_medium.atpc.example.oraclecloud.com',
ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
credential_name => 'DB_LINK_CRED');
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AWS_REDSHIFT_LINK_CRED',
username => 'NICK',
password => '*password*'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'AWSREDSHIFT_LINK',
hostname => 'example.com',
port => '5439',
service_name => '*example_service_name*',
ssl_server_cert_dn => NULL,
credential_name => 'AWS_REDSHIFT_LINK_CRED',
gateway_params => JSON_OBJECT('db_type' value 'awsredshift'));
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'PRIVATE_ENDPOINT_CRED',
username => 'db_user',
password => '*password*'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'PRIVATE_ENDPOINT_DB_LINK',
hostname => '*exampleHostname*',
port => '1521',
service_name => '*exampleServiceName*',
credential_name => 'PRIVATE_ENDPOINT_CRED',
ssl_server_cert_dn => NULL,
directory_name => NULL,
private_target => TRUE);
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT( 'gcp_oauth2' value JSON_OBJECT(
'client_id' value 'client_i*',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'GOOGLE_BIGQUERY_LINK',
hostname => 'example.com',
port => '443',
service_name => 'example_service_name',
credential_name => 'GOOGLE_BIGQUERY_CRED',
gateway_params => JSON_OBJECT(
'db_type' value 'google_bigquery',
'project' value 'project_name1' ));
END;
/
Il nome della tabella specificato quando si utilizza SELECT con Google BigQuery o Google Analytics deve essere tra virgolette. Ad esempio:
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Utilizzare il parametro rac_hostnames con un database Oracle RAC di destinazione su un endpoint privato.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'DB_LINK_CRED1',
username => 'adb_user',
password => 'password');
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'SALESLINK',
rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com",
"sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
"sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
port => '1522',
service_name => 'example_high.adb.oraclecloud.com',
ssl_server_cert_dn => 'CN=adb.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
credential_name => 'DB_LINK_CRED1',
directory_name => 'EXAMPLE_WALLET_DIR',
private_target => TRUE);
END;
/
Procedura DETACH_FILE_SYSTEM
Questa procedura scollega un file system dal database.
La procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM scollega un file system dal database. Inoltre, la procedura DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM rimuove le informazioni relative al file system anche dalla vista DBA_CLOUD_FILE_SYSTEMS.
Sintassi
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM(
file_system_name IN VARCHAR2
);
Parametri
| Parametro | Descrizione |
|---|---|
file_system_name |
Specifica il nome del file system. Questo parametro è obbligatorio. |
Esempio
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'FSS'
);
END;
/
Note sull'uso
-
Per eseguire questa procedura, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio
EXECUTEsuDBMS_CLOUD_ADMIN. -
Per scollegare un file system da una directory utilizzando la procedura
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, è necessario disporre del privilegioWRITEsull'oggetto directory nel database. -
La procedura
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMpuò scollegare un servizio di storage di file privato solo nei database con endpoint privati abilitati.Per ulteriori informazioni, vedere OCI File Storage Service e Configurare un sistema di sviluppo per accedere al database.
-
La procedura
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMcerca il nome host del file system di rete nella rete cloud virtuale (VCN) del cliente. Se non è possibile individuare il nome host specificato nella posizione, viene restituito l'errore"ORA-20000: Mounting NFS fails".
Procedura DISABLE_EXTERNAL_AUTHENTICATION
Disabilita l'autenticazione utente con schemi di autenticazione esterni per il database.
Sintassi
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
Eccezioni
| Eccezione | Errore | Descrizione |
|---|---|---|
invalid_ext_auth |
ORA-20004 |
Vedere il messaggio di accompagnamento per una spiegazione dettagliata. |
Esempio
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
PL/SQL procedure successfully completed.
Procedura DROP_DATABASE_LINK
Questa procedura elimina un database link.
Sintassi
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
db_link_name IN VARCHAR2,
public_link IN BOOLEAN DEFAULT);
Parametri
| Parametro | Descrizione |
|---|---|
db_link_name |
Il nome del database link da eliminare. |
public_link |
Per eseguire Il valore predefinito di questo parametro è |
Esempio
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
db_link_name => 'SALESLINK' );
END;
/
Note sull'uso
Al termine dell'uso di un database link ed esecuzione di DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK, per garantire la sicurezza del database Oracle, rimuovere tutti i file wallet memorizzati. Ad esempio:
- Rimuovere il file wallet nell'area di memorizzazione degli oggetti.
- Utilizzare
DBMS_CLOUD.DELETE_FILEper rimuovere il file wallet dalla directorydata_pump_diro dalla directory definita dall'utente in cui è stato caricato il file wallet.
Procedura ENABLE_EXTERNAL_AUTHENTICATION
Consente agli utenti di eseguire il login al database con schemi di autenticazione esterni.
Sintassi
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
Parametri
| Parametro | Descrizione |
|---|---|
type |
Specifica il tipo di autenticazione esterna. Valori validi: o .
|
force |
(Facoltativo) Eseguire l'override di uno schema di autenticazione esterna attualmente abilitato. I valori validi sono Il valore predefinito è |
params |
Stringa JSON che fornisce parametri aggiuntivi per l'autenticazione esterna. Parametri
Parametri
Parametri
|
Eccezioni
| Eccezione | Errore | Descrizione |
|---|---|---|
invalid_ext_auth |
ORA-20004 |
Vedere il messaggio di accompagnamento per una spiegazione dettagliata. |
Note sull'uso
-
Con
typeOCI_IAM, se il principal risorsa non è abilitato nell'istanza di Autonomous AI Database, questa routine abilita il principal risorsa conDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Questa procedura imposta i parametri di sistema
IDENTITY_PROVIDER_TYPEeIDENTITY_PROVIDER_CONFIGagli utenti richiesti per accedere all'istanza con l'autenticazione e l'autorizzazione di Oracle Cloud Infrastructure Identity and Access Management.
Esempi
Esempio: abilitazione dell'autenticazione OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force=> TRUE );
END;
/
Esempio: abilitazione dell'autenticazione CMU per Microsoft Active Directory
Si passa in un nome di directory che contiene i file di configurazione CMU tramite l'argomento JSON params.
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'CMU',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'CMU_DIR'); // CMU_DIR directory object already exists
END;
/
Si passa un URI di posizione che punta a una posizione di storage degli oggetti che contiene i file di configurazione CMU tramite l'argomento JSON params.
BEGIN
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'CMU',
params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
'credential_name' value 'my_credential_name')
);
END;
/
Esempio: Abilita autenticazione Azure AD
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'AZURE_AD',
force => TRUE,
params => JSON_OBJECT( 'tenant_id' VALUE '....',
'application_id' VALUE '...',
'application_id_uri' VALUE '.....' ));
END;
/
Esempio: abilita autenticazione Kerberos
Si passa in un nome di directory che contiene i file di configurazione Kerberos mediante l'argomento JSON params.
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR'); // KERBEROS_DIR directory object already exists
END;
/
Si passa in un URI di posizione che punta a una posizione di storage degli oggetti che contiene i file di configurazione Kerberos tramite l'argomento JSON params:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
'credential_name' value 'my_credential_name');
END;
/
Si passa un nome di servizio con kerberos_service_name nell'argomento JSON params:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR', // KERBEROS_DIR directory object already exists
'kerberos_service_name' value 'oracle' ));
END;
/
Dopo aver abilitato Kerberos nell'istanza di Autonomous AI Database, utilizzare la query seguente per visualizzare il nome del servizio Kerberos:
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
Eccezioni DBMS_CLOUD_ADMIN
Nella tabella seguente vengono descritte le eccezioni per DBMS_CLOUD_ADMIN.
| Eccezione | Codice | Descrizione |
|---|---|---|
invalid_service |
20.001 | Il servizio specificato non è valido. |
service_not_exist |
20.002 | Il servizio specificato non esiste. |
default_service |
20.003 | Impossibile modificare un servizio specificato. |
invalid_char_set |
20.029 | Precondizione mancante o set di caratteri (nazionale) non valido. |
invalid_enc_key_attr |
20.030 | Argomento mancante o non valido per la gestione delle chiavi. |
Already Using Oracle Managed Key |
0 | Il database sta già utilizzando una chiave gestita da Oracle. Si sta tentando di chiamare la procedura mentre si sta già utilizzando una chiave gestita da Oracle. |
Argument Provided for the procedure |
ORA-0000 | Viene fornito un argomento per la procedura. Messaggio di errore previsto: nessun argomento richiesto per questa procedura. |