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 file_system_location se compose d'un nom de domaine complet et d'un chemin d'accès au fichier sous la forme : FQDN:file_path.

Note : Vous pouvez utiliser un nom de domaine complet ou une adresse IP.

Par exemple :

  • NOM COMPLET : myhost.sub000445.myvcn.oraclevcn.com

    Pour le service de stockage de fichiers d'Oracle Cloud Infrastructure, définissez le nom de domaine complet dans Afficher les options avancées lorsque vous créez un système de fichiers. Pour plus d'informations, voir Création de systèmes de fichiers.

  • Chemin d'accès au fichier : /results

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.

nfs_version : Spécifie la version NFS à utiliser lorsque NFS est attaché (NFSv3 ou NFSv4). Valeurs valides : 3, 4.

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

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 :

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 localhost pour hostname n'est pas autorisée.

Lorsque vous spécifiez une connexion avec une connectivité hétérogène gérée par Oracle en fournissant le paramètre gateway_params, notez ce qui suit :

  • Lorsque la valeur db_type est google_bigquery, hostname n'est pas utilisé et vous pouvez fournir une valeur telle que example.com.

  • Lorsque la valeur db_type est snowflake, hostname est l'identificateur du compte Snowflake. Pour trouver votre identificateur de compte Snowflake, voir Formats d'identificateur de compte par plate-forme et région en nuage.

Utilisez ce paramètre ou rac_hostnames, n'utilisez pas les deux.

L'entrée DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doit mentionner le nom de balayage de la base de données d'IA autonome dédiée cible en tant que paramètre 'hostname'.

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 ",". Par exemple :

'["sales1-svr1.domain", "sales1-svr2.domain", "sales1-svr3.domain"]'

Lorsque la cible est une base de données Oracle RAC, utilisez le paramètre rac_hostnames pour spécifier un ou plusieurs noms d'hôte avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Vous pouvez ainsi tirer parti des fonctionnalités de haute disponibilité d'Oracle RAC. L'utilisation d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN dans la valeur rac_hostnames n'est pas prise en charge.

Lorsque vous spécifiez une liste de noms d'hôte dans le paramètre rac_hostnames, CREATE_DATABASE_LINK utilise tous les noms d'hôte spécifiés comme adresses dans la chaîne de connexion. Si l'un des hôtes spécifiés n'est pas disponible dans la base de données Oracle RAC cible, Autonomous Database tente automatiquement de se connecter à l'aide d'un autre nom d'hôte de la liste.

Utilisez ce paramètre ou hostname, n'utilisez pas les deux.

La spécification de localhost pour une valeur rac_hostname n'est pas autorisée.

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 gateway_params, définissez le port en fonction de la valeur db_type :

  • awsredshift : Utiliser le port 5439
  • azure : Utiliser le port 1433
  • db2 : Utiliser le port 2500 pour les versions Db2 >= 11.5.6
  • db2 : Utiliser le port 5000 pour les versions Db2 <= 11.5.5< li>
  • google_analytics : Utiliser le port 443
  • google_bigquery : Utiliser le port 443
  • hive : Utiliser le port 433
  • mongodb : Utiliser le port 27017
  • mysql : Utiliser le port 3306
  • mysql_community : Utiliser le port 3306
  • postgres : Utiliser le port 5432
  • salesforce : Utiliser le port 19937
  • servicenow : Utiliser le port 443
  • snowflake : Utiliser le port 443
service_name

service_name vers lequel la base de données doit être liée. Pour une base de données d'IA autonome cible, recherchez le nom du service selon l'une des méthodes suivantes :

  • Recherchez votre connexion dans le fichier tnsnames.ora dans wallet.zip que vous téléchargez à partir d'une base de données d'IA autonome.

  • Cliquez sur Connexion à la base de données dans la console Oracle Cloud Infrastructure. Chaque chaîne de connexion répertoriée dans la colonne Chaîne de connexion inclut une entrée service_name avec la chaîne de connexion pour le service correspondant. Pour plus d'informations, voir Voir les chaînes de connexion pour une base de données d'intelligence artificielle autonome.

  • Interrogez la vue V$SERVICES. Par exemple :

    SELECT name FROM V$SERVICES;

