Récapitulatif des sous-programmes DBMS_CLOUD_ADMIN

Cette section traite des sous-programmes DBMS_CLOUD_ADMIN fournis avec Autonomous 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 CANCEL_WORKLOAD_CAPTURE

Cette procédure annule la capture de charge globale en cours.

Procédure CREATE_DATABASE_LINK

Cette procédure crée un lien de base de données vers une base de données cible. Vous pouvez créer un lien de base de données vers une autre instance Autonomous Database, vers une instance Oracle Database qui n'est pas une instance Autonomous Database ou vers une instance 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_APP_CONT

Cette procédure désactive la continuité de l'application de base de données pour la session associée au nom de service indiqué dans Autonomous Database.

Procédure DISABLE_EXTERNAL_AUTHENTICATION

Cette procédure désactive l'authentification externe pour l'instance Autonomous Database.

Procédure DISABLE_OPERATOR_ACCESS

Révoque immédiatement l'accès d'opérateur cloud sur l'instance de base de données Autonomous Database.

Procédure DISABLE_PRINCIPAL_AUTH

Cette procédure révoque l'authentification basée sur le principal pour le fournisseur spécifié et s'applique à l'utilisateur ADMIN ou à l'utilisateur spécifié.

Procédure DISABLE_RESOURCE_PRINCIPAL

Cette procédure désactive les informations d'identification de principal de ressource pour la base de données ou pour le schéma indiqué. Avec un nom utilisateur indiqué, autre qu'ADMIN, la procédure révoque l'accès de schéma indiqué aux informations d'identification de principal de ressource.

Procédure DROP_DATABASE_LINK

Cette procédure supprime un lien de base de données.

Procédure ENABLE_APP_CONT

Cette procédure permet la continuité des applications de base de données pour la session associée au nom de service indiqué dans Autonomous Database.

Procédure ENABLE_AWS_ARN

Cette procédure permet à un utilisateur de créer des informations d'identification AWS ARN dans Autonomous Database.

Procédure ENABLE_EXTERNAL_AUTHENTICATION

Cette procédure permet à un utilisateur de se connecter à Autonomous Database à l'aide du modèle d'authentification externe indiqué.

Procédure ENABLE_FEATURE

Cette procédure active la fonctionnalité indiquée sur l'instance Autonomous Database.

Procédure ENABLE_OPERATOR_ACCESS

Accorde à l'opérateur cloud l'accès à une instance Autonomous Database pendant un nombre d'heures donné.

Procédure ENABLE_PRINCIPAL_AUTH

Cette procédure active l'authentification du principal pour le fournisseur spécifié et s'applique à l'utilisateur ADMIN ou à l'utilisateur spécifié.

Procédure ENABLE_RESOURCE_PRINCIPAL

Cette procédure active les informations d'identification de principal de ressource et crée les informations d'identification OCI$RESOURCE_PRINCIPAL. Avec un nom utilisateur indiqué, autre qu'ADMIN, la procédure accorde l'accès au schéma indiqué aux informations d'identification du principal de ressource.

Procédure FINISH_WORKLOAD_CAPTURE

Cette procédure arrête la capture de la charge globale et télécharge les fichiers de capture vers le stockage d'objets.

Procédure PREPARE_REPLAY

Cette procédure prépare la réexécution pour le clone actualisable.

Procédure PURGE_FLASHBACK_ARCHIVE Cette procédure purge les données historiques de la Flashback Data Archive.

Procédure REPLAY_WORKLOAD

Cette procédure est surchargée. Il lance la réexécution de la charge globale.

Procédure SET_FLASHBACK_ARCHIVE_RETENTION

Cette procédure permet aux utilisateurs ADMIN de modifier la période de conservation pour Flashback Time Travel flashback_archive.

Procédure START_WORKLOAD_CAPTURE

Cette procédure lance une capture de charge globale.

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 suivant : FQDN:file_path.

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

Joindre à 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;
/     

Joindre à 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 sur DBMS_CLOUD_ADMIN.

  • Vous devez disposer du privilège WRITE sur l'objet de répertoire dans la base de données pour joindre un système de fichiers à l'aide de DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM.

  • La procédure DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM peut uniquement attacher un service File Storage privé dans des bases de données dont les adresses privées sont activées.

    Pour plus d'informations, reportez-vous à Service OCI File Storage et à Configuration de l'accès réseau avec des adresses privées.

  • La procédure DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM recherche le nom d'hôte du système de fichiers réseau sur le réseau cloud virtuel (VCN) du client. L'erreur "ORA-20000: Mounting NFS fails" est renvoyée si le nom d'hôte spécifié dans l'emplacement ne peut pas être localisé.

  • Oracle Cloud Infrastructure File Storage utilise NFSv3 pour partager

  • Si vous attachez des systèmes non Oracle Cloud Infrastructure File Storage, la procédure prend en charge NFSv3 et NFSv4

  • Si vous disposez d'un serveur NFS attaché qui utilise NFSv3 et que la version NFS est mise à jour sur NFSv4 dans le serveur NFS, vous devez exécuter DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, puis DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (à l'aide du paramètre params avec nfs_version défini sur 4). Cette opération attache NFS au protocole correspondant afin qu'Autonomous Database puisse accéder au serveur NFSv4. Sans détachement, puis rattachement, le serveur NFS est inaccessible et une erreur telle que : "Protocol not supported" peut apparaître.

Procédure CANCEL_WORKLOAD_CAPTURE

Cette procédure annule toute capture de charge globale en cours dans la base de données.

Syntaxe

Cette procédure annule la capture de charge globale en cours et active l'actualisation sur le clone actualisable.


DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;

Exemple

BEGIN
   DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

Remarque sur l'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

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, vous pouvez ainsi 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, vous pouvez ainsi créer un lien de base de données entre une base de données Autonomous Database sur une adresse privée et une base de données Oracle RAC cible. Dans ce cas, vous utilisez le paramètre rac_hostnames pour indiquer 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 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 Database 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 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 ",". 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 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
  • google_analytics : utiliser le port 443
  • google_bigquery : utiliser le port 443
  • google_drive : 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
  • sharepoint : utiliser le port 443
  • snowflake : utiliser le port 443
  • youtube : utiliser le port 443

Pour plus d'informations, reportez-vous à Ports et types de base de données de connectivité hétérogène gérés par Oracle.

service_name

service_name auquel la base de données doit être liée. Pour une instance Autonomous Database cible, recherchez le nom de service de l'une des manières suivantes :

  • Consultez le fichier tnsnames.ora dans le fichier wallet.zip que vous téléchargez à partir d'une instance Autonomous Database pour votre connexion.

  • Cliquez sur Connexion à la base de données dans la console Oracle Cloud Infrastructure. Dans la zone Chaînes de connexion, chaque chaîne de connexion inclut une entrée service_name avec la chaîne de connexion pour le service correspondant. Lorsque les connexions TLS mutuelles (mTLS) et TLS sont autorisées, sous Authentification TLS, sélectionnez TLS pour afficher les noms TNS et les chaînes de connexion pour les connexions avec l'authentification TLS. Pour plus d'informations, reportez-vous à Affichage des noms TNS et des chaînes de connexion pour une instance Autonomous Database.

  • Interrogez la vue V$SERVICES. Par 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 Autonomous Database sans portefeuille :

