Ensemble DBMS_CLOUD_ADMIN
Cette section couvre les 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. Il existe des options pour créer un lien de base de données vers une autre instance Autonomous Database, vers une base Oracle Database qui n'est pas une base Autonomous Database ou vers une base non Oracle Database à l'aide d'une 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 de base de données autonome. |
|
Cette procédure supprime un lien de base de données. |
|
Cette procédure permet à un utilisateur de se connecter à la base de données autonome à l'aide du modèle d'authentification externe spécifié. |
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
associe un système de fichiers dans votre base de données et stocke des 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 |
---|---|
|
Spécifie 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 Par exemple :
Ce paramètre est obligatoire. |
|
Indique le nom du répertoire du système de fichiers joint. Le répertoire doit exister. Ce paramètre est obligatoire. |
|
Fournit une description de la tâche (facultatif). |
|
Chaîne JSON qui fournit un paramètre supplémentaire pour le système de fichiers.
|
Exemples :
Attacher à 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;
/
Attacher à 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;
/
Notes d'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
ne peut attacher un service de stockage de fichiers privé que dans les bases de données pour lesquelles les points d'extrémité privés sont activés.Pour plus d'informations, voir Service de stockage de fichiers OCI et Configurer 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 en nuage virtuel (VCN) du client. L'erreur"ORA-20000: Mounting NFS fails"
est retournée si le nom d'hôte spécifié dans l'emplacement ne peut pas être localisé. -
Le service de stockage de fichiers pour Oracle Cloud Infrastructure utilise NFSv3 pour le partage
-
Si vous l'associez à des systèmes autres que le service de stockage de fichiers pour Oracle Cloud Infrastructure, la procédure prend en charge NFSv3 et NFSv4
-
Si vous avez un serveur NFS attaché qui utilise NFSv3 et que la version NFS est mise à jour à 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
réglé à 4). Cette opération associe NFS au protocole de mise en correspondance afin qu'Autonomous Database puisse accéder au serveur NFSv4. Sans le détachement, puis le rattachement, le serveur NFS sera inaccessible et vous verrez peut-être 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 à l'aide de la connectivité hétérogène gérée par Oracle, où le lien est vers une base de données non 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 à partir d'une base Autonomous Database sur un point d'extrémité privé vers une base de données Oracle RAC cible. Dans ce cas, vous utilisez le paramètrerac_hostnames
pour spécifier les noms d'hôte d'un ou de plusieurs 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 de la base de données cible. La spécification de Lorsque vous spécifiez une connexion avec la connectivité hétérogène gérée par Oracle en fournissant le paramètre
Utilisez ce paramètre ou L'entrée |
|
Indique les noms d'hôte de la base de données Oracle RAC cible. La valeur est un tableau JSON qui indique un ou plusieurs 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 dans JSON, séparés par un "
Lorsque la cible est une base de données Oracle RAC, utilisez le paramètre Lorsque vous spécifiez une liste de 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 spécifiez une connexion avec la connectivité hétérogène gérée par Oracle à l'aide du paramètre
|
|
Lorsque vous spécifiez une connexion avec la 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 du 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 racines et intermédiaires approuvés courants. La valeur de Lien de point d'extrémité public vers une cible Autonomous Database sans portefeuille : Pour vous connecter à une cible Autonomous Database sur un point d'extrémité public sans portefeuille (TLS) :
Lien de point d'extrémité privé sans portefeuille : Pour vous connecter à Oracle Database sur un point d'extrémité privé sans portefeuille :
|
credential_name |
Nom de données 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 racines et intermédiaires approuvés courants. Le paramètre Lien de point d'extrémité public vers une cible Autonomous Database sans portefeuille : Pour vous connecter à une base de données Autonomous Database sur un point d'extrémité public sans portefeuille (TLS) :
De plus, pour vous connecter à une base de données Autonomous Database avec TCP, le paramètre Lien de point d'extrémité privé sans portefeuille : Pour vous connecter à une base de données Oracle Database cible sur un point d'extrémité privé sans portefeuille :
|
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 Oracle Database. 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 un serveur DNS du VCN, spécifiez le paramètre Lorsque La valeur par défaut de ce paramètre est |
|
Spécifiez le paramètre avec le formulaire Par exemple :
Lorsque Lorsque |
Notes d'utilisation
-
Lorsque vous spécifiez 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
db_type
estgoogle_analytics
, les données d'identification que vous spécifiez doivent être des données d'identification Google OAuth (gcp_oauth2)
Voir Procédure CREATE_CREDENTIAL pour plus d'informations.google_bigquery
Lorsque
db_type
estgoogle_bigquery
, les données d'identification que vous spécifiez doivent être des données d'identification Google OAuth (gcp_oauth2)
Voir Procédure CREATE_CREDENTIAL pour plus d'informations.Lorsque
db_type
a la valeurgoogle_bigquery
, le paramètreproject
est valide. Ce paramètre spécifie le nom du projet pourgoogle_bigquery
et est requis.Le nom de table que vous spécifiez lorsque vous utilisez
SELECT
avec Google BigQuery doit être entre guillemets. Par exemple :SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
hive
Lorsque
db_type
a la valeurhive
, le paramètrehttp_path
est valide. Ce paramètre spécifie la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.salesforce
Lorsque
db_type
estsalesforce
, le paramètre :security_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. Par exemple :gateway_params => JSON_OBJECT( 'db_type' value 'salesforce', 'security_token' value 'security_token_value' )
Pour plus d'informations, voir Réinitialiser votre 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 mappe la réponse JSON au modèle relationnel. Le fichier de modèle spécifie les points d'extrémité, le mappage de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, voir Syntaxe de fichier 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 données d'identification de type nom d'utilisateur/mot de passe. -
Authentification OAuth 2.0 : Vous devez fournir le paramètre
gateway_params
db_type
avec la valeur'servicenow'
et les paramètresdirectory_name
,file_name
ettoken_uri
, ainsi que les données d'identification de type OAuth.
Le paramètre
directory_name
spécifie 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 dans le répertoire spécifié. Par exemple :
exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');
Réglez la valeur
file_name
au nom du fichier de configuration REST que vous avez 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
db_type
a la valeurSNOWFLAKE
, les paramètres facultatifs :role
,schema
etwarehouse
sont valides. Ces valeurs indiquent un schéma, un rôle ou une valeur d'entrepôt différent de la valeur par défaut. Par 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
, notez que les liens de base de données d'une base Autonomous Database vers un service de base de données situé sur un point d'extrémité privé ne sont pris en charge que dans les régions commerciales et les régions gouvernementales des États-Unis.Cette fonction est activée par défaut dans toutes les régions commerciales.
Cette fonction est activée par défaut dans les régions gouvernementales des États-Unis pour les nouvelles bases de données provisionnées.
Pour les bases de données gouvernementales des États-Unis existantes situées sur un point d'extrémité privé, si vous voulez créer des liens entre une base de données autonome et une cible dans une région gouvernementale des États-Unis, vous pouvez soumettre une demande de service sur Oracle Cloud Support et demander l'activation de la fonction de liaison entre le point d'extrémité et les bases de données des régions gouvernementales.
Les régions gouvernementales des États-Unis sont les suivantes :
- Lors de la connexion à une base de données non Oracle, la création de liens de base de données n'est prise en charge que si la base de données cible est accessible au moyen d'une adresse IP publique ou d'un nom d'hôte public.
-
Pour exécuter
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
avec un utilisateur autre qu'ADMIN, vous devez accorder les privilègesEXECUTE
etCREATE DATABASE LINK
à cet utilisateur.Par exemple, exécutez la commande suivante en tant qu'administrateur pour accorder les 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 données d'identification que vous utilisez avecDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
. -
Un seul fichier de portefeuille est valide par répertoire spécifié avec le paramètre
directory_name
. Vous ne pouvez charger qu'un seul fichiercwallet.sso
à la fois dans le répertoire que vous choisissez pour les fichiers de portefeuille. Autrement dit, lorsquecwallet.sso
se trouve 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.Voir Créer un répertoire dans la base de données autonome pour plus d'informations sur la création de répertoires.
-
Pour créer un lien de base de données vers une base de données autonome, réglez
GLOBAL_NAMES
àFALSE
dans la base de données source (qui n'est pas une base de données autonome).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 réglé àTRUE
, le paramètrehostname
spécifie un hôte privé dans le VCN.
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 spécifiez lorsque vous utilisez SELECT
avec Google BigQuery ou Google Analytics doit être entre guillemets. Par exemple :
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Utilisez le paramètre rac_hostnames
avec une base de données Oracle RAC cible sur un point d'extrémité privé.
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 |
---|---|
|
Spécifie le nom du système de fichiers. Ce paramètre est obligatoire. |
Exemple :
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name => 'FSS'
);
END;
/
Notes d'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
ne peut détacher un service de stockage de fichiers privé que dans les bases de données pour lesquelles les points d'extrémité privés sont activés.Pour plus d'informations, voir Service de stockage de fichiers OCI et Configurer 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 en nuage virtuel (VCN) du client. L'erreur"ORA-20000: Mounting NFS fails"
est retourné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 à l'aide de modèles d'authentification externes pour la base de données.
Syntaxe
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
Exceptions
Exception | Error | Description |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Consultez le message d'accompagnement 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;
/
Notes d'utilisation
Une fois que vous avez terminé d'utiliser un lien de base de données et que vous avez exécuté DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
, pour garantir la sécurité de votre base de données Oracle, supprimez tous les fichiers de portefeuille stockés. Par exemple :
-
Supprimez le fichier de portefeuille du magasin d'objets.
-
Utilisez
DBMS_CLOUD.DELETE_FILE
pour supprimer 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é chargé.
Procédure ENABLE_EXTERNAL_AUTHENTICATION
Permet aux utilisateurs de se connecter à la base de données à l'aide de 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 :
|
|
(Facultatif) Remplace un modèle d'authentification externe actuellement activé. Les valeurs valides sont La valeur par défaut est |
params |
Chaîne JSON qui fournit des paramètres supplémentaires pour l'authentification externe. Paramètres
Paramètres
Paramètres
|
Exceptions
Exception | Error | Description |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Consultez le message d'accompagnement pour obtenir une explication détaillée. |
Notes d'utilisation
-
Avec le
type
OCI_IAM
, si le principal de ressource n'est pas activé dans l'instance de base de données autonome, ce sous-programme active le principal de ressource avecDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
Cette procédure règle les paramètres de système
IDENTITY_PROVIDER_TYPE
etIDENTITY_PROVIDER_CONFIG
aux utilisateurs requis pour accéder à l'instance avec l'authentification et l'autorisation du service de gestion des identités et des accès pour Oracle Cloud Infrastructure.
Exemples
Activer l'authentification OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'OCI_IAM',
force=> TRUE );
END;
/
PL/SQL procedure successfully completed.
Activer l'authentification CMU
pour Microsoft Active Directory
Vous transmettez un nom de répertoire contenant les fichiers de configuration CMU au moyen de 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.
Vous transmettez un URI d'emplacement pointant vers un emplacement de stockage d'objets qui contient les fichiers de configuration CMU au moyen de 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.
Activer 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.
Activer l'authentification Kerberos
Vous transmettez un nom de répertoire qui contient les fichiers de configuration Kerberos au moyen de 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 de stockage d'objets qui contient des fichiers de configuration Kerberos au moyen de 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 Kerberos activé sur votre instance Autonomous Database, utilisez l'interrogation suivante pour voir le nom du service Kerberos :
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
DBMS_CLOUD_ADMIN Exceptions
Le tableau suivant décrit les exceptions pour DBMS_CLOUD_ADMIN
.
Exception | Code | Description |
---|---|---|
invalid_service |
20,001 | Un service non valide a été indiqué. |
service_not_exist |
20,002 | Un service spécifié n'existe pas. |
default_service |
20,003 | Un service spécifié ne peut pas être modifié. |
invalid_char_set |
20,029 | Condition manquante ou jeu de caractères non valide (national). |
invalid_enc_key_attr |
20,030 | Argument manquant ou non 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 tentez d'appeler la procédure alors que vous utilisez déjà une clé gérée par Oracle. |
Argument Provided for the procedure |
ORA-000 |
Un argument est fourni pour la procédure. Message d'erreur attendu : Aucun argument n'est requis pour cette procédure. |