Package DBMS_CLOUD_ADMIN

Cette section couvre 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 votre 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 permettant de créer un lien de base de données vers une autre instance de base de données Autonomous AI, vers une base de données Oracle Database qui n'est pas une base de données Autonomous AI 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 dissocie un système de fichiers d'un répertoire de votre 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.
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 à la base de données Autonomous AI à 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 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
file_system_name

Spécifie le nom du système des fichiers.

Ce paramètre est obligatoire.

file_system_location

Spécifie l'emplacement du système d'applications.

La valeur que vous fournissez avec file_system_location se compose d'un nom de domaine qualifié complet et d'un chemin de fichier au format : FQDN:file_path.

Remarque : vous pouvez utiliser un nom de domaine qualifié complet ou une adresse IP.

Exemple :

  • FQDN : myhost.sub000445.myvcn.oraclevcn.com

    Pour Oracle Cloud Infrastructure File Storage, définissez le nom de domaine qualifié complet dans Afficher les options avancées lorsque vous créez un système de fichiers. Pour plus d'informations, reportez-vous à la section Creating File Systems.

  • Chemin du fichier : /results

Ce paramètre est obligatoire.

directory_name

Spécifie le nom du répertoire du système de fichiers joint. Ce répertoire doit être créé.

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 : indique la version NFS à utiliser lorsque NFS est attaché (NFSv3 ou NFSv4). Les valeurs valides sont 3 et 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;
/

Remarques sur l'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 de la 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 indiquez une connexion avec une connectivité hétérogène gérée par Oracle en fournissant le paramètre gateway_params, notez les points suivants :

  • 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 rechercher l'identifiant de votre compte Snowflake, reportez-vous à la rubrique Formats d'identifiant de compte par plate-forme et région cloud.

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 d'analyse de la base de données Autonomous AI dédiée cible comme paramètre "nom d'hôte".

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 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 ",". 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 indiquer des 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 IP SCAN ou d'un nom d'hôte SCAN dans la valeur rac_hostnames n'est pas prise en charge.

Lorsque vous indiquez une liste de noms d'hôte dans le paramètre rac_hostnames, CREATE_DATABASE_LINK utilise tous les noms d'hôte indiqués comme adresses dans la chaîne de connexion. Si l'un des hôtes indiqués n'est pas disponible sur 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

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

  • awsredshift : utiliser le port 5439
  • azure : utiliser le port 1433
  • db2 : utilisez le port 2500 pour les versions Db2 >= 11.5.6
  • db2 : utilisez 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 auquel la base de données doit être liée. Pour une base de données Autonomous AI cible, recherchez le nom de service de l'une des manières suivantes :

  • Examinez le fichier tnsnames.ora dans le fichier wallet.zip que vous téléchargez à partir d'une base de données Autonomous AI pour votre connexion.

  • Cliquez sur Connexion de 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, reportez-vous à Affichage des chaînes de connexion pour une base de données Autonomous AI.

  • Interrogez la vue V$SERVICES. Exemple :

    SELECT name FROM V$SERVICES;

Lorsque vous indiquez 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 base de données de la base de données non Oracle.

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 racine et intermédiaires sécurisés courants. La valeur 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 d'adresse publique vers une cible de base de données Autonomous AI sans portefeuille :

Pour vous connecter à une cible de base de données Autonomous AI sur une adresse publique sans portefeuille (TLS), procédez comme suit :

  • 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 d'adresse privée sans portefeuille :

Pour vous connecter à une base de données Oracle Database sur une adresse privée sans portefeuille, procédez comme suit :

  • La base de données cible doit se trouver sur une adresse privée.
  • 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 des informations d'identification stockées créées avec DBMS_CLOUD.CREATE_CREDENTIAL. Informations 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édiaires sécurisés courants. Le paramètre directory_name n'est pas requis lorsque vous fournissez le paramètre gateway_params.

Lien d'adresse publique vers une cible de base de données Autonomous AI sans portefeuille :

Pour vous connecter à une base de données Autonomous AI sur une adresse publique sans portefeuille (TLS), procédez comme suit :

  • 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 Autonomous AI 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 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 :

  • La base de données cible doit se trouver sur une adresse privée.
  • 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 instance Oracle Database ou vers une instance Oracle Database Gateway.

Si gateway_link est défini sur FALSE, cela indique un lien de base de données vers une autre base de données Autonomous AI ou vers une autre base de données Oracle Database.

Si gateway_link est défini sur TRUE, cela indique 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 indique (HS=OK).

Lorsque gateway_link est défini sur TRUE et que gateway_params est défini sur NULL, cela indique 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 public.

