Ensemble DBMS_CLOUD_ADMIN
Cette section décrit les sous-programmes DBMS_CLOUD_ADMIN fournis avec Autonomous AI Database.
| Sous-programme | Description |
|---|---|
| Procédure ATTACH_FILE_SYSTEM | Cette procédure joint un système de fichiers dans un répertoire de la base de données. |
| Procédure CREATE_DATABASE_LINK | 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 de base de données d'IA autonome, vers une base de données Oracle Database qui n'est pas une base de données d'IA autonome ou vers une base de données non Oracle Database à l'aide d'une connectivité hétérogène gérée par Oracle. |
| Procédure DETACH_FILE_SYSTEM | Cette procédure détache un système de fichiers d'un répertoire de la base de données. |
| Procédure DISABLE_EXTERNAL_AUTHENTICATION | Cette procédure désactive l'authentification externe pour l'instance de base de données Autonomous AI Database. |
| Procédure DROP_DATABASE_LINK | Cette procédure supprime un lien de base de données. |
| Procédure ENABLE_EXTERNAL_AUTHENTICATION | Cette procédure permet à un utilisateur de se connecter à Autonomous AI Database à 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 à votre 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 |
|---|---|
file_system_name |
Spécifie le nom du système de fichiers. Ce paramètre est obligatoire. |
file_system_location |
Spécifie l'emplacement du système de fichiers. La valeur que vous fournissez avec Note : Vous pouvez utiliser un nom de domaine complet ou une adresse IP. Par exemple :
Ce paramètre est obligatoire. |
directory_name |
Spécifie le nom du répertoire pour le système de fichiers joint. Le répertoire doit exister. Ce paramètre est obligatoire. |
description |
(Facultatif) Fournit une description de la tâche. |
params |
Chaîne JSON qui fournit un paramètre supplémentaire pour le système de fichiers.
Valeur par défaut : 3 |
Exemples
Exemple : 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;
/
Exemple : 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
EXECUTEsurDBMS_CLOUD_ADMIN. -
Vous devez disposer du privilège
WRITEsur 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_SYSTEMne peut attacher un service de stockage de fichiers privé que dans les bases de données pour lesquelles des 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_SYSTEMrecherche le nom d'hôte du système de fichiers de 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 d'Oracle Cloud Infrastructure utilise NFSv3 pour le partage
-
Si vous associez des systèmes de stockage de fichiers autres qu'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 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ètreparamsavecnfs_versionréglé à 4). Cela associe NFS au protocole de correspondance afin qu'Autonomous AI Database puisse accéder au serveur NFSv4. Sans le détachement, puis le rattachement, le serveur NFS sera inaccessible et vous risquez de voir une erreur telle que :"Protocol not supported".
Procédure CREATE_DATABASE_LINK
Cette procédure crée un lien de base de données vers une base de données cible dans le schéma appelant l'API.
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 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 de données d'intelligence artificielle autonome sur un point d'extrémité privé vers une base de données Oracle RAC cible. Dans ce cas, vous utilisez le paramètrerac_hostnamespour 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 |
|---|---|
db_link_name |
Nom du lien de base de données à créer. |
hostname |
Nom d'hôte de la base de données cible. La spécification de Lorsque vous spécifiez 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 |
rac_hostnames |
Spécifie les noms d'hôte de la base de données Oracle RAC cible. La valeur est un tableau JSON qui spécifie 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 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 spécifiez une liste de noms d'hôte dans le paramètre Utilisez ce paramètre ou La spécification de |
port |
Spécifie le port pour les connexions à la base de données cible. Lorsque vous spécifiez une connexion avec une connectivité hétérogène gérée par Oracle à l'aide du paramètre
|
service_name |
Lorsque vous spécifiez 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 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 racine et intermédiaire approuvés courants. Lien de point d'extrémité public vers une cible de base de données d'intelligence artificielle autonome sans portefeuille : Pour vous connecter à une cible de base de données d'intelligence artificielle autonome sur un point d'extrémité public sans portefeuille (TLS) :
Lien de point d'extrémité privé sans portefeuille : Pour vous connecter à un service Oracle Database sur un point d'extrémité privé sans portefeuille :
|
credential_name |
Nom d'une donnée d'identification stockée créée avec DBMS_CLOUD.CREATE_CREDENTIAL. Il s'agit des données d'identification permettant d'accéder à la base de données cible. |
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 racine et intermédiaire approuvés courants. Le paramètre Lien de point d'extrémité public vers une cible de base de données d'intelligence artificielle autonome sans portefeuille : Pour vous connecter à une base de données IA autonome sur un point d'extrémité public sans portefeuille (TLS) :
En outre, pour se connecter à une base de données d'intelligence artificielle autonome 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 Database ou vers une passerelle Oracle Database Gateway. 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 publique. 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 |
gateway_params |
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_paramssupplémentaires sont pris en charge :db_typeValeurs gateway_paramssupplémentairesgoogle_analyticsLorsque db_typea la valeurgoogle_analytics, les données d'identification que vous spécifiez doivent être des données d'identification Google OAuth(gcp_oauth2). Pour plus d'informations, voir Procédure CREATE_CREDENTIAL.google_bigqueryLorsque
db_typeestgoogle_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_typeestgoogle_bigquery, le paramètreprojectest valide. Ce paramètre spécifie le nom du projet pourgoogle_bigqueryet est obligatoire.Le nom de table que vous spécifiez lorsque vous utilisez
SELECTavec Google BigQuery doit être entre guillemets. Par exemple :sql SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveLorsque db_typeesthive, le paramètrehttp_pathest valide. Ce paramètre spécifie la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.salesforceLorsque
db_typeestsalesforce, le paramètre :security_tokenest valide. Un jeton de sécurité est un code alphanumérique sensible à la casse. Une valeursecurity_tokenest requise 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 le jeton de sécurité.
servicenowPour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle
directory_nameetfile_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 du fichier de modèle et Exemple de fichier de modèle.Lorsque vous utilisez le paramètre
gateway_paramsavecdb_typeservicenow, deux options sont prises en charge :Authentification de base : Vous devez fournir le paramètre
gateway_paramsdb_typeavec la valeur'servicenow', et fournir les paramètresdirectory_nameetfile_nameainsi que les données d'identification de type nom d'utilisateur/mot de passe.Authentification OAuth 2.0 : Vous devez fournir au paramètre
gateway_paramsdb_typela valeur'servicenow'et les paramètresdirectory_name,file_nameettoken_uri, ainsi que les données d'identification de type OAuth.
Le paramètre
directory_namespé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_nameau 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.
snowflakeLorsque
db_typeestSNOWFLAKE, les paramètres facultatifs :role,schemaetwarehousesont valides. Ces valeurs indiquent une valeur de schéma, de rôle ou d'entrepôt différente de celle 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 de données d'intelligence artificielle autonome vers un service de base de données qui se trouve 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 existantes des États-Unis sur un point d'extrémité privé, si vous voulez créer des liens de base de données à partir d'une base de données d'intelligence artificielle autonome vers une cible dans une région du gouvernement des États-Unis, soumettez une demande de service au soutien technique d'Oracle Cloud et demandez d'activer la fonction de liaison de base de données du point d'extrémité privé dans les régions gouvernementales.
Les régions du gouvernement américain sont les suivantes :
-
Lors de la connexion à une base de données non Oracle, la liaison 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_LINKavec un utilisateur autre qu'ADMIN, vous devez accorder les privilègesEXECUTEetCREATE DATABASE LINKà cet utilisateur. Par exemple, exécutez la commande suivante en tant qu'administrateur pour accorder des privilèges àatpc_user:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;En outre, 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_userdoit être responsable des 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 choisi pour les fichiers de portefeuille. Cela signifie qu'aveccwallet.ssodans 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.ssoavec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichiercwallet.ssodans un répertoire différent.Voir Créer un répertoire dans Autonomous AI Database 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 IA autonome, réglez
GLOBAL_NAMESàFALSEsur la base de données source (base de données IA non autonome).ALTER SYSTEM SET GLOBAL_NAMES = FALSE;System altered.SHOW PARAMETER GLOBAL_NAMESNAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE -
Lorsque le paramètre
private_targetestTRUE, le paramètrehostnamespé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_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;
/
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 |
|---|---|
file_system_name |
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
EXECUTEsurDBMS_CLOUD_ADMIN. -
Vous devez disposer du privilège
WRITEsur 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_SYSTEMne peut détacher un service de stockage de fichiers privé que dans les bases de données pour lesquelles des 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_SYSTEMrecherche le nom d'hôte du système de fichiers de 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 de l'utilisateur avec des 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 |
Voir le message d'accompagnement pour 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 |
|---|---|
db_link_name |
Nom du lien de base de données à supprimer. |
public_link |
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 assurer 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 dans le magasin d'objets.
- Utilisez
DBMS_CLOUD.DELETE_FILEpour supprimer le fichier de portefeuille du répertoiredata_pump_dirou du répertoire défini par l'utilisateur dans lequel le fichier de portefeuille a été chargé.
Procédure ENABLE_EXTERNAL_AUTHENTICATION
Permettre 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ètres
| Paramètre | Description |
|---|---|
type |
Indique le type d'authentification externe. Valeurs valides : ou .
|
force |
(Facultatif) Remplacez 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 |
Voir le message d'accompagnement pour une explication détaillée. |
Notes d'utilisation
-
Avec
typeOCI_IAM, si le principal de ressource n'est pas activé sur l'instance de base de données d'intelligence artificielle 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_TYPEetIDENTITY_PROVIDER_CONFIGaux utilisateurs requis pour accéder à l'instance avec l'authentification et l'autorisation d'Oracle Cloud Infrastructure Identity and Access Management.
Exemples
Exemple : Activer l'authentification OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force=> TRUE );
END;
/
Exemple : Activer l'authentification CMU pour Microsoft Active Directory
Vous transmettez un nom de répertoire qui contient 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;
/
Vous transmettez un URI d'emplacement pointant vers un emplacement de stockage d'objets qui contient des 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;
/
Exemple : 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;
/
Exemple : Activer l'authentification Kerberos
Vous transmettez un nom de répertoire 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('directory_name' value 'KERBEROS_DIR'); // KERBEROS_DIR directory object already exists
END;
/
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 AI Database, utilisez l'interrogation suivante pour voir le nom du 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 | Code | Description |
|---|---|---|
invalid_service |
20 001 | Un service non valide a été spécifié. |
service_not_exist |
20 002 | Un service spécifié n'existe pas. |
default_service |
20 003 | Impossible de modifier un service spécifié. |
invalid_char_set |
20 029 | Pré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-0000 | Un argument est fourni pour la procédure. Message d'erreur attendu : Aucun argument n'est requis pour cette procédure. |