Pour vous connecter à une cible Autonomous Database 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 Autonomous Database sans portefeuille :

Pour vous connecter à une instance Autonomous Database 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 vous connecter à une instance Autonomous Database 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 instance Autonomous Database ou vers une autre instance 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).

Lorsque private_target => TRUE, la création de liens de base de données inter-domaines, où la base de données source et la base de données cible se trouvent dans des domaines Oracle Cloud Infrastructure différents, 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

    * Reportez-vous aux notes d'utilisation pour plus d'informations sur gateway_params pris en charge lorsque db_type est 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.

  • google_drive

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

  • 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.

  • sharepoint

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

  • snowflake

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

  • youtube

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

  • 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.

Par exemple :

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

Pour connaître les valeurs port requises pour chaque type de base de données, reportez-vous à Ports et types de base de données de connectivité hétérogène gérés par Oracle.

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éé.

enable_ssl:

Pour une base de données sur une adresse privée, le paramètre gateway_params prend en charge le paramètre facultatif enable_ssl. Définissez ce paramètre sur true afin de prendre en charge les connexions SSL/TLS pour une base de données cible distante sur une adresse privée. Par défaut, enable_ssl est false.

Par exemple :

gateway_params => JSON_OBJECT(
     'db_type' value 'snowflake',
     'enable_ssl' value true)

Notes d'utilisation

  • Lorsque vous indiquez le paramètre gateway_params, pour certaines valeurs db_type, des paramètres gateway_params supplémentaires sont pris en charge :

    db_type Valeurs gateway_params supplémentaires
    azure

    Lorsque la valeur db_type est azure, il existe deux paramètres facultatifs, auth_method et domain, pour prendre en charge l'authentification NTLM/AD.

    Lorsque NTLMv2 est configuré, définissez auth_method=10 et domain sur la valeur de domaine Windows.

    Pour utiliser un mot de passe Azure Active Directory, définissez auth_method=13. N'utilisez pas auth_method=13 pour accéder à une base de données sur site Oracle.

    Pour plus d'informations, reportez-vous à Méthode d'authentification Microsoft SQL Server.

    google_analytics

    Lorsque db_type est défini sur google_analytics, les informations d'identification que vous indiquez doivent être des informations d'identification Google OAuth (gcp_oauth2). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    google_bigquery

    Lorsque db_type est défini sur google_bigquery, les informations d'identification que vous indiquez doivent être des informations d'identification Google OAuth (gcp_oauth2) Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL).

    Lorsque db_type est défini sur google_bigquery, le paramètre project est valide. Ce paramètre indique le nom de projet pour google_bigquery et est obligatoire.

    Le nom de table que vous indiquez lorsque vous utilisez SELECT avec Google BigQuery doit être entre guillemets. Par exemple :

    SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
    google_drive

    Pour db_type google_drive, les informations d'identification que vous fournissez avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token).

    Pour vous connecter à Google Drive et obtenir des données, vous devez fournir les paramètres de passerelle directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier REST automatique) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe des fichiers de modèle et Exemple de fichier de modèle.

    Lorsque vous utilisez le paramètre gateway_params avec db_type google_drive, vous devez fournir au paramètre gateway_params db_type la valeur 'google_drive', les paramètres directory_name et file_name, ainsi que les informations d'identification de type OAuth :

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST. Vous pouvez créer ce répertoire comme suit :

    create or replace directory google_drive_dir as 'GOOGLE_DRIVE_DIR';

    Obtenir et télécharger le fichier REST automatique dans le répertoire spécifié. Par exemple :

    exec DBMS_CLOUD.get_object('google_drive_dir_cred',
         'https://objectstorage.<...>/google_drive.rest','GOOGLE_DRIVE_DIR');

    Définissez la valeur file_name sur le nom du fichier REST automatique que vous avez téléchargé, "google_drive.rest". Vous pouvez ensuite utiliser le fichier de configuration REST avec OAuth 2.0.

    hive

    Lorsque db_type est défini sur hive, le paramètre http_path est valide. Ce paramètre indique la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.

    salesforce

    Lorsque le paramètre db_type est salesforce, le paramètre security_token est valide. Un jeton de sécurité est un code alphanumérique sensible à la casse. Vous devez fournir une valeur security_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, reportez-vous à Réinitialisation du jeton de sécurité.

    servicenow

    Pour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe des fichiers de modèle et Exemple de fichier de modèle.

    Lorsque vous utilisez le paramètre gateway_params avec db_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ètres directory_name et file_name avec les informations d'identification de type nom utilisateur/mot de passe.

    • Authentification OAuth 2.0 : vous devez fournir le paramètre gateway_params db_type avec la valeur 'servicenow', les paramètres directory_name, file_name et token_uri, ainsi que les informations d'identification de type OAuth.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST ServiceNow. Vous pouvez créer ce répertoire comme suit :

    create or replace directory servicenow_dir as 'SERVICENOW_DIR';

    Obtenez et téléchargez le fichier de configuration REST ServiceNow dans le répertoire indiqué. Par exemple :

    exec DBMS_CLOUD.get_object('servicenow_dir_cred',
         'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');

    Définissez la valeur file_name sur le nom du fichier de configuration REST 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.

    Vous pouvez ensuite utiliser le fichier de configuration REST ServiceNow avec l'authentification de base ou OAuth2.0. Pour obtenir des exemples, reportez-vous à HETEROGENEOUS_CONNECTIVITY_INFO View.

    sharepoint

    Lorsque vous utilisez le paramètre gateway_params avec db_type sharepoint, indiquez également des valeurs pour auth_uri, scope, service_url et token_uri.

    Pour db_type sharepoint, les informations d'identification que vous fournissez avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK doivent être des informations d'identification de type OAuth utilisant le paramètre params avec des valeurs gcp_oauth2 indiquées (client_id, client_secret et refresh_token). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL. Générez le fichier refresh_token pour tenant_id.sharepoint.com/.default offline_access. Pour plus d'informations, reportez-vous aux sections suivantes : Determine the scope et OAuth 2.0 authentication.

    Définissez les valeurs pour gateway_params pour db_type sharepoint :

    snowflake

    Lorsque db_type est défini sur SNOWFLAKE, les paramètres facultatifs role, schema et warehouse sont valides. Ces valeurs indiquent une valeur de schéma, de rôle ou d'entrepôt différente de la valeur par défaut. Par exemple :

    gateway_params => JSON_OBJECT(
         'db_type' value 'snowflake',
         'role' value 'ADMIN',
         'schema' value 'PUBLIC',
         'warehouse' value 'TEST' )
    youtube

    Pour vous connecter à Youtube et obtenir des données, vous devez fournir les paramètres de passerelle directory_name et file_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui met en correspondance la réponse JSON avec le modèle relationnel. Le fichier modèle indique les adresses, le mapping de table et le code de réponse HTTP pour le traitement de la réponse JSON. Pour plus d'informations, reportez-vous aux sections Syntaxe des fichiers de modèle et Exemple de fichier de modèle.

    Lorsque vous utilisez le paramètre gateway_params avec db_type youtube, les informations d'identification que vous indiquez doivent être des informations d'identification Google OAuth (gcp_oauth2). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

    Authentification OAuth 2.0 : vous devez fournir le paramètre gateway_params db_type avec la valeur youtube, les paramètres directory_name et file_name, ainsi que les informations d'identification de type OAuth.

    Le paramètre directory_name indique le répertoire avec le fichier de configuration REST ServiceNow. Vous pouvez créer ce répertoire comme suit :

    create or replace directory youtube_dir as 'YOUTUBE_DIR';

    Obtenez et téléchargez le fichier de configuration REST ServiceNow dans le répertoire indiqué. Par exemple :

    exec DBMS_CLOUD.get_object('youtube_dir_cred',
         'https://objectstorage.<...>/youtube.rest','YOUTUBE_DIR');

    Définissez la valeur file_name sur le nom du fichier de configuration REST que vous avez téléchargé, "youtube.rest".

    Vous pouvez ensuite utiliser le fichier de configuration REST ServiceNow avec OAuth2.0. Pour obtenir des exemples, reportez-vous à HETEROGENEOUS_CONNECTIVITY_INFO View.

  • Pour exécuter DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK avec un utilisateur autre qu'ADMIN, vous devez accorder les privilèges EXECUTE et CREATE DATABASE LINK à cet utilisateur. Par exemple, exécutez la commande suivante en tant qu'utilisateur ADMIN pour accorder les privilèges à adb_user :

    GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO adb_user;
    GRANT CREATE DATABASE LINK TO adb_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é adb_user, le schéma adb_user doit posséder les informations d'identification que vous utilisez avec DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

  • Un seul fichier de portefeuille est valide par répertoire indiqué avec le paramètre directory_name. Vous ne pouvez télécharger qu'une seule valeur cwallet.sso à la fois vers le répertoire de votre choix pour les fichiers de portefeuille. Autrement dit, avec un répertoire cwallet.sso, 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 fichiers cwallet.sso avec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichier cwallet.sso dans un répertoire différent.

    Pour plus d'informations sur la création de répertoires, reportez-vous à Création d'un répertoire dans Autonomous Database.

  • Pour créer un lien de base de données vers une instance Autonomous Database, définissez GLOBAL_NAMES sur FALSE sur la base de données source (non-Autonomous Database).

    SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE;
     
    System altered.
    
    SQL> SHOW PARAMETER GLOBAL_NAMES
    NAME                     TYPE        VALUE
    ----------------------   ----------- -----------
    global_names             boolean     FALSE
    
  • Lorsque le paramètre private_target est TRUE, le paramètre hostname indique 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.adb.example.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_CRED');
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'AWS_REDSHIFT_LINK_CRED',
    username => 'NICK',
    password => 'password'
  );
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'AWSREDSHIFT_LINK', 
          hostname => 'example.com', 
          port => '5439',
          service_name => 'example_service_name',
          ssl_server_cert_dn => NULL,
          credential_name => 'AWS_REDSHIFT_LINK_CRED',
          gateway_params => JSON_OBJECT('db_type'  value 'awsredshift'));
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'PRIVATE_ENDPOINT_CRED',
    username => 'db_user',
    password => 'password'
  );
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'PRIVATE_ENDPOINT_DB_LINK', 
          hostname => 'exampleHostname', 
          port => '1521',
          service_name => 'exampleServiceName',
          credential_name => 'PRIVATE_ENDPOINT_CRED',
          ssl_server_cert_dn => NULL,
          directory_name => NULL,
          private_target => TRUE);
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'GOOGLE_BIGQUERY_CRED',
    params => JSON_OBJECT( 'gcp_oauth2' value JSON_OBJECT(
          'client_id' value 'client_id',
          'client_secret' value 'client_secret', 
          'refresh_token' value 'refresh_token' )));

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'GOOGLE_BIGQUERY_LINK', 
          hostname => 'example.com', 
          port => '443',
          service_name => 'example_service_name',
          credential_name => 'GOOGLE_BIGQUERY_CRED',
          gateway_params => JSON_OBJECT(
                     'db_type' value 'google_bigquery',
                     'project' value 'project_name1' ));
