Paquete DBMS_CLOUD_ADMIN

En esta sección se tratan los subprogramas DBMS_CLOUD_ADMIN que se proporcionan con Autonomous AI Database.

Subprograma Descripción
Procedimiento ATTACH_FILE_SYSTEM Este procedimiento asocia un sistema de archivos en un directorio de la base de datos.
Procedimiento CREATE_DATABASE_LINK Este procedimiento crea un enlace de base de datos a una base de datos destino. Hay opciones para crear un enlace de base de datos a otra instancia de base de datos de IA autónoma, a una instancia de Oracle Database que no sea una base de datos de IA autónoma o a una instancia que no sea de Oracle Database que utilice conectividad heterogénea gestionada por Oracle.
Procedimiento DETACH_FILE_SYSTEM Este procedimiento separa un sistema de archivos de un directorio de la base de datos.
Procedimiento DISABLE_EXTERNAL_AUTHENTICATION Este procedimiento desactiva la autenticación externa para la instancia de la base de datos de IA autónoma.
Procedimiento DROP_DATABASE_LINK Este procedimiento borra un enlace de base de datos.
Procedimiento ENABLE_EXTERNAL_AUTHENTICATION Este procedimiento permite a un usuario conectarse a la base de datos de IA autónoma mediante el esquema de autenticación externa especificado.

Procedimiento ATTACH_FILE_SYSTEM

Este procedimiento asocia un sistema de archivos en la base de datos.

El procedimiento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM asocia un sistema de archivos en la base de datos y almacena información sobre el sistema de archivos en la vista DBA_CLOUD_FILE_SYSTEMS.

Sintaxis

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

Parámetros

parámetro Descripción
file_system_name

Especifica el nombre del sistema del archivo.

Este parámetro es obligatorio.

file_system_location

Especifica la ubicación del sistema del archivo.

El valor que proporciona con file_system_location consta de un nombre de dominio completo (FQDN) y una ruta de archivo con el formato: FQDN:file_path.

Nota: Puede utilizar un FQDN o una dirección IP.

Por ejemplo:

  • NOMBRE DE ARCHIVO: myhost.sub000445.myvcn.oraclevcn.com

    Para Oracle Cloud Infrastructure File Storage, defina el FQDN en Mostrar opciones avanzadas al crear un sistema de archivos. Consulte Creación de sistemas de archivos para más información.

  • Ruta de archivo: /results

Este parámetro es obligatorio.

directory_name

Especifica el nombre del directorio para el sistema de archivos adjunto. El directorio debe existir.

Este parámetro es obligatorio.

description (Opcional) Proporciona una descripción de la tarea.
params

Cadena JSON que proporciona un parámetro adicional para el sistema de archivos.

nfs_version: especifica la versión de NFS que se utilizará cuando se conecte NFS (NFSv3 o NFSv4). Valores válidos: 3, 4.

Valor por defecto: 3

Ejemplos

Ejemplo: asociación a un sistema de archivos 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;
/

Ejemplo: asociación a un sistema de archivos 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;
/

Notas de uso

Procedimiento CREATE_DATABASE_LINK

Este procedimiento crea un enlace de base de datos a una base de datos de destino en el esquema que llama a la API.

Los formularios sobrecargados admiten lo siguiente:

Sintaxis

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

Parámetros

parámetro Descripción
db_link_name Nombre de enlace de base de datos que se va a crear.
hostname

El nombre de host de la base de datos de destino.

No se permite especificar localhost para hostname.

Al especificar una conexión con conectividad heterogénea gestionada por Oracle mediante el suministro del parámetro gateway_params, tenga en cuenta lo siguiente:

Utilice este parámetro o rac_hostnames, no utilice ambos.

La entrada DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK debe mencionar el nombre de exploración de la base de datos de IA autónoma dedicada de destino como el parámetro 'hostname'.

rac_hostnames

Especifica los nombres de host para la base de datos Oracle RAC de destino. El valor es una matriz de JSON que especifica uno o más nombres de host individuales para los nodos de la base de datos Oracle RAC de destino. Se pueden transferir varios nombres de host en JSON, separados por un ",". Por ejemplo:

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