Lorsque vous spécifiez une connexion avec une connectivité hétérogène gérée par Oracle à l'aide du paramètre gateway_params, service_name est le nom de la base de données non Oracle.

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. ssl_server_cert_dn doit être NULL lorsque vous fournissez le paramètre gateway_params ou que vous n'incluez pas le paramètre ssl_server_cert_dn (la valeur par défaut est NULL).

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) :

  • Le paramètre directory_name doit être NULL.
  • Le paramètre ssl_server_cert_dn doit être NULL ou ne pas inclure ce paramètre (la valeur par défaut est NULL).

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 :

  • La base de données cible doit se trouver sur un point d'extrémité privé.
  • Le paramètre directory_name doit être NULL.
  • Le paramètre ssl_server_cert_dn doit être NULL ou ne pas inclure ce paramètre (la valeur par défaut est NULL).
  • Le paramètre private_target doit être TRUE.
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 cwallet.sso. La valeur par défaut de ce paramètre est 'data_pump_dir'.

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 directory_name n'est pas requis lorsque vous fournissez le paramètre gateway_params.

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) :

  • Le paramètre directory_name doit être NULL.
  • Le paramètre ssl_server_cert_dn doit être NULL ou ne pas inclure ce paramètre (la valeur par défaut est NULL).

En outre, pour se connecter à une base de données d'intelligence artificielle autonome avec TCP, le paramètre ssl_server_cert_dn doit être NULL ou ne pas inclure ce paramètre (la valeur par défaut est NULL).

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 :

  • La base de données cible doit se trouver sur un point d'extrémité privé.
  • Le paramètre directory_name doit être NULL.
  • Le paramètre ssl_server_cert_dn doit être NULL ou ne pas inclure ce paramètre (la valeur par défaut est NULL).
  • Le paramètre private_target doit être TRUE.
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 gateway_link est réglé à FALSE, cela spécifie un lien de base de données vers une autre base de données d'intelligence artificielle autonome ou vers une autre base de données Oracle Database.

Si gateway_link est réglé à TRUE, cela spécifie un lien de base de données vers un système non Oracle. Cela crée un descripteur de connexion dans la définition de lien de base de données qui spécifie (HS=OK).

Lorsque gateway_link est réglé à TRUE et que gateway_params est NULL, cela spécifie un lien de base de données vers une passerelle Oracle gérée par le client.

La valeur par défaut de ce paramètre est FALSE.

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 DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK avec ce paramètre réglé à TRUE, l'utilisateur qui appelle la procédure doit disposer du privilège EXECUTE sur les données d'identification associées au lien de base de données publique et du privilège système CREATE PUBLIC DATABASE LINK. Le privilège EXECUTE sur les données d'identification peut être accordé par l'utilisateur ADMIN ou par le responsable des données d'identification.

La valeur par défaut de ce paramètre est FALSE.

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 private_target avec la valeur TRUE.

Lorsque private_target a la valeur TRUE, le paramètre hostname doit être un nom d'hôte unique (sur un point d'extrémité privé, à l'aide d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN n'est pas pris en charge).

La valeur par défaut de ce paramètre est FALSE.

gateway_params

db_type Ce paramètre spécifie le type de base de données cible pour la connectivité hétérogène gérée par Oracle pour la connexion à des bases de données non Oracle. La valeur db_type est l'une des suivantes :

  • awsredshift
  • azure
  • db2
  • google_analytics
  • google_bigquery

    * Voir les notes d'utilisation pour les éléments gateway_params supplémentaires pris en charge lorsque db_type est google_bigquery.

  • hive

    * Voir les notes d'utilisation pour les éléments gateway_params supplémentaires pris en charge lorsque db_type est hive.

  • mongodb
  • mysql
  • postgres
  • salesforce

    * Voir les notes d'utilisation pour les éléments gateway_params supplémentaires pris en charge lorsque db_type est salesforce.

  • servicenow

    * Voir les notes d'utilisation pour les éléments gateway_params supplémentaires pris en charge lorsque db_type est servicenow.

  • snowflake

    * Voir les notes d'utilisation pour les éléments gateway_params supplémentaires pris en charge lorsque db_type est snowflake.

  • NULL

    Lorsque gateway_params est NULL et que gateway_link est réglé à TRUE, cela spécifie un lien de base de données vers une passerelle Oracle gérée par le client.