END;
/

Le nom de table que vous indiquez lorsque vous utilisez SELECT avec Google BigQuery ou Google Analytics doit être entre guillemets. Par 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;                                                                          
/     

Notes d'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

  • Pour détacher un système de fichiers d'un répertoire à l'aide de la procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, vous devez disposer du privilège WRITE sur l'objet de répertoire dans la base de données.

  • La procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM peut uniquement détacher un service File Storage privé dans des bases de données dont les adresses privées sont activées.

    Pour plus d'informations, reportez-vous à Service OCI File Storage et à Configuration de l'accès réseau avec des adresses privées.

  • La procédure DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM recherche le nom d'hôte du système de fichiers réseau sur le réseau cloud virtuel (VCN) du client. L'erreur "ORA-20000: Mounting NFS fails" est renvoyée si le nom d'hôte spécifié dans l'emplacement ne peut pas être localisé.

Procédure DISABLE_APP_CONT

Cette procédure désactive la continuité de l'application de base de données pour la session associée au nom de service indiqué dans Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.DISABLE_APP_CONT(
    service_name      IN VARCHAR2);

Paramètres

Paramètre Description

service_name

service_name pour le service Autonomous Database.

Pour rechercher des noms de service :

  • Consultez le fichier tnsnames.ora dans le fichier wallet.zip que vous téléchargez à partir d'une instance Autonomous Database pour votre connexion.

  • Cliquez sur Connexion à la base de données dans la console Oracle Cloud Infrastructure. Dans la zone Chaînes de connexion, chaque chaîne de connexion inclut une entrée service_name qui contient la chaîne de connexion pour le service correspondant. Lorsque les connexions TLS mutuelles (mTLS) et TLS sont autorisées, sous Authentification TLS, sélectionnez TLS pour afficher les noms TNS et les chaînes de connexion pour les connexions avec l'authentification TLS. Pour plus d'informations, reportez-vous à Affichage des noms TNS et des chaînes de connexion pour une instance Autonomous Database.

  • Interrogez la vue V$SERVICES. Par exemple :

    SELECT name FROM V$SERVICES;

Notes d'utilisation

Pour plus d'informations sur la continuité des applications, reportez-vous à Présentation de la continuité des applications.

Exemple

BEGIN
    DBMS_CLOUD_ADMIN.DISABLE_APP_CONT(
        service_name => 'nv123abc1_adb1_high.adb.oraclecloud.com' );
END;
/

Vérifiez la valeur de la manière suivante :

SELECT name, failover_type FROM DBA_SERVICES;

NAME                                                    FAILOVER_TYPE
------------------------------------------------------- --------------
nv123abc1_adb1_high.adb.oraclecloud.com      

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 DISABLE_FEATURE

Cette procédure désactive la fonctionnalité indiquée sur l'instance Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name    IN  VARCHAR2);

Paramètres

Paramètre Description

feature_name