Cuando el destino es una base de datos Oracle RAC, utilice el parámetro rac_hostnames para especificar uno o más nombres de host con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Esto le permite aprovechar las capacidades de alta disponibilidad de Oracle RAC. No se admite el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN en el valor rac_hostnames.

Al especificar una lista de nombres de host en el parámetro rac_hostnames, CREATE_DATABASE_LINK utiliza todos los nombres de host especificados como direcciones en la cadena de conexión. Si uno de los hosts especificados no está disponible en la base de datos Oracle RAC de destino, Autonomous Database intenta conectarse automáticamente mediante otro nombre de host de la lista.

Utilice este parámetro o hostname, no utilice ambos.

No se permite especificar localhost para un valor rac_hostname.

port

Especifica el puerto para las conexiones a la base de datos destino.

Al especificar una conexión con una conectividad heterogénea gestionada por Oracle mediante el parámetro gateway_params, defina el puerto según el valor db_type:

  • awsredshift: utilice el puerto 5439
  • azure: utilice el puerto 1433
  • db2: utilice el puerto 2500 para las versiones de Db2 >= 11.5.6
  • db2: utilice el puerto 5000 para las versiones de Db2 <= 11.5.5< li>
  • google_analytics: utilice el puerto 443
  • google_bigquery: utilice el puerto 443
  • hive: utilice el puerto 433
  • mongodb: utilice el puerto 27017
  • mysql: utilice el puerto 3306
  • mysql_community: utilice el puerto 3306
  • postgres: utilice el puerto 5432
  • salesforce: utilice el puerto 19937
  • servicenow: utilice el puerto 443
  • snowflake: utilice el puerto 443
service_name

service_name para la base de datos a la que enlazar. Para una base de datos de IA autónoma de destino, busque el nombre del servicio mediante uno de los siguientes métodos:

  • Busque en el archivo tnsnames.ora de wallet.zip que descargue de una base de datos de IA autónoma para su conexión.

  • Haga clic en Conexión a base de datos en la consola de Oracle Cloud Infrastructure. Cada cadena de conexión que aparece en la columna Cadena de conexión incluye una entrada service_name con la cadena de conexión para el servicio correspondiente. Consulte Visualización de cadenas de conexión para una base de datos de IA autónoma para obtener más información.

  • Consulte la vista V$SERVICES. Por ejemplo:

    SELECT name FROM V$SERVICES;

Al especificar una conexión con una conectividad heterogénea gestionada por Oracle mediante el parámetro gateway_params, service_name es el nombre de la base de datos que no es de Oracle.

ssl_server_cert_dn

Valor de DN encontrado en el certificado del servidor.

La conectividad heterogénea gestionada por Oracle está preconfigurada con una cartera que contiene la mayoría de los certificados SSL intermedios y raíz de confianza comunes. ssl_server_cert_dn debe ser NULL al proporcionar el parámetro gateway_params o al no incluir el parámetro ssl_server_cert_dn (el valor por defecto es NULL).

Enlace de punto final público a un destino de base de datos de IA autónoma sin una cartera:

Para conectarse a un destino de base de datos de IA autónoma en un punto final público sin cartera (TLS):

  • El parámetro directory_name debe ser NULL.
  • El parámetro ssl_server_cert_dn debe ser NULL o no incluir este parámetro (el valor por defecto es NULL).

Enlace de punto final privado sin cartera:

Para conectarse a una instancia de Oracle Database en un punto final privado sin cartera:

  • La base de datos de destino debe estar en un punto final privado.
  • El parámetro directory_name debe ser NULL.
  • El parámetro ssl_server_cert_dn debe ser NULL o no incluir este parámetro (el valor por defecto es NULL).
  • El parámetro private_target debe ser TRUE.
credential_name Nombre de una credencial almacenada creada con DBMS_CLOUD.CREATE_CREDENTIAL. Se trata de las credenciales para acceder a la base de datos destino.
directory_name

