Package DBMS_CLOUD_ADMIN
Cette section traite des sous-programmes DBMS_CLOUD_ADMIN
fournis avec Autonomous Database.
Sous-programme | Description |
---|---|
Cette procédure joint un système de fichiers dans un répertoire de votre base de données. |
|
Cette procédure crée un lien de base de données vers une base de données cible. Vous pouvez créer un lien de base de données vers une autre instance Autonomous Database, vers une instance Oracle Database qui n'est pas une instance Autonomous Database ou vers une instance autre qu'Oracle Database à l'aide de la connectivité hétérogène gérée par Oracle. |
|
Cette procédure détache un système de fichiers d'un répertoire de votre base de données. |
|
Cette procédure désactive l'authentification externe pour l'instance Autonomous Database. |
|
Cette procédure supprime un lien de base de données. |
|
Cette procédure permet à un utilisateur d'ouvrir une session Autonomous Database à l'aide du modèle d'authentification externe indiqué. |
Procédure ATTACH_FILE_SYSTEM
Cette procédure joint un système de fichiers dans la base de données.
La procédure DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
joint un système de fichiers dans la base de données et stocke les informations sur le système de fichiers dans la vue DBA_CLOUD_FILE_SYSTEMS
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Indique le nom du système de fichiers. Ce paramètre est obligatoire. |
|
Indique l'emplacement du système de fichiers. La valeur que vous fournissez avec Exemple :
Ce paramètre est obligatoire. |
|
Spécifie le nom du répertoire du système de fichiers joint. Ce répertoire doit être créé. Ce paramètre est obligatoire. |
|
(Facultatif) Fournit une description de la tâche. |
|
Chaîne JSON qui fournit un paramètre supplémentaire pour le système de fichiers.
|
Exemples :
Attachez-le à un système de fichiers 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;
/
Attachez-le à un système de fichiers 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;
/
Remarques sur l'utilisation
-
Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège
EXECUTE
surDBMS_CLOUD_ADMIN
. -
Vous devez disposer du privilège
WRITE
sur l'objet de répertoire dans la base de données pour attacher un système de fichiers à l'aide deDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
. -
La procédure
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
peut uniquement attacher un service File Storage privé dans les bases de données pour lesquelles les adresses privées sont activées.Pour plus d'informations, reportez-vous à Service OCI File Storage et à Configuration d'un système de développement pour accéder à la base de données.
-
La procédure
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
recherche le nom d'hôte du système de fichiers réseau sur le réseau cloud virtuel (VCN) du client. L'erreur"ORA-20000: Mounting NFS fails"
est renvoyée si le nom d'hôte spécifié dans l'emplacement ne peut pas être localisé. -
Oracle Cloud Infrastructure File Storage utilise NFSv3 pour le partage
-
Si vous êtes attaché à des systèmes autres qu'Oracle Cloud Infrastructure File Storage, la procédure prend en charge NFSv3 et NFSv4
-
Si vous disposez d'un serveur NFS connecté qui utilise NFSv3 et que la version NFS est mise à jour vers NFSv4 dans le serveur NFS, vous devez exécuter
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
, puisDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(à l'aide du paramètreparams
avecnfs_version
défini sur 4). Cette opération attache NFS avec le protocole correspondant afin qu'Autonomous Database puisse accéder au serveur NFSv4. Sans détachement puis rattachement, le serveur NFS sera inaccessible et vous risquez de voir une erreur telle que :"Protocol not supported"
.
Procédure CREATE_DATABASE_LINK
Les formulaires surchargés prennent en charge les éléments suivants :
-
Lorsque vous utilisez le paramètre
gateway_params
, cela vous permet de créer un lien de base de données avec une connectivité hétérogène gérée par Oracle où le lien est vers une base de données autre qu'Oracle prise en charge. -
Lorsque vous utilisez le paramètre
rac_hostnames
, cela vous permet de créer un lien de base de données d'une Autonomous Database sur une adresse privée vers une base de données Oracle RAC cible. Dans ce cas, vous utilisez le paramètrerac_hostnames
pour indiquer les noms d'hôte des noeuds individuels de la base de données Oracle RAC cible.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom du lien de base de données à créer. |
|
Nom d'hôte pour la base de données cible. La spécification de Lorsque vous indiquez une connexion avec une connectivité hétérogène gérée par Oracle en fournissant le paramètre
Utilisez ce paramètre ou L'entrée |
|
Spécifie les noms d'hôte de la base de données Oracle RAC cible. La valeur est un tableau JSON qui indique des noms d'hôte individuels pour les noeuds de la base de données Oracle RAC cible. Plusieurs noms d'hôte peuvent être transmis au format JSON, séparés par un "
Lorsque la cible est une base de données Oracle RAC, utilisez le paramètre Lorsque vous indiquez la liste des noms d'hôte dans le paramètre Utilisez ce paramètre ou La spécification de |
port |
Indique le port pour les connexions à la base de données cible. Lorsque vous indiquez une connexion avec une connectivité hétérogène gérée par Oracle à l'aide du paramètre
|
|
Lorsque vous indiquez une connexion avec une connectivité hétérogène gérée par Oracle à l'aide du paramètre |
ssl_server_cert_dn |
Valeur de nom distinctif trouvée dans le certificat de serveur. La connectivité hétérogène gérée par Oracle est préconfigurée avec un portefeuille qui contient la plupart des certificats SSL intermédiaires et racine sécurisés les plus courants. La valeur Lien d'adresse publique vers une cible Autonomous Database sans portefeuille : Pour vous connecter à une cible Autonomous Database sur une adresse publique sans portefeuille (TLS), procédez comme suit :
Lien d'adresse privée sans portefeuille : Pour vous connecter à Oracle Database sur une adresse privée sans portefeuille, procédez comme suit :
|
credential_name |
Nom d'informations d'identification stockées, créées avec |
directory_name |
Répertoire du fichier La connectivité hétérogène gérée par Oracle est préconfigurée avec un portefeuille qui contient la plupart des certificats SSL intermédiaires et racine sécurisés les plus courants. Le paramètre Lien d'adresse publique vers une cible Autonomous Database sans portefeuille : Pour vous connecter à une instance Autonomous Database sur une adresse publique sans portefeuille (TLS), procédez comme suit :
En outre, pour se connecter à une instance Autonomous Database avec TCP, le paramètre Lien d'adresse privée sans portefeuille : Pour vous connecter à une base de données Oracle Database cible sur une adresse privée sans portefeuille, procédez comme suit :
|
gateway_link |
Indique si le lien de base de données est créé vers une autre base de données Oracle ou vers une passerelle de base de données Oracle. Si Si Lorsque La valeur par défaut de ce paramètre est |
public_link |
Indique si le lien de base de données est créé en tant que lien de base de données public. Pour exécuter La valeur par défaut de ce paramètre est |
private_target |
Lorsqu'un lien de base de données accède à un nom d'hôte qui doit être résolu dans le serveur DNS d'un réseau cloud virtuel, indiquez le paramètre Lorsque La valeur par défaut de ce paramètre est |
|
Indiquez le paramètre avec le formulaire Exemple :
Lorsque Lorsque |
Remarques sur l'utilisation
-
Lorsque vous indiquez le paramètre
gateway_params
, pour certaines valeursdb_type
, des paramètresgateway_params
supplémentaires sont pris en charge :db_type
Valeurs gateway_params
supplémentairesgoogle_analytics
Lorsque la valeur
db_type
estgoogle_analytics
, les informations d'identification que vous indiquez doivent être des informations d'identification Google OAuth (gcp_oauth2)
Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL).google_bigquery
Lorsque la valeur
db_type
estgoogle_bigquery
, les informations d'identification que vous indiquez doivent être des informations d'identification Google OAuth (gcp_oauth2)
Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL).Lorsque
db_type
a la valeurgoogle_bigquery
, le paramètreproject
est valide. Ce paramètre indique le nom de projet pourgoogle_bigquery
et est obligatoire.Le nom de table que vous indiquez lorsque vous utilisez
SELECT
avec Google BigQuery doit être entre guillemets. Exemple :SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
hive
Lorsque
db_type
a la valeurhive
, le paramètrehttp_path
est valide. Ce paramètre indique la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.salesforce
Lorsque la valeur
db_type
estsalesforce
, le paramètresecurity_token
est valide. Un jeton de sécurité est un code alphanumérique sensible à la casse. Vous devez fournir une valeursecurity_token
pour accéder à Salesforce. Exemple :gateway_params => JSON_OBJECT( 'db_type' value 'salesforce', 'security_token' value 'security_token_value' )
Pour plus d'informations, reportez-vous à Réinitialisation du jeton de sécurité.
servicenow
Pour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle
directory_name
etfile_name
. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier de modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe des fichiers de modèle et Exemple de fichier de modèle.Lorsque vous utilisez le paramètre
gateway_params
avecdb_type
servicenow
, deux options sont prises en charge :-
Authentification de base : vous devez fournir le paramètre
gateway_params
db_type
avec la valeur'servicenow'
, et fournir les paramètresdirectory_name
etfile_name
avec les informations d'identification de type nom utilisateur/mot de passe. -
Authentification OAuth 2.0 : vous devez fournir au paramètre
gateway_params
db_type
la valeur'servicenow'
, ainsi que les paramètresdirectory_name
,file_name
ettoken_uri
, ainsi que les informations d'identification de type OAuth.
Le paramètre
directory_name
indique le répertoire avec le fichier de configuration REST ServiceNow. Vous pouvez créer ce répertoire comme suit :create or replace directory servicenow_dir as 'SERVICENOW_DIR';
Obtenez et téléchargez le fichier de configuration REST ServiceNow vers le répertoire indiqué. Exemple :
exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');
Définissez la valeur
file_name
sur le nom du fichier de configuration REST téléchargé, "servicenow.rest
".Vous pouvez ensuite utiliser le fichier de configuration REST ServiceNow avec l'authentification de base ou OAuth2.0.
snowflake
Lorsque la valeur
db_type
estSNOWFLAKE
, les paramètres facultatifsrole
,schema
etwarehouse
sont valides. Ces valeurs indiquent une valeur de schéma, de rôle ou d'entrepôt différente de la valeur par défaut. Exemple :gateway_params => JSON_OBJECT( 'db_type' value 'snowflake', 'role' value 'ADMIN', 'schema' value 'PUBLIC', 'warehouse' value 'TEST' )
-
-
Lorsque vous utilisez le paramètre
private_target
, les liens de base de données d'Autonomous Database vers un service de base de données situé sur une adresse privée ne sont pris en charge que dans les régions commerciales et les régions US Government.Cette fonctionnalité est activée par défaut dans toutes les régions commerciales.
Cette fonctionnalité est activée par défaut dans les régions US Government pour les bases de données nouvellement provisionnées.
Pour les bases de données US Government existantes situées sur une adresse privée, si vous voulez créer des liens de base de données d'une instance Autonomous Database vers une cible dans une région US Government, enregistrez une demande de service auprès du support technique Oracle Cloud et demandez l'activation de l'adresse privée dans la fonctionnalité de liaison de base de données des régions gouvernementales.
Les régions US Government sont les suivantes :
- Lors de la connexion à une base de données autre qu'Oracle, la liaison de base de données est prise en charge uniquement si la base de données cible est accessible via une adresse IP publique ou un nom d'hôte public.
-
Pour exécuter
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
avec un utilisateur autre qu'ADMIN, vous devez accorder à cet utilisateur les privilègesEXECUTE
etCREATE DATABASE LINK
.Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder des privilèges àatpc_user
:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;
De plus, lorsque vous créez un lien de base de données dans un schéma autre que le schéma ADMIN, par exemple dans un schéma nommé
atpc_user
, le schémaatpc_user
doit posséder les informations d'identification que vous utilisez avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
. -
Un seul fichier de portefeuille est valide par répertoire indiqué avec le paramètre
directory_name
. Vous ne pouvez télécharger qu'un seul fichiercwallet.sso
à la fois vers le répertoire choisi pour les fichiers de portefeuille. Ainsi, avec un fichiercwallet.sso
dans un répertoire, vous pouvez uniquement créer des liens de base de données vers les bases de données pour lesquelles le portefeuille de ce répertoire est valide. Pour utiliser plusieurs fichierscwallet.sso
avec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichiercwallet.sso
dans un répertoire différent.Pour plus d'informations sur la création de répertoires, reportez-vous à Création d'un répertoire dans Autonomous Database.
-
Pour créer un lien de base de données vers une instance Autonomous Database, définissez
GLOBAL_NAMES
surFALSE
sur la base de données source (autre qu'Autonomous Database).SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE; System altered. SQL> SHOW PARAMETER GLOBAL_NAMES NAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE
-
Lorsque le paramètre
private_target
est défini surTRUE
, le paramètrehostname
indique un hôte privé dans le réseau cloud virtuel.
Exemples
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_id',
'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;
/
Le nom de table que vous indiquez lorsque vous utilisez SELECT
avec Google BigQuery ou Google Analytics doit être entre guillemets. Exemple :
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Utilisez le paramètre rac_hostnames
avec une base de données Oracle RAC cible sur une adresse privée.
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;
/
Procédure DETACH_FILE_SYSTEM
Cette procédure détache un système de fichiers de la base de données.
La procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
détache un système de fichiers de votre base de données. En outre, la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
supprime également les informations sur le système de fichiers de la vue DBA_CLOUD_FILE_SYSTEMS
.
Syntaxe
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name IN VARCHAR2
);
Paramètres
Paramètre | Description |
---|---|
|
Indique le nom du système de fichiers. Ce paramètre est obligatoire. |
Par exemple :
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name => 'FSS'
);
END;
/
Remarques sur l'utilisation
-
Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège
EXECUTE
surDBMS_CLOUD_ADMIN
. -
Vous devez disposer du privilège
WRITE
sur l'objet de répertoire dans la base de données pour détacher un système de fichiers d'un répertoire à l'aide de la procédureDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
. -
La procédure
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
peut uniquement détacher un service File Storage privé dans les bases de données pour lesquelles les adresses privées sont activées.Pour plus d'informations, reportez-vous à Service OCI File Storage et à Configuration d'un système de développement pour accéder à la base de données.
-
La procédure
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
recherche le nom d'hôte du système de fichiers réseau sur le réseau cloud virtuel (VCN) du client. L'erreur"ORA-20000: Mounting NFS fails"
est renvoyée si le nom d'hôte spécifié dans l'emplacement ne peut pas être localisé.
Procédure DISABLE_EXTERNAL_AUTHENTICATION
Désactive l'authentification des utilisateurs avec des modèles d'authentification externes pour la base de données.
Syntaxe
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Reportez-vous au message associé pour obtenir une explication détaillée. |
Exemple
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
END;
/
PL/SQL procedure successfully completed.
Procédure DROP_DATABASE_LINK
Cette procédure supprime un lien de base de données.
Syntaxe
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name IN VARCHAR2,
public_link IN BOOLEAN DEFAULT);
Paramètres
Paramètre | Description |
---|---|
|
Nom du lien de base de données à supprimer. |
|
Pour exécuter La valeur par défaut de ce paramètre est |
Exemple
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name => 'SALESLINK' );
END;
/
Remarques sur l'utilisation
Après avoir utilisé un lien de base de données et exécuté DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
, pour assurer la sécurité de votre base de données Oracle, enlevez les fichiers de portefeuille stockés. Exemple :
-
Enlevez le fichier de portefeuille dans la banque d'objets.
-
Utilisez
DBMS_CLOUD.DELETE_FILE
pour enlever le fichier de portefeuille du répertoiredata_pump_dir
ou du répertoire défini par l'utilisateur dans lequel le fichier de portefeuille a été téléchargé.
Procédure ENABLE_EXTERNAL_AUTHENTICATION
Permettez aux utilisateurs de se connecter à la base de données avec des modèles d'authentification externes.
Syntaxe
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
Paramètre
Paramètre | Description |
---|---|
|
Indique le type d'authentification externe. Valeurs valides : ou .
|
|
(Facultatif) Remplace un modèle d'authentification externe actuellement activé. Les valeurs valides sont La valeur par défaut est |
params |
Chaîne JSON fournissant des paramètres supplémentaires pour l'authentification externe. Paramètres
Paramètres
Paramètres
|
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Reportez-vous au message associé pour obtenir une explication détaillée. |
Remarques sur l'utilisation
-
Avec le
type
OCI_IAM
, si le principal de ressource n'est pas activé sur l'instance Autonomous Database, cette routine active le principal de ressource avecDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
Cette procédure définit les paramètres système
IDENTITY_PROVIDER_TYPE
etIDENTITY_PROVIDER_CONFIG
sur les utilisateurs requis pour accéder à l'instance avec l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management.
Exemples
Activation de l'authentification OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'OCI_IAM',
force=> TRUE );
END;
/
PL/SQL procedure successfully completed.
Activation de l'authentification CMU
pour Microsoft Active Directory
Transmettez un nom de répertoire contenant les fichiers de configuration de la fonctionnalité Utilisateurs gérés centralement via l'argument 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;
/
PL/SQL procedure successfully completed.
Transmettez un URI d'emplacement pointant vers un emplacement Object Storage contenant les fichiers de configuration de la fonctionnalité Utilisateurs gérés centralement via l'argument 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;
/
PL/SQL procedure successfully completed.
Activation de l'authentification 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;
/
PL/SQL procedure successfully completed.
Activation de l'authentification Kerberos
Transmettez un nom de répertoire contenant les fichiers de configuration Kerberos via l'argument 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;
/
PL/SQL procedure successfully completed.
Vous transmettez un URI d'emplacement pointant vers un emplacement Object Storage qui contient des fichiers de configuration Kerberos via l'argument 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;
/
Vous transmettez un nom de service avec kerberos_service_name
dans l'argument 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;
/
Une fois que Kerberos est activé sur votre instance Autonomous Database, utilisez la requête suivante pour afficher le nom de service Kerberos :
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
Exceptions DBMS_CLOUD_ADMIN
Le tableau suivant décrit les exceptions pour DBMS_CLOUD_ADMIN
.
Exception | d'enregistrement | Description |
---|---|---|
invalid_service |
20 001 | Le service indiqué n'est pas valide. |
service_not_exist |
20 002 | Le service indiqué n'existe pas. |
default_service |
20 003 | Le service indiqué ne peut pas être modifié. |
invalid_char_set |
20 029 | Condition préalable manquante ou jeu de caractères (national) non valide. |
invalid_enc_key_attr |
20 030 | Un argument est manquant ou n'est pas valide pour la gestion des clés. |
Already Using Oracle Managed Key |
0 |
La base de données utilise déjà une clé gérée par Oracle. Vous essayez d'appeler la procédure alors que vous utilisez déjà une clé gérée par Oracle. |
Argument Provided for the procedure |
ORA-0000 |
Un argument est indiqué pour la procédure. Message d'erreur attendu : No arguments required for cette procédure. |