Spécifie le type de fonctionnalité à désactiver. Les valeurs admises sont les suivantes :

  • 'AUTO_DST_UPGRADE' : désactivation de la fonction AUTO DST.

  • 'AUTO_DST_UPGRADE_EXCL_DATA' : désactivation de la fonction AUTO DST EXCL DATA.

  • 'ORAMTS' : désactivez la fonctionnalité OraMTS.

  • 'OWM' : désactiver Oracle Workspace Manager.

  • 'WORKLOAD_AUTO_REPLAY' : désactivation de la fonctionnalité de réexécution automatique de la charge globale.

Ce paramètre est obligatoire.

Exemples

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'ORAMTS');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'AUTO_DST_UPGRADE');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'OWM');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'WORKLOAD_AUTO_REPLAY');   
END;
/

Notes d'utilisation

  • Afin de désactiver les fonctionnalités OraMTS, AUTO_DST_UPGRADE, AUTO_DST_UPGRADE_EXCL_DATA, OWM ou WORKLOAD_AUTO_REPLAY pour votre instance Autonomous Database, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

  • Lorsque AUTO_DST_UPGRADE et AUTO_DST_UPGRADE_EXCL_DATA sont désactivés, si de nouvelles versions de fuseau horaire sont disponibles, l'instance Autonomous Database n'est pas mise à niveau pour utiliser les derniers fichiers de fuseau horaire disponibles.

  • Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE est désactivé.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    0 rows selected.
  • Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE_EXCL_DATA est désactivé.
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    0 rows selected.  

Procédure DISABLE_OPERATOR_ACCESS

Cette procédure révoque immédiatement l'accès d'opérateur cloud sur l'instance Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.DISABLE_OPERATOR_ACCESS;

Exemple

BEGIN 
    DBMS_CLOUD_ADMIN.DISABLE_OPERATOR_ACCESS;   
END;
/

Procédure DISABLE_PRINCIPAL_AUTH

Cette procédure révoque l'authentification basée sur le principal pour un fournisseur indiqué sur Autonomous Database et s'applique à l'utilisateur ADMIN ou à l'utilisateur indiqué.

Syntaxe

DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider    IN VARCHAR2,
       username    IN VARCHAR2 DEFAULT 'ADMIN' );

Paramètres

Paramètre Description

provider

Spécifie le type de fournisseur.

Valeurs valides :

  • AWS
  • AZURE
  • GCP
  • OCI

username

Spécifier l'utilisateur pour lequel désactiver l'authentification basée sur le principal.

Une valeur NULL est valide pour username. Si username n'est pas spécifié, la procédure s'applique à l'utilisateur "ADMIN".

Notes d'utilisation

  • Lorsque la valeur du fournisseur est AZURE et que username est ADMIN, la procédure désactive l'authentification basée sur le principal de service Azure sur Autonomous Database et supprime l'application Azure sur l'instance Autonomous Database.

  • Lorsque la valeur de fournisseur est AZURE et que username est un utilisateur autre que l'utilisateur ADMIN, la procédure révoque les privilèges de l'utilisateur indiqué. L'utilisateur ADMIN et les autres utilisateurs qui sont activés pour utiliser le principal de service Azure peuvent continuer à utiliser ADMIN.AZURE$PA et l'application créée pour l'instance Autonomous Database reste sur l'instance.

Exemples

BEGIN 
     DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider => 'AZURE',
       username => 'SCOTT');
END;
/
BEGIN 
     DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider => 'GCP');
END;
/

Procédure DISABLE_RESOURCE_PRINCIPAL

Désactivez les informations d'identification de principal de ressource pour la base de données ou pour le schéma indiqué.

Syntaxe

DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL(
   username         IN VARCHAR2);

Paramètre

Paramètre Description

username

Spécifie un nom d'utilisateur facultatif. Nom du schéma de base de données pour enlever l'accès au principal de ressource.

Si vous ne fournissez pas de valeur username, username est défini sur ADMIN et la commande enlève les informations d'identification OCI$RESOURCE_PRINCIPAL.

Exceptions

Exception Erreur Description
resource principal is already disabled ORA-20031

Si vous tentez de désactiver le principal de ressource alors qu'il est déjà désactivé.

Notes d'utilisation

  • Le principal de ressource n'est pas disponible avec des clones actualisables.

  • Vous devez configurer un groupe dynamique et des stratégies pour le groupe dynamique avant d'appeler DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL.

    Pour plus d'informations sur la création de stratégies, de groupes dynamiques et de règles, reportez-vous aux sections suivantes :

  • Vérifiez qu'une information d'identification de principal de ressource est activée en interrogeant l'une des vues : DBA_CREDENTIALS ou ALL_TAB_PRIVS.

    Par exemple, lorsque l'utilisateur ADMIN interroge la vue DBA_CREDENTIALS :

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN'; 
    
    OWNER  CREDENTIAL_NAME
    -----  ----------------------
    ADMIN  OCI$RESOURCE_PRINCIPAL 
    

    Par exemple, en tant qu'utilisateur non-ADMIN, interrogez la vue ALL_TAB_PRIVS :

    SELECT grantee, table_name, grantor, FROM ALL_TAB_PRIVS 
              WHERE  grantee = 'ADB_USER';
    
    GRANTEE   TABLE_NAME GRANTOR
    --------- -------------------------------------
    ADB_USER  OCI$RESOURCE_PRINCIPAL ADMIN

Exemple

EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL();

PL/SQL procedure successfully completed. 

SQL> select owner, credential_name from dba_credentials where credential_name = 'OCI$RESOURCE_PRINCIPAL'; 

No rows selected.

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.

Exemples

BEGIN
    DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name => 'SALESLINK' );
END;
/
BEGIN
    DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name => 'SALESLINK' 
        public_link => TRUE );
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, afin de garantir la sécurité de la base de données Oracle, enlevez tous les fichiers de portefeuille stockés. Par exemple :

  • Enlevez le fichier de portefeuille dans la banque d'objets.

  • Utilisez DBMS_CLOUD.DELETE_FILE pour enlever le fichier de portefeuille du répertoire data_pump_dir ou du répertoire défini par l'utilisateur où le fichier de portefeuille a été téléchargé.

Procédure ENABLE_APP_CONT

Cette procédure permet la continuité des applications de base de données pour la session associée au nom de service indiqué dans Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_APP_CONT(
    service_name      IN VARCHAR2);

Paramètres

Paramètre Description

service_name

service_name pour le service Autonomous Database.

Pour rechercher des noms de service :

  • Consultez le fichier tnsnames.ora dans le fichier wallet.zip que vous téléchargez à partir d'une instance Autonomous Database pour votre connexion.

  • Cliquez sur Connexion à la base de données dans la console Oracle Cloud Infrastructure. Dans la zone Chaînes de connexion, chaque chaîne de connexion inclut une entrée service_name qui contient la chaîne de connexion pour le service correspondant. Lorsque les connexions TLS mutuelles (mTLS) et TLS sont autorisées, sous Authentification TLS, sélectionnez TLS pour afficher les noms TNS et les chaînes de connexion pour les connexions avec l'authentification TLS. Pour plus d'informations, reportez-vous à Affichage des noms TNS et des chaînes de connexion pour une instance Autonomous Database.

  • Interrogez la vue V$SERVICES. Par exemple :

    SELECT name FROM V$SERVICES;