Directorio para el archivo cwallet.sso. El valor predeterminado de este parámetro es 'data_pump_dir'.

La conectividad heterogénea gestionada por Oracle está preconfigurada con una cartera que contiene la mayoría de los certificados SSL intermedios y raíz de confianza comunes. El parámetro directory_name no es necesario al proporcionar el parámetro gateway_params.

Enlace de punto final público a un destino de base de datos de IA autónoma sin una cartera:

Para conectarse a una base de datos de IA autónoma en un punto final público sin cartera (TLS):

  • El parámetro directory_name debe ser NULL.
  • El parámetro ssl_server_cert_dn debe ser NULL o no incluir este parámetro (el valor por defecto es NULL).

Además, para conectarse a una base de datos de IA autónoma con TCP, el parámetro ssl_server_cert_dn debe ser NULL o no incluir este parámetro (el valor por defecto es NULL).

Enlace de punto final privado sin cartera:

Para conectarse a una instancia de Oracle Database de destino en un punto final privado sin cartera:

  • La base de datos de destino debe estar en un punto final privado.
  • El parámetro directory_name debe ser NULL.
  • El parámetro ssl_server_cert_dn debe ser NULL o no incluir este parámetro (el valor por defecto es NULL).
  • El parámetro private_target debe ser TRUE.
gateway_link

Indica si el enlace de base de datos se ha creado a otra instancia de Oracle Database o a Oracle Database Gateway.

Si gateway_link está definido en FALSE, especifica un enlace de base de datos a otra base de datos de IA autónoma o a otra Oracle Database.

Si gateway_link está definido en TRUE, especifica un enlace de base de datos a un sistema que no sea de Oracle. Esto crea un descriptor de conexión en la definición de enlace de base de datos que especifica (HS=OK).

Cuando gateway_link se define en TRUE y gateway_params en NULL, especifica un enlace de base de datos a un gateway de Oracle gestionado por el cliente.

El valor predeterminado de este parámetro es FALSE.

public_link

Indica si el enlace de base de datos se ha creado como enlace de base de datos pública.

Para ejecutar DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK con este parámetro definido en TRUE, el usuario que llama al procedimiento debe tener el privilegio EXECUTE en la credencial asociada al enlace de base de datos pública y debe tener el privilegio del sistema CREATE PUBLIC DATABASE LINK. El privilegio EXECUTE de la credencial puede ser otorgado por el usuario ADMIN o por el propietario de la credencial.

El valor por defecto de este parámetro es FALSE.

private_target

Cuando un enlace de base de datos accede a un nombre de host que se debe resolver en un servidor DNS de VCN, especifique el parámetro private_target con el valor TRUE.

Cuando private_target es TRUE, el parámetro hostname debe ser un único nombre de host (en un punto final privado, no está soportado el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).

El valor predeterminado de este parámetro es FALSE.

gateway_params

db_type Este parámetro especifica el tipo de base de datos de destino para la conectividad heterogénea gestionada por Oracle para conectarse a bases de datos que no sean de Oracle. El valor db_type es uno de los siguientes:

  • awsredshift
  • azure
  • db2
  • google_analytics
  • google_bigquery

    * Consulte las notas de uso para obtener información adicional sobre gateway_params cuando db_type es google_bigquery.

  • hive

    * Consulte las notas de uso para obtener información adicional sobre gateway_params cuando db_type es hive.

  • mongodb
  • mysql
  • postgres
  • salesforce

    * Consulte las notas de uso para obtener información adicional sobre gateway_params cuando db_type es salesforce.

  • servicenow

    * Consulte las notas de uso para obtener información adicional sobre gateway_params cuando db_type es servicenow.

  • snowflake

    * Consulte las notas de uso para obtener información adicional sobre gateway_params cuando db_type es snowflake.

  • NULL

    Cuando gateway_params es NULL y gateway_link está definido en TRUE, especifica un enlace de base de datos a un gateway de Oracle gestionado por el cliente.

Especifique el parámetro con el formulario json_object.