Spécifiez le paramètre avec le formulaire json_object.

Par exemple :

gateway_params => json_object('db_type' value 'awsredshift')

Lorsque gateway_params a la valeur NULL et private_target TRUE, si directory_name a la valeur NULL, un lien de base de données basé sur TCP est créé.

Lorsque gateway_params a la valeur NULL et que private_target a la valeur TRUE, si directory_name a la valeur NULL, un lien de base de données TCPS est créé.

Notes d'utilisation

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

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 DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK avec public_link réglé à TRUE, vous devez disposer du privilège système DROP PUBLIC DATABASE LINK.

La valeur par défaut de ce paramètre est FALSE.

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 :

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 .

  • 'OCI_IAM'
  • 'AZURE_AD'
  • 'CMU'
  • 'KERBEROS'
force

(Facultatif) Remplacez un modèle d'authentification externe actuellement activé. Les valeurs valides sont TRUE ou FALSE.

La valeur par défaut est FALSE.

params

Chaîne JSON qui fournit des paramètres supplémentaires pour l'authentification externe.

Paramètres CMU :

  • location_uri : Spécifie l'URI de stockage en nuage pour le seau dans lequel les fichiers requis pour CMU sont stockés.

    Si vous spécifiez location_uri, un objet de répertoire à nom fixe CMU_WALLET_DIR est créé dans la base de données dans le chemin 'cmu_wallet' pour enregistrer les fichiers de configuration CMU. Dans ce cas, vous n'avez pas besoin de fournir le paramètre directory_name.

  • credential_name : Spécifie les données d'identification utilisées pour télécharger les fichiers de configuration CMU du magasin d'objets vers l'objet de répertoire.

    La valeur par défaut est NULL qui vous permet de fournir une URL publique, préauthentifiée ou pré-signée pour le seau ou le sous-dossier du magasin d'objets.

  • directory_name : Spécifie le nom du répertoire dans lequel les fichiers de configuration requis pour CMU sont stockés. Si directory_name est fourni, vous devez copier les fichiers de configuration CMU dsi.ora et cwallet.sso vers cet objet de répertoire.

Paramètres KERBEROS :

  • location_uri : Spécifie l'URI de stockage en nuage pour le seau où sont stockés les fichiers requis pour Kerberos.

    Si vous spécifiez location_uri, un objet de répertoire à nom fixe KERBEROS_DIR est créé dans la base de données pour enregistrer les fichiers de configuration Kerberos. Dans ce cas, vous n'avez pas besoin de fournir le paramètre directory_name.

  • credential_name : Spécifie les données d'identification utilisées pour télécharger les fichiers de configuration Kerberos de l'emplacement du magasin d'objets vers l'objet de répertoire.

    La valeur par défaut est NULL qui vous permet de fournir une URL publique, préauthentifiée ou pré-signée pour le seau ou le sous-dossier du magasin d'objets.

  • directory_name : Spécifie le nom du répertoire dans lequel les fichiers requis pour Kerberos sont stockés. Si directory_name est fourni, vous devez copier les fichiers de configuration Kerberos dans cet objet de répertoire.
  • kerberos_service_name : Spécifie un nom à utiliser comme nom de service Kerberos. Ce paramètre est facultatif.

    Valeur par défaut : Lorsqu'elle n'est pas spécifiée, la valeur kerberos_service_name est réglée au GUID de l'instance de base de données d'intelligence artificielle autonome.

Paramètres AZURE_AD :

  • tenant_id : ID locataire du compte Azure. L'ID locataire spécifie l'enregistrement de l'application Azure AD de l'instance de base de données d'intelligence artificielle autonome.
  • application_id : ID application Azure créé dans Azure AD pour affecter des rôles/mappages de schéma pour l'authentification externe dans l'instance de base de données Autonomous AI Database.
  • application_id_uri : URI unique affecté à l'application Azure.

    Il s'agit de l'identificateur de l'instance Autonomous AI Database. Le nom doit être qualifié pour le domaine (cela prend en charge l'accès aux ressources interlocation).

    La longueur maximale de ce paramètre est de 256 caractères.

Exceptions

Exception Error Description
invalid_ext_auth ORA-20004 Voir le message d'accompagnement pour une explication détaillée.

Notes d'utilisation

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.

Contenu connexe