Notes d'utilisation

Pour plus d'informations sur la continuité des applications, reportez-vous à Présentation de la continuité des applications.

Exemple

BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_APP_CONT(
        service_name => 'nvthp2ht_adb1_high.adb.oraclecloud.com'
    );
END;
/

Vérifiez la valeur de la manière suivante :

SELECT name, failover_type FROM DBA_SERVICES;

NAME                                                    FAILOVER_TYPE
------------------------------------------------------- -------------
nvthp2ht_adb1_high.adb.oraclecloud.com                 TRANSACTION

Procédure ENABLE_AWS_ARN

Cette procédure permet à une instance Autonomous Database d'utiliser des noms de ressource Amazon (ARN) pour accéder aux ressources AWS.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_AWS_ARN(
       username     IN VARCHAR2 DEFAULT NULL,
       grant_option IN BOOLEAN DEFAULT FALSE);

Paramètres

Paramètre Description

username

Nom de l'utilisateur à activer pour utiliser les noms de ressource Amazon (ARN).

Une valeur NULL est valide pour username. Si username n'est pas spécifié, la procédure s'applique à l'utilisateur "ADMIN".

grant_option

Lorsque username est fourni, si grant_option est TRUE, username spécifié peut activer l'utilisation des noms de ressource Amazon (ARN) pour d'autres utilisateurs.

Exemple

BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_AWS_ARN(
        username => 'adb_user'); 
END;
/

Remarque sur l'utilisation

  • Vous devez être l'utilisateur ADMIN pour exécuter la procédure DBMS_CLOUD_ADMIN.ENABLE_AWS_ARN.

Pour plus d'informations, reportez-vous à Utilisation des noms de ressource Amazon (ARN) pour accéder aux ressources AWS.

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ètre

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 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 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 Autonomous Database.

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 Autonomous Database.
  • 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 Autonomous Database.
  • application_id_uri : URI unique affecté à l'application Azure.

    Il s'agit de l'identificateur de l'instance Autonomous Database. 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.

Notes d'utilisation

  • Avec type OCI_IAM, si le principal de ressource n'est pas activé sur l'instance Autonomous Database, ce sous-programme active le principal de ressource avec DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL.

  • Cette procédure définit les paramètres système IDENTITY_PROVIDER_TYPE et IDENTITY_PROVIDER_CONFIG afin que les utilisateurs requis puissent accéder à l'instance avec l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management.

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 via l'argument JSON params.

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'CMU',
     force => TRUE,
     params => JSON_OBJECT('directory_name' value 'CMU_DIR'); // CMU_DIR directory object already exists
END;
/

PL/SQL procedure successfully completed.

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

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.

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

PL/SQL procedure successfully completed.

Vous transmettez un URI d'emplacement pointant vers un emplacement Object Storage qui contient des fichiers de configuration Kerberos via l'argument JSON params :

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'KERBEROS',
     force => TRUE,
     params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                           'credential_name' value 'my_credential_name');
END;
/

Vous transmettez un nom de service avec kerberos_service_name dans l'argument JSON params :

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'KERBEROS',
     force => TRUE,
     params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR', // KERBEROS_DIR directory object already exists
                           'kerberos_service_name' value 'oracle' ));
END;
/

Une fois que Kerberos est activé sur votre instance Autonomous Database, utilisez la requête suivante pour afficher le nom de service Kerberos :

SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;

Procédure ENABLE_FEATURE

Cette procédure active la fonctionnalité indiquée sur l'instance Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
    feature_name     IN VARCHAR2,
    params           IN  CLOB   DEFAULT NULL);

Paramètres

Paramètre Description

feature_name

Nom de la fonctionnalité à activer. Les valeurs prises en charge sont :

  • 'AUTO_DST_UPGRADE' : activer la fonction d'heure d'été AUTO.

  • 'AUTO_DST_UPGRADE_EXCL_DATA' : activer la fonction AUTO DST EXCL DATA.

  • 'JAVAVM' : activez la fonctionnalité JAVAVM.

  • 'OLAP' : activer la fonctionnalité OLAP. OLAP exige que Java soit activé. Lorsque vous activez OLAP, Java est automatiquement activé avec la fonctionnalité OLAP.

  • 'ORAMTS' : activez la fonctionnalité OraMTS.

  • 'OWM' : activer Oracle Workspace Manager.

  • 'WORKLOAD_AUTO_REPLAY' : activez la fonctionnalité de réexécution automatique de la charge globale.

Ce paramètre est obligatoire.

params

Chaîne JSON qui fournit des paramètres supplémentaires pour certaines fonctionnalités.

Pour la fonctionnalité OraMTS, le paramètre params est :
  • location_uri : location_uri accepte une valeur string. La valeur indique l'URL HTTPS du serveur OraMTS dans un réseau client.

Pour la fonctionnalité WORKLOAD_AUTO_REPLAY, les paramètres params sont les suivants :

  • target_db_ocid : valeur string. La valeur indique l'OCID d'une base de données clone actualisable cible sur laquelle la charge globale capturée est réexécutée. Le niveau de patch Précédent du clone actualisable doit être défini.

    Ce paramètre est obligatoire.

  • capture_duration : valeur number. La valeur indique la durée en minutes pendant laquelle la charge globale est capturée dans la base de données de production. La valeur doit être comprise entre 1 et 720 minutes.

    Ce paramètre est obligatoire.

  • capture_day : valeur string. Cette valeur indique le jour de la semaine auquel la capture de la charge globale sur la base de données de production doit commencer.

    Ce paramètre est facultatif.

  • capture_time : valeur au format HH24:MM. Cette valeur indique l'heure à laquelle la capture de la charge globale sur la base de données de production doit commencer.

    Ce paramètre est facultatif.

Par défaut, la capture de charge globale démarre lorsque vous activez WORKLOAD_AUTO_REPLAY. Si les valeurs facultatives capture_day et capture_time sont indiquées, la capture et la réexécution ont lieu à l'horodatage indiqué. Par exemple, si capture_day est lundi et capture_time est 15:00, la première capture a lieu à 3PM le lundi suivant. Le jour de la semaine et l'heure sont également utilisés pour planifier la réexécution ultérieure sur le clone actualisable.

Exemple d'activation de la fonctionnalité JAVAVM :

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'JAVAVM' );
END;
/

Exemple d'activation de la fonction de changement d'heure automatique :

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'AUTO_DST_UPGRADE' );
END;
/

Exemple d'activation de la fonction de données EXCL de l'heure d'été automatique :

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA' );
END;
/

Exemple d'activation de la fonction OraMTS :

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'ORAMTS',   
        params       => JSON_OBJECT('location_uri' VALUE 'https://mymtsserver.mycorp.com')
   );
END;
/

Exemple d'activation de la fonctionnalité OWM :

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'OWM' );
END;
/