Por ejemplo:

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

Cuando gateway_params es NULL y private_target es TRUE, si directory_name es NULL, se crea un enlace de base de datos basado en TCP.

Cuando gateway_params es NULL y private_target es TRUE, si directory_name es NULL, se crea un enlace de base de datos basado en TCPS.

Notas de uso

Ejemplos

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

El nombre de tabla que especifique al utilizar SELECT con Google BigQuery o Google Analytics debe estar entre comillas. Por ejemplo:

SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK

Utilice el parámetro rac_hostnames con una base de datos Oracle RAC de destino en un punto final privado.

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

Procedimiento DETACH_FILE_SYSTEM

Este procedimiento separa un sistema de archivos de la base de datos.

El procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM separa un sistema de archivos de la base de datos. Además, el procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM también elimina la información sobre el sistema de archivos de la vista DBA_CLOUD_FILE_SYSTEMS.

Sintaxis

DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM(
    file_system_name         IN VARCHAR2
);

Parámetros

parámetro Descripción
file_system_name

Especifica el nombre del sistema del archivo.

Este parámetro es obligatorio.

Ejemplo

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

Notas de uso

Procedimiento DISABLE_EXTERNAL_AUTHENTICATION

Desactiva la autenticación de usuario con esquemas de autenticación externos para la base de datos.

Sintaxis

DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;

Excepciones

Excepción Error Descripción
invalid_ext_auth ORA-20004 Consulte el mensaje adjunto para obtener una explicación detallada.

Ejemplo

BEGIN
   DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
PL/SQL procedure successfully completed.

Procedimiento DROP_DATABASE_LINK

Este procedimiento borra un enlace de base de datos.

Sintaxis

DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name      IN VARCHAR2,
        public_link       IN BOOLEAN DEFAULT);

Parámetros

parámetro Descripción
db_link_name Nombre de enlace de base de datos que se va a borrar.
public_link

Para ejecutar DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK con public_link definido en TRUE, debe tener el privilegio del sistema DROP PUBLIC DATABASE LINK.

El valor predeterminado de este parámetro es FALSE.

Ejemplo

BEGIN
    DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name => 'SALESLINK' );
END;
/

Notas de uso

Una vez que haya terminado de utilizar un enlace de base de datos y haya ejecutado DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK, para garantizar la seguridad de la base de datos Oracle, elimine los archivos de cartera almacenados. Por ejemplo:

Procedimiento ENABLE_EXTERNAL_AUTHENTICATION

Permite a los usuarios conectarse a la base de datos con esquemas de autenticación externos.

Sintaxis

DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
   type         IN VARCHAR2,
   force        IN BOOLEAN DEFAULT FALSE,
   params       IN CLOB DEFAULT NULL
);

Parámetros

parámetro Descripción
type

Especifica el tipo de autenticación externa. Valores válidos: o .

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

(Opcional) Sustituir un esquema de autenticación externa activado actualmente. Los valores válidos son TRUE o FALSE.

El valor por defecto es FALSE.

params

Cadena JSON que proporciona parámetros adicionales para la autenticación externa.

Parámetros CMU:

  • location_uri: especifica el URI de almacenamiento en la nube para el cubo donde se almacenan los archivos necesarios para CMU.

    Si especifica location_uri, hay un objeto de directorio de nombre fijo CMU_WALLET_DIR creado en la base de datos en la ruta de acceso 'cmu_wallet' para guardar los archivos de configuración de CMU. En este caso, no es necesario proporcionar el parámetro directory_name.

  • credential_name: especifica las credenciales que se utilizan para descargar los archivos de configuración de CMU del almacén de objetos en el objeto de directorio.

    El valor por defecto es NULL, que permite proporcionar una URL pública, autenticada previamente o firmada previamente para el cubo o la subcarpeta del almacén de objetos.

  • directory_name: especifica el nombre del directorio donde se almacenan los archivos de configuración necesarios para CMU. Si se proporciona directory_name, se espera que copie los archivos de configuración de CMU dsi.ora y cwallet.sso en este objeto de directorio.

