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 Remarque : vous pouvez utiliser un nom de domaine qualifié complet ou une adresse IP. Exemple :
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.
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
-
Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège
EXECUTEsurDBMS_CLOUD_ADMIN. -
Vous devez disposer du privilège
WRITEsur l'objet de répertoire dans la base de données pour joindre un système de fichiers à l'aide deDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM. -
La procédure
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMpeut 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 d'un système d'exploitation pour accéder à la base de données.
-
La procédure
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMrecherche le nom d'hôte du système de fichiers 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 connecté qui utilise NFSv3 et que la version NFS est mise à jour vers NFSv4 dans le serveur NFS, vous devez exécuter
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM, puisDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(à l'aide du paramètreparamsavecnfs_versiondéfini sur 4). Cela attache NFS avec le protocole correspondant afin qu'Autonomous AI Database puisse accéder au serveur NFSv4. Sans détachement puis réattachement, le serveur NFS est inaccessible et vous pouvez voir une erreur telle que :"Protocol not supported".
Procédure CREATE_DATABASE_LINK
Cette procédure crée un lien de base de données vers une base de données cible dans le schéma appelant l'API.
Les formulaires surchargés prennent en charge les éléments suivants :
-
Lorsque vous utilisez le paramètre
gateway_params, 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 AI sur une adresse privée et une base de données Oracle RAC cible. Dans ce cas, vous utilisez le paramètrerac_hostnamespour 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 Lorsque vous indiquez une connexion avec une connectivité hétérogène gérée par Oracle en fournissant le paramètre
Utilisez ce paramètre ou L'entrée |
rac_hostnames |
Spécifie les noms d'hôte de la base de données Oracle RAC cible. La valeur est un tableau JSON qui spécifie 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 " Lorsque la cible est une base de données Oracle RAC, utilisez le paramètre Lorsque vous indiquez une liste de noms d'hôte dans le paramètre Utilisez ce paramètre ou La spécification de |
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
|
service_name |
Lorsque vous indiquez une connexion avec une connectivité hétérogène gérée par Oracle à l'aide du paramètre |
ssl_server_cert_dn |
Valeur de nom distinctif trouvée dans le certificat 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 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 :
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 :
|
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 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 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 :
En outre, pour se connecter à une base de données Autonomous AI avec TCP, le paramètre 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 :
|
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 Si Lorsque La valeur par défaut de ce paramètre est |
public_link |
Indique si le lien de base de données est créé en tant que lien de base de données public. Pour exécuter La valeur par défaut de ce paramètre est |
private_target |
Lorsqu'un lien de base de données accède à un nom d'hôte qui doit être résolu dans un serveur DNS VCN, indiquez le paramètre Lorsque La valeur par défaut de ce paramètre est |
gateway_params |
Indiquez le paramètre avec le formulaire Exemple :
Lorsque Lorsque |
Remarques sur l'utilisation
-
Lorsque vous indiquez le paramètre
gateway_params, pour certaines valeursdb_type, des paramètresgateway_paramssupplémentaires sont pris en charge :db_typeValeurs gateway_paramssupplémentairesgoogle_analyticsLorsque db_typeest défini surgoogle_analytics, les informations d'identification que vous indiquez doivent être des informations d'identification OAuth Google(gcp_oauth2). Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.google_bigqueryLorsque
db_typeest défini surgoogle_bigquery, les informations d'identification que vous indiquez doivent être des informations d'identification OAuth Google (gcp_oauth2)Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL).Lorsque
db_typeest défini surgoogle_bigquery, le paramètreprojectest valide. Ce paramètre indique le nom de projet pourgoogle_bigqueryet est obligatoire.Le nom de table que vous indiquez lorsque vous utilisez
SELECTavec Google BigQuery doit être entre guillemets. Exemple :sql SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveLorsque db_typeest défini surhive, le paramètrehttp_pathest valide. Ce paramètre spécifie la valeur HttpPath, si nécessaire, pour la connexion à l'instance Hive.salesforceLorsque le paramètre
db_typeestsalesforce, le paramètresecurity_tokenest valide. Un jeton de sécurité est un code alphanumérique sensible à la casse. Vous devez fournir une valeursecurity_tokenpour accéder à Salesforce. 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é.
servicenowPour vous connecter à ServiceNow et obtenir des données, vous devez fournir les paramètres de passerelle
directory_nameetfile_name. Ces paramètres spécifient un fichier de modèle (fichier de configuration REST) qui 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_paramsavecdb_typeservicenow, deux options sont prises en charge :Authentification de base : vous devez fournir le paramètre
gateway_paramsdb_typeavec la valeur'servicenow', et fournir les paramètresdirectory_nameetfile_nameavec les informations d'identification de type nom utilisateur/mot de passe.Authentification OAuth 2.0 : vous devez fournir le paramètre
gateway_paramsdb_typeavec la valeur'servicenow', les paramètresdirectory_name,file_nameettoken_uri, ainsi que les informations d'identification de type OAuth.
Le paramètre
directory_nameindique 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é. Exemple :
exec DBMS_CLOUD.get_object('servicenow_dir_cred',
'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');Définissez la valeur
file_namesur 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.
snowflakeLorsque
db_typeest défini surSNOWFLAKE, les paramètres facultatifsrole,schemaetwarehousesont valides. Ces valeurs indiquent une valeur de schéma, de rôle ou d'entrepôt différente de la valeur par défaut. Exemple :gateway_params => JSON_OBJECT(
'db_type' value 'snowflake',
'role' value 'ADMIN',
'schema' value 'PUBLIC',
'warehouse' value 'TEST'
) -
Lorsque vous utilisez le paramètre
private_target, notez que les liens de base de données d'une base de données Autonomous AI vers un service de base de données situé sur une adresse privée ne sont pris en charge que dans les régions commerciales et les régions du gouvernement américain.Cette fonction est activée par défaut dans toutes les régions commerciales.
Cette fonctionnalité est activée par défaut dans les régions du gouvernement des Etats-Unis pour les bases de données nouvellement provisionnées.
Pour les bases de données US Government existantes sur une adresse privée, si vous voulez créer des liens de base de données à partir d'une base de données Autonomous AI vers une cible dans une région US Government, envoyez une demande de service au support technique Oracle Cloud et demandez d'activer l'adresse privée dans la fonctionnalité de liaison de base de données des régions gouvernementales.
Les régions du gouvernement des États-Unis sont les suivantes :
-
Lors de la connexion à une base de données non Oracle, la liaison de base de données n'est prise en charge que si la base de données cible est accessible via une adresse IP publique ou un nom d'hôte public.
-
Pour exécuter
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKavec un utilisateur autre qu'ADMIN, vous devez accorder des privilègesEXECUTEetCREATE DATABASE LINKà cet utilisateur. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder des privilèges àatpc_user:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;En outre, lorsque vous créez un lien de base de données dans un schéma autre que le schéma ADMIN, par exemple dans un schéma nommé
atpc_user, le schémaatpc_userdoit posséder les informations d'identification que vous utilisez avecDBMS_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 valeurcwallet.ssoà la fois vers le répertoire de votre choix pour les fichiers de portefeuille. Autrement dit, avec un répertoirecwallet.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 fichierscwallet.ssoavec des liens de base de données, vous devez créer des répertoires supplémentaires et placer chaque fichiercwallet.ssodans un répertoire différent.Pour plus d'informations sur la création de répertoires, reportez-vous à Création d'un répertoire dans la base de données Autonomous AI.
-
Pour créer un lien de base de données vers une base de données d'IA autonome, définissez
GLOBAL_NAMESsurFALSEsur la base de données source (base de données d'IA non autonome).ALTER SYSTEM SET GLOBAL_NAMES = FALSE;System altered.SHOW PARAMETER GLOBAL_NAMESNAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE -
Lorsque le paramètre
private_targetestTRUE, le paramètrehostnameindique un hôte privé dans le VCN.
Exemples
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'DB_LINK_CRED',
username => 'adb_user',
password => 'password');
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'SALESLINK',
hostname => 'adb.eu-frankfurt-1.oraclecloud.com',
port => '1522',
service_name => 'example_medium.atpc.example.oraclecloud.com',
ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
credential_name => 'DB_LINK_CRED');
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AWS_REDSHIFT_LINK_CRED',
username => 'NICK',
password => '*password*'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'AWSREDSHIFT_LINK',
hostname => 'example.com',
port => '5439',
service_name => '*example_service_name*',
ssl_server_cert_dn => NULL,
credential_name => 'AWS_REDSHIFT_LINK_CRED',
gateway_params => JSON_OBJECT('db_type' value 'awsredshift'));
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'PRIVATE_ENDPOINT_CRED',
username => 'db_user',
password => '*password*'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'PRIVATE_ENDPOINT_DB_LINK',
hostname => '*exampleHostname*',
port => '1521',
service_name => '*exampleServiceName*',
credential_name => 'PRIVATE_ENDPOINT_CRED',
ssl_server_cert_dn => NULL,
directory_name => NULL,
private_target => TRUE);
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT( 'gcp_oauth2' value JSON_OBJECT(
'client_id' value 'client_i*',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
db_link_name => 'GOOGLE_BIGQUERY_LINK',
hostname => 'example.com',
port => '443',
service_name => 'example_service_name',
credential_name => 'GOOGLE_BIGQUERY_CRED',
gateway_params => JSON_OBJECT(
'db_type' value 'google_bigquery',
'project' value 'project_name1' ));
END;
/
Le nom de table que vous 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
-
Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège
EXECUTEsurDBMS_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ègeWRITEsur l'objet de répertoire dans la base de données. -
La procédure
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMpeut 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 à Configurer un système de développement pour accéder à la base de données.
-
La procédure
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMrecherche le nom d'hôte du système de fichiers 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_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 La valeur par défaut de ce paramètre est |
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 :
- Enlevez le fichier de portefeuille dans la banque d'objets.
- Utilisez
DBMS_CLOUD.DELETE_FILEpour enlever le fichier de portefeuille du répertoiredata_pump_dirou du répertoire défini par l'utilisateur où le fichier de portefeuille a été téléchargé.
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 .
|
force |
(Facultatif) Remplacez un modèle d'authentification externe actuellement activé. Les valeurs valides sont La valeur par défaut est |
params |
Chaîne JSON qui fournit des paramètres supplémentaires pour l'authentification externe. Paramètres
Paramètres
Paramètres
|
Exceptions
| Exception | Erreur | Description |
|---|---|---|
invalid_ext_auth |
ORA-20004 |
Consultez le message d'accompagnement pour une explication détaillée. |
Remarques sur l'utilisation
-
Avec
typeOCI_IAM, si le principal de ressource n'est pas activé sur l'instance de base de données Autonomous AI, cette routine active le principal de ressource avecDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Cette procédure définit les paramètres système
IDENTITY_PROVIDER_TYPEetIDENTITY_PROVIDER_CONFIGafin que les utilisateurs requis puissent accéder à l'instance avec l'authentification et l'autorisation Oracle Cloud Infrastructure Identity and Access Management.
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. |