Exemple d'activation de la fonction de réexécution automatique de charge globale

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'WORKLOAD_AUTO_REPLAY',
        params       => JSON_OBJECT('target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1', 'capture_duration' VALUE 120, 'capture_day' VALUE 'MONDAY', 'capture_time' VALUE '15:00'));
END;
/

Une valeur d'erreur ORA-20000: Invalid argument for target_db_ocid peut indiquer que l'OCID que vous avez fourni n'est pas un clone actualisable. Dans ce cas, vous devez fournir un OCID avec une valeur pour un clone actualisable.

Notes d'utilisation

  • Vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN pour exécuter DBMS_CLOUD_ADMIN.ENABLE_FEATURE.

  • Après avoir exécuté DBMS_CLOUD_ADMIN.ENABLE_FEATURE avec la valeur feature_name 'JAVAVM', vous devez redémarrer l'instance Autonomous Database pour installer Oracle Java.

    Après avoir redémarré l'instance Autonomous Database, l'installation de Java se poursuit pendant un certain temps après l'ouverture de la base de données.

    Pour plus d'informations sur la vérification du statut de l'installation Java, reportez-vous à Vérification de la version Oracle Java.

  • Une fois que vous avez exécuté DBMS_CLOUD_ADMIN.ENABLE_FEATURE avec la valeur feature_name 'OWM', vous devez redémarrer l'instance Autonomous Database pour activer Oracle Workspace Manager. Oracle.

  • Pour activer les fonctionnalités AUTO_DST_UPGRADE, AUTO_DST_UPGRADE_EXCL_DATA, ORAMTS, JAVAVM, OWM ou WORKLOAD_AUTO_REPLAY pour votre base de données, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

  • Par défaut, AUTO_DST_UPGRADE et AUTO_DST_UPGRADE_EXCL_DATA sont désactivés. Vous pouvez activer l'une ou l'autre de ces options, mais pas les deux.

  • Après avoir activé AUTO_DST_UPGRADE, lors du prochain redémarrage ou de l'arrêt, puis du démarrage de l'instance Autonomous Database, l'instance est mise à niveau pour utiliser les derniers fichiers de fuseau horaire disponibles. Une fois AUTO_DST_UPGRADE activé, lorsque de nouveaux fichiers de fuseau horaire sont disponibles, l'instance continue d'effectuer la mise à niveau vers la dernière version disponible à chaque redémarrage ou arrêt et démarrage ultérieurs, jusqu'à ce que la fonctionnalité soit désactivée.

    Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE est activé.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    PARAM_NAME       PARAM_VALUE
    ---------------- -------------- 
    auto_dst_upgrade enabled
  • Une fois que vous avez activé AUTO_DST_UPGRADE_EXCL_DATA, l'instance Autonomous Database est mise à niveau pour utiliser les derniers fichiers de fuseau horaire disponibles. Une fois cette fonctionnalité activée, chaque fenêtre de maintenance suivante met à niveau l'instance pour utiliser la dernière version de fuseau horaire disponible. Cette fonctionnalité garantit que les fichiers de fuseau horaire sont mis à niveau pour la base de données (l'activation de AUTO_DST_UPGRADE_EXCL_DATA ne met pas à jour les lignes concernées).

    Interrogez dba_cloud_config pour vérifier que AUTO_DST_UPGRADE_EXCL_DATA est activé.

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    PARAM_NAME                    PARAM_VALUE
    --------------------------    -----------
    auto_dst_upgrade_excl_data    enabled

Procédure ENABLE_OPERATOR_ACCESS

Oracle Cloud Operations n'accède pas à votre instance Autonomous Database et l'accès est interdit par défaut. Lorsque l'accès est requis pour résoudre ou atténuer un problème, vous pouvez autoriser un opérateur cloud à accéder aux schémas de base de données pendant une durée limitée.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS(
    auth_duration    IN  NUMBER  DEFAULT 1
);

Paramètres

Paramètre Description

auth_duration

Indique le nombre d'heures pendant lesquelles l'opérateur cloud dispose d'un accès.

Valeurs valides : doit être un nombre entier compris entre 1 et 24.

Valeur par défaut : 1

Exemple

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS(
       auth_duration => 12 );
END;
/

Notes d'utilisation

  • ORA-20000: Operator access is already enabled indique que l'accès de l'opérateur a déjà été accordé. Dans ce cas, vous avez deux options :

    • Attendez que l'accès de l'opérateur expire, puis accordez à nouveau l'accès de l'opérateur avec DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS

    • Désactivez explicitement l'accès de l'opérateur avec la procédure DISABLE_OPERATOR_ACCESS.
  • DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS autorise uniquement l'accès à l'opérateur cloud et n'autorise l'accès à aucun autre utilisateur. Toutes les opérations effectuées par l'opérateur cloud sont stockées dans la vue DBA_OPERATOR_ACCESS. Pour plus d'informations, reportez-vous à Visualisation d'Oracle Cloud Infrastructure Operations Actions.

  • Vous autorisez un opérateur cloud à accéder aux schémas de base de données en exécutant la procédure DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS. Cela signifie que si vous enregistrez une demande de service auprès du support technique Oracle Cloud et que les opérateurs Oracle Cloud doivent accéder aux schémas de base de données, vous devez également activer l'accès des opérateurs en exécutant DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS.

Procédure ENABLE_PRINCIPAL_AUTH

Cette procédure active l'authentification de principal sur Autonomous Database pour le fournisseur indiqué et s'applique à l'utilisateur ADMIN ou à l'utilisateur indiqué.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
       provider    IN VARCHAR2,
       username    IN VARCHAR2 DEFAULT 'ADMIN',
       params      IN CLOB DEFAULT NULL);

Paramètres

Paramètre Description

provider

Spécifie le type de fournisseur.

Valeurs valides :

  • AWS : activer l'utilisation des noms de ressource Amazon (ARN)
  • AZURE : activer l'utilisation du principal de service Azure
  • GCP : Activer l'utilisation du compte de service Google
  • OCI : activer l'utilisation du principal de ressource

username

Nom de l'utilisateur pour lequel l'utilisation de l'authentification du principal est activée.

Une valeur NULL est valide pour username. Si username n'est pas spécifié, la procédure s'applique à l'utilisateur "ADMIN".

params

Spécifie les paramètres de configuration.

Lorsque le paramètre provider est AWS, GCP ou OCI, params n'est pas requis. La valeur par défaut est NULL.

grant_option : ce paramètre est valide pour tous les fournisseurs et est une valeur booléenne TRUE ou FALSE. Par défaut, FALSE.

Lorsque TRUE et username sont indiqués, l'utilisateur indiqué peut utiliser ENABLE_PRINCIPAL_AUTH pour activer d'autres utilisateurs.

Lorsque le paramètre provider est AWS, les options suivantes sont également valides :

Lorsque le paramètre provider est AZURE, cette option est également valide :

  • azure_tenantid : avec la valeur de l'ID de locataire Azure.

Notes d'utilisation

  • Lorsque le paramètre provider est AZURE, le paramètre params doit inclure azure_tenantid dans les cas suivants :

    • Lors du premier appel de DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH.

    • Lorsque DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH est appelé pour la première fois après DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH, le paramètre provider AZURE et username ADMIN sont utilisés.

  • Lorsque le paramètre provider est AWS :

    • Une fois que vous avez activé ARN sur l'instance Autonomous Database en exécutant DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH, les informations d'identification nommées AWS$ARN peuvent être utilisées avec n'importe quelle API DBMS_CLOUD qui prend des informations d'identification en tant qu'entrée.

Exemples

BEGIN 
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
       provider => 'AZURE',
       username => 'SCOTT',
       params   => JSON_OBJECT('azure_tenantid' value 'azure_tenantid'));
END;
/
BEGIN
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( 
     provider => 'GCP',
     username => 'SCOTT',
     params => JSON_OBJECT(
         'grant_option' value 'TRUE' ));
END;
/
BEGIN
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( 
     provider => 'AWS',
     username => 'SCOTT',
     params => JSON_OBJECT(
         'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
          'external_id_type' value 'TENANT_OCID'));
END;
/

Procédure ENABLE_RESOURCE_PRINCIPAL

Activez les informations d'identification de principal de ressource pour la base de données ou pour le schéma indiqué. Cette procédure crée les informations d'identification OCI$RESOURCE_PRINCIPAL.

Syntaxe

DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(
   username         IN VARCHAR2,
   grant_option     IN BOOLEAN DEFAULT FALSE);

Paramètre

Paramètre Description

username

Spécifie un nom d'utilisateur facultatif. Nom du schéma de base de données auquel l'accès au principal de ressource doit être accordé.

Si vous n'indiquez pas de valeur username, username est défini sur ADMIN.

grant_option

Lorsque username est fourni, si grant_option est TRUE, username spécifié peut activer l'utilisation du principal de ressource pour d'autres utilisateurs.

Exceptions

Exception Erreur Description
resource principal is already enabled ORA-20031

Si vous tentez d'activer le principal de ressource alors qu'il est déjà activé.

Notes d'utilisation

  • Vous devez appeler DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL avec l'administrateur username ou sans argument avant d'appeler DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL avec un élément username pour un schéma utilisateur de base de données.

  • Vous devez configurer un groupe dynamique et des stratégies pour le groupe dynamique avant d'appeler DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL.

    Pour plus d'informations sur les stratégies, la création d'un groupe dynamique et la création de règles, reportez-vous aux sections suivantes :

  • L'activation du principal de ressource avec DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL est une opération unique. Vous n'avez pas besoin d'activer à nouveau le principal de ressource, sauf si vous exécutez DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL pour désactiver le principal de ressource.

  • Le principal de ressource n'est pas disponible avec des clones actualisables.

Exemple

EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();

PL/SQL procedure successfully completed. 

SQL> select owner, credential_name from dba_credentials where credential_name = 'OCI$RESOURCE_PRINCIPAL'; 

OWNER    CREDENTIAL_NAME
-------  ---------------
ADMIN    OCI$RESOURCE_PRINCIPAL

Procédure FINISH_WORKLOAD_CAPTURE

Cette procédure termine la capture de charge globale en cours, arrête toutes les demandes de capture de charge globale ultérieures à la base de données et télécharge les fichiers de capture vers Object Storage.

Exemple

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE
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 sur DBMS_CLOUD_ADMIN.

  • Lorsque vous transmettez le paramètre duration à START_WORKLOAD_CAPTURE, la capture se termine lorsqu'elle atteint l'heure indiquée. Toutefois, si vous appelez FINISH_WORKLOAD_CAPTURE, la capture de la charge globale est arrêtée (peut-être avant l'heure indiquée avec le paramètre de durée).

    Vous pouvez interroger la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut de fin de la charge globale. Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View.

Remarque

Vous devez vous abonner à l'événement d'information com.oraclecloud.databaseservice.autonomous.database.information pour être informé de la fin de FINISH_WORKLOAD_CAPTURE, ainsi qu'au lien Object Storage pour télécharger le fichier de capture. Cette URL de demande pré-authentifiée figure dans le champ captureDownloadURL de l'événement et est valide pendant 7 jours à compter de la date de génération. Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

Procédure PREPARE_REPLAY

La procédure PREPARE_REPLAY prépare le clone actualisable pour une réexécution.

Paramètres

Paramètre Description
capture_name Spécifie le nom de la capture de charge globale.

Ce paramètre est obligatoire.

Syntaxe

DBMS_CLOUD_ADMIN.PREPARE_REPLAY(
        capture_name IN VARCHAR2);

Exemple

BEGIN
    DBMS_CLOUD_ADMIN.PREPARE_REPLAY
      capture_name => 'cap_test1');
END;
/

Cet exemple prépare le clone actualisable pour réexécuter la charge globale indiquée par le paramètre capture_name, ce qui implique de l'amener à l'heure de début de la capture, puis de la déconnecter.

Remarque sur l'utilisation

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

Procédure PURGE_FLASHBACK_ARCHIVE

Cette procédure permet aux utilisateurs ADMIN de purger les données historiques de Flashback Data Archive. Vous pouvez soit purger toutes les données historiques de Flashback Data Archive flashback_archive, soit sélectionner des données en fonction de l'horodatage ou du numéro de modification système.

Syntaxe

DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE( 
   scope      IN VARCHAR2, 
   before_scn IN INTEGER DEFAULT NULL, 
   before_ts  IN TIMESTAMP DEFAULT NULL); 
Paramètre Description
scope Indique la portée de la suppression des données de la Flashback Data Archive.
  • all implique que PURGE ALL;before_scn et before_timestamp doivent tous deux avoir la valeur NULL.

  • scn implique que PURGE BEFORE SCN;before_scn doit être différent de NULL et before_timestamp doit être NULL.

  • TIMESTAMP implique que PURGE BEFORE timestamp;before_scn doit avoir la valeur NULL et before_timestamp ne doit pas avoir la valeur NULL.

before_scn Indique le numéro de modification système avant lequel toutes les données sont supprimées de la Flashback Archive.
before_timestamp Indique l'horodatage avant lequel toutes les données sont supprimées de l'archive Flashback.

Exemple

BEGIN
	DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE(
           scope => 'ALL'); // Purge all historical data from Flashback Data Archive flashback_archive
END;
/

Procédure REPLAY_WORKLOAD

Cette procédure lance une réexécution de charge globale sur votre instance Autonomous Database. Le formulaire surchargé vous permet de réexécuter les fichiers de capture à partir d'une instance Autonomous Database, d'une base de données sur site ou d'autres bases de données de service cloud.

Syntaxe


DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        capture_name                  IN VARCHAR2,        
        replay_name                   IN VARCHAR2 DEFAULT NULL,
        capture_source_tenancy_ocid   IN VARCHAR2 DEFAULT NULL,
        capture_source_db_name        IN VARCHAR2 DEFAULT NULL);

DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        location_uri      IN VARCHAR2,               
        credential_name   IN VARCHAR2 DEFAULT NULL,
        synchronization   IN BOOLEAN  DEFAULT TRUE,
        process_capture   IN BOOLEAN  DEFAULT TRUE);

Paramètres

Paramètre Description
CAPTURE_NAME Spécifie le nom de la capture de charge globale.