Parámetros KERBEROS:

  • location_uri: especifica el URI de almacenamiento en la nube para el cubo donde se almacenan los archivos necesarios para Kerberos.

    Si especifica location_uri, hay un objeto de directorio de nombre fijo KERBEROS_DIR creado en la base de datos para guardar los archivos de configuración de Kerberos. En este caso, no es necesario proporcionar el parámetro directory_name.

  • credential_name: especifica la credencial que se utiliza para descargar los archivos de configuración de Kerberos de la ubicación del almacén de objetos en el objeto de directorio.

    El valor por defecto es NULL, que permite proporcionar una URL pública, autenticada previamente o firmada previamente para el cubo o la subcarpeta del almacén de objetos.

  • directory_name: especifica el nombre del directorio donde se almacenan los archivos necesarios para Kerberos. Si se proporciona directory_name, se espera que copie los archivos de configuración de Kerberos en este objeto de directorio.
  • kerberos_service_name: especifica un nombre para utilizar como nombre de servicio de Kerberos. Este parámetro es opcional.

    Valor por defecto: si no se especifica, el valor kerberos_service_name se define en el GUID de la instancia de la base de datos de IA autónoma.

Parámetros AZURE_AD:

  • tenant_id: ID de inquilino de la cuenta de Azure. El ID de inquilino especifica el registro de la aplicación Azure AD de la instancia de Autonomous AI Database.
  • application_id: ID de aplicación de Azure creado en Azure AD para asignar asignaciones de roles/esquemas para la autenticación externa en la instancia de base de datos de IA autónoma.
  • application_id_uri: URI único asignado a la aplicación de Azure.

    Es el identificador de la instancia de base de datos de IA autónoma. El nombre debe estar cualificado para el dominio (soporta el acceso a recursos entre arrendamientos).

    La longitud máxima de este parámetro es de 256 caracteres.

Excepciones

Excepción Error Descripción
invalid_ext_auth ORA-20004 Consulte el mensaje adjunto para obtener una explicación detallada.

Notas de uso

Ejemplos

Ejemplo: activación de la autenticación OCI_IAM

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

Ejemplo: activación de la autenticación CMU para Microsoft Active Directory

Transfiere un nombre de directorio que contiene los archivos de configuración de CMU mediante el argumento 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;
/

Puede transferir un URI de ubicación que apunte a una ubicación de Object Storage que contenga archivos de configuración de CMU mediante el argumento 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;
/

Ejemplo: activación de la autenticación de 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;
/

Ejemplo: activación de la autenticación de Kerberos

Transfiere un nombre de directorio que contiene archivos de configuración de Kerberos mediante el argumento 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;
/

Transfiere un URI de ubicación que apunta a una ubicación de Object Storage que contiene archivos de configuración de Kerberos mediante el argumento 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;
/

Transfiere un nombre de servicio con kerberos_service_name en el argumento 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;
/

Después de activar Kerberos en la instancia de la base de datos de IA autónoma, utilice la siguiente consulta para ver el nombre del servicio Kerberos:

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

Excepciones de DBMS_CLOUD_ADMIN

En la siguiente tabla se describen las excepciones para DBMS_CLOUD_ADMIN.

Excepción Código Descripción
invalid_service 20.001 Se ha especificado un servicio no válido.
service_not_exist 20.002 No existe un servicio especificado.
default_service 20.003 No se puede modificar un servicio especificado.
invalid_char_set 20.029 Falta la condición previa o el juego de caracteres (nacional) no válido.
invalid_enc_key_attr 20.030 Falta el argumento o no es válido para la gestión de claves.
Already Using Oracle Managed Key 0 La base de datos ya está utilizando una clave gestionada por Oracle. Está intentando llamar al procedimiento mientras utiliza una clave gestionada por Oracle.
Argument Provided for the procedure ORA-0000 Se proporciona un argumento para el procedimiento. Mensaje de error esperado: no se necesitan argumentos para este procedimiento.

Contenido relacionado