Pour exécuter DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK avec ce paramètre défini sur TRUE, l'utilisateur qui appelle la procédure doit disposer du privilège EXECUTE sur les informations 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 informations d'identification peut être accordé par l'utilisateur ADMIN ou par le propriétaire des informations 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 VCN, indiquez le paramètre private_target avec la valeur TRUE.

Lorsque private_target est défini sur TRUE, le paramètre hostname doit être un nom d'hôte unique (sur une adresse privée, l'utilisation d'une adresse IP, d'une adresse IP SCAN ou d'un nom d'hôte SCAN n'est pas prise en charge).

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

gateway_params

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

  • awsredshift
  • azure
  • db2
  • google_analytics
  • google_bigquery

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est google_bigquery.

  • hive

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est hive.

  • mongodb
  • mysql
  • postgres
  • salesforce

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est salesforce.

  • servicenow

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est servicenow.

  • snowflake

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est snowflake.

  • NULL

    Lorsque gateway_params est défini sur NULL et que gateway_link est défini sur TRUE, cela indique un lien de base de données vers une passerelle Oracle gérée par le client.

Indiquez le paramètre avec le formulaire json_object.

Exemple :

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

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

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

Remarques sur l'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 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 dissocie 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 la base de données. En outre, la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM supprime également les informations relatives au 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 des fichiers.

Ce paramètre est obligatoire.

Exemple

BEGIN
   DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'FSS'
  );
END;
/

Remarques sur l'utilisation

Procédure DISABLE_EXTERNAL_AUTHENTICATION

Désactive l'authentification utilisateur 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 Consultez 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 de la base de données à supprimer.
public_link

Pour exécuter DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK avec public_link défini sur 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;
/

Remarques sur l'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, afin de garantir la sécurité de la base de données Oracle, enlevez tous les fichiers de portefeuille stockés. Exemple :

Procédure ENABLE_EXTERNAL_AUTHENTICATION

Permettre 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ètres

Paramètre Description
type

Spécifie 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 : indique l'URI de stockage cloud du bucket dans lequel les fichiers requis pour la CMU sont stockés.

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

  • credential_name : indique les informations d'identification utilisées pour télécharger les fichiers de configuration CMU de la banque d'objets vers l'objet de répertoire.

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

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

Paramètres KERBEROS :

  • location_uri : indique l'URI de stockage cloud du bucket dans lequel les fichiers requis pour Kerberos sont stockés.

    Si vous spécifiez location_uri, un objet de répertoire de noms 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 : indique les informations d'identification utilisées pour télécharger les fichiers de configuration Kerberos de l'emplacement de la banque d'objets vers l'objet de répertoire.

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

  • directory_name : indique 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 vers cet objet répertoire.
  • kerberos_service_name : indique un nom à utiliser comme nom de service Kerberos. Ce paramètre est facultatif.

    Valeur par défaut : si aucune valeur n'est indiquée, la valeur kerberos_service_name est définie sur le GUID de l'instance de base de données Autonomous AI.

Paramètres AZURE_AD :

  • tenant_id : ID locataire du compte Azure. L'ID de locataire indique l'inscription de l'application Azure AD de l'instance de base de données Autonomous AI.
  • application_id : ID d'application Azure créé dans Azure AD pour affecter des mappings de rôles/schéma pour l'authentification externe dans l'instance de base de données Autonomous AI.
  • application_id_uri : URI unique affecté à l'application Azure.

    Identificateur de l'instance de base de données Autonomous AI. Le nom doit être qualifié de domaine (cela prend en charge l'accès aux ressources entre les locations).

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

Exceptions

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

Remarques sur l'utilisation

Exemples 

Exemple : activation de l'authentification OCI_IAM

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'OCI_IAM',
     force=> TRUE );
END;
/

Exemple : activation de l'authentification CMU pour Microsoft Active Directory

Vous transmettez un nom de répertoire contenant les fichiers de configuration CMU 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;
/

Vous transmettez un URI d'emplacement pointant vers un emplacement Object Storage qui contient des fichiers de configuration CMU 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;
/

Exemple : 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;
/

Exemple : activation de l'authentification Kerberos

Vous transmettez un nom de répertoire contenant des 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;
/

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 de base de données Autonomous AI, 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 Un service non valide a été spécifié.
service_not_exist 20 002 Aucun service spécifié n'existe.
default_service 20 003 Un service spécifié ne peut pas être modifié.
invalid_char_set 20 029 Condition préalable 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 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 fourni pour la procédure. Message d'erreur attendu : aucun argument requis pour cette procédure.

Contenu connexe