Ce paramètre est obligatoire.

REPLAY_NAME Spécifie le nom de réexécution.

Si vous ne fournissez pas de valeur REPLAY_NAME, REPLAY_NAME est généré automatiquement avec le format REPLAY_RANDOMNUMBER, par exemple, REPLAY_1678329506.

CAPTURE_SOURCE_TENANCY_OCID Indique l'OCID de location source de la capture de charge globale.

Si vous n'indiquez pas de valeur CAPTURE_SOURCE_TENANCY_OCID, CAPTURE_SOURCE_TENANCY_OCID est défini sur NULL.

Ce paramètre n'est obligatoire que lors de l'exécution de la capture de charge globale dans un clone complet.

CAPTURE_SOURCE_DB_NAME Indique le nom de la base de données source de la capture de charge globale.

Si vous n'indiquez pas de valeur CAPTURE_SOURCE_DB_NAME, CAPTURE_SOURCE_DB_NAME est défini sur NULL.

Ce paramètre n'est obligatoire que lors de l'exécution de la capture de charge globale dans un clone complet.

LOCATION_URI Spécifie l'URI qui pointe vers un emplacement Object Storage contenant les fichiers capturés.

Ce paramètre est obligatoire.

CREDENTIAL_NAME Indique les informations d'identification permettant d'accéder au bucket de stockage d'objet.

Si vous ne fournissez pas de valeur credential_name, les informations d'identification par défaut de la base de données sont utilisées.

SYNCHRONIZATION Indique la méthode de synchronisation utilisée lors de la réexécution de la charge globale.
  • TRUE indique que la synchronisation est basée sur SCN.

  • FALSE indique que la synchronisation est basée sur TIME.

Si vous ne fournissez pas de valeur synchronization, synchronization est défini sur TRUE.

PROCESS_CAPTURE Indique si vous devez indiquer la valeur process_capture. Il ne peut être défini sur FALSE que lorsque vous réexécutez la même charge globale sur la base de données cible à plusieurs reprises.

Si vous ne fournissez pas de valeur process_capture, process_capture est défini sur TRUE.

Exemple de réexécution de la charge globale à partir d'une base de données sur site sur une instance Autonomous Database :

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
        credential_name => 'CRED_TEST',
        synchronization => TRUE,
        process_capture => TRUE);    
END;
/

Lorsque vous exécutez cet exemple :

  • Télécharge les fichiers de capture à partir de l'emplacement Object Storage indiqué dans location_uri et traite les fichiers de capture en fonction de la valeur du paramètre process_capture.

  • Permet d'afficher la charge globale capturée en fonction de la valeur du paramètre synchronization.

Dans cet exemple, namespace-string est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.

Pour plus d'informations sur Object Storage, reportez-vous à Accès à Oracle Cloud Infrastructure Object Storage et création d'un bucket.

Pour plus d'informations sur le téléchargement de fichiers vers Object Storage, reportez-vous à Téléchargement de fichiers vers le bucket de banque d'objets Oracle Cloud Infrastructure.

Le fichier credential_name que vous utilisez dans cette étape correspond aux informations d'identification de la banque d'objets.

Vous n'avez pas besoin de créer d'informations d'identification pour accéder à la banque d'objets Oracle Cloud Infrastructure si vous activez les informations d'identification de principal de ressource. Pour plus d'informations, reportez-vous à Utilisation du principal de ressource pour accéder à des ressources Oracle Cloud Infrastructure.

Exemple de réexécution de la charge globale à partir d'une instance Autonomous Database sur une autre instance Autonomous Database :

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        capture_name => 'CAP_TEST1');
END;
/

Lorsque vous exécutez cet exemple :

  • Déconnecte l'instance Autonomous Database en cours.

  • Télécharge les fichiers de capture depuis Object Storage.

  • Permet de réexécuter la charge globale capturée.

  • Télécharge le rapport de réexécution après une réexécution.

Notes d'utilisation pour la réexécution de la charge globale à partir d'une base de données sur site ou d'une autre base de données Cloud Service sur une autre base de données Autonomous Database

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

  • Avant de lancer la réexécution, vous devez télécharger les sous-répertoires cap et capfiles, qui contiennent les fichiers de capture de charge globale, vers l'emplacement de stockage d'objets.

Notes d'utilisation pour la réexécution de la charge globale à partir d'une instance Autonomous Database sur une autre instance Autonomous Database

  • Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE sur DBMS_CLOUD_ADMIN.

  • Les fichiers de réexécution sont automatiquement téléchargés vers la banque d'objets sous forme de fichier ZIP.

  • Vous pouvez interroger la vue DBA_CAPTURE_REPLAY_STATUS pour vérifier le statut de réexécution de la charge globale.

    Pour plus d'informations, reportez-vous à DBA_CAPTURE_REPLAY_STATUS View.

Remarque

Vous devez vous abonner à l'événement d'information com.oraclecloud.databaseservice.autonomous.database.information pour être informé du début et de la fin de REPLAY_WORKLOAD, ainsi qu'au lien Object Storage pour télécharger les rapports de réexécution. Cette URL de demande pré-authentifiée figure dans le champ replayDownloadURL de l'événement et est valide pendant 7 jours à compter de la date de génération. Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.

Procédure SET_FLASHBACK_ARCHIVE_RETENTION

Cette procédure permet aux utilisateurs ADMIN de modifier la période de conservation pour Flashback Data Archive flashback_archive.

Syntaxe


DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION (
    retention_days INTEGER);
Paramètre Description
retention_days Indique la durée (en jours) pendant laquelle les données archivées doivent être conservées. La valeur de retention_days doit être supérieure à 0.

Exemple

BEGIN
     DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION(
           retention_days => 90); // sets the retention time to 90 days
END;
/

Procédure START_WORKLOAD_CAPTURE

Cette procédure lance une capture de charge globale sur votre instance Autonomous Database.

Syntaxe

DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name  IN VARCHAR2,
        duration      IN NUMBER   DEFAULT NULL);

Paramètres

Paramètre Description
capture_name Spécifie le nom de la capture de charge globale.

Ce paramètre est obligatoire.

duration Indique la durée en minutes pendant laquelle vous souhaitez exécuter la capture de charge globale.
  • Si vous n'indiquez pas de valeur duration, duration est défini sur NULL.

  • Si la valeur est NULL, la charge globale continue jusqu'à ce que vous exécutiez la procédure FINISH_WORKLOAD_CAPTURE.

Exemple

BEGIN 
  DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test');
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 sur DBMS_CLOUD_ADMIN.

  • Pour mesurer l'impact d'une modification système sur une charge globale, vous devez vous assurer que les systèmes de capture et de réexécution sont dans le même état logique.

  • Avant de lancer une capture de charge globale, vous devez envisager de provisionner un clone actualisable afin de garantir le même point de départ pour la réexécution.

Remarque

Vous devez vous abonner à l'événement Information com.oraclecloud.databaseservice.autonomous.database.information pour être averti au début de START_WORKLOAD_CAPTURE. Pour plus d'informations, reportez-vous à Evénements d'informations sur Autonomous Database.