Creación de enlaces de base de Datos con conectividad heterogénea gestionada por los clientes a bases de Datos no Oracle AI accesibles para el público

Utilice DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK para crear enlaces de base de datos desde una instancia de base de datos de IA autónoma en un punto final público hasta un gateway de Oracle AI Database para acceder a bases de datos que no sean de Oracle.

Para utilizar enlaces de base de datos de una instancia de base de datos de IA autónoma en un punto final público, el destino de un gateway de Oracle AI Database debe estar configurado para utilizar TCP/IP con autenticación SSL (TCPS). Consulte la Configuring Secure Sockets Layer Authentication para obtener más información.

Para crear enlaces de base de datos desde una instancia de base de datos de IA autónoma en un punto final público a un gateway de Oracle AI Database de destino:

  1. Copie la cartera autofirmada de Oracle AI Database Gateway de destino en el almacén de objetos. Por ejemplo, copie cwallet.sso, que contiene los certificados para el gateway de Oracle AI Database, en el almacén de objetos.

    Nota

    Nota: El archivo de cartera, junto con el ID de usuario y la contraseña de la base de datos, proporcionan acceso a los datos disponibles a través del gateway de Oracle AI Database de destino. Almacene los archivos de cartera en una ubicación segura. Comparta los archivos de cartera solo con usuarios autorizados.

  2. Cree credenciales para acceder al almacén de objetos en el que almacena cwallet.sso. Consulte Procedimiento CREATE_CREDENTIAL para obtener información sobre los parámetros de nombre de usuario y contraseña para diferentes servicios de almacenamiento de objetos.

  3. Cree un directorio en la instancia de base de datos de IA autónoma para el archivo de cartera cwallet.sso.

    Por ejemplo:

    CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';

    Consulte Crear directorio en base de datos de IA autónoma para obtener información sobre la creación de directorios.

  4. Utilice DBMS_CLOUD.GET_OBJECT para cargar la cartera auto firmada del gateway de destino en el directorio que ha creado en el paso anterior, DBLINK_WALLET_DIR.

    Por ejemplo:

    BEGIN
         DBMS_CLOUD.GET_OBJECT(
            credential_name => 'DEF_CRED_NAME',
            object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso',
            directory_name => '*DBLINK_WALLET_DIR*');
    END;
    /

    En este ejemplo, namespace-string es el espacio Oracle Cloud Infrastructure Object Storage Namepace, y bucketname es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

    credential_name que utiliza en este paso son las credenciales para el almacén de objetos. En el siguiente paso, cree las credenciales para acceder al gateway de destino.

  5. En su instancia de base de datos de IA autónoma, cree una credencial para acceder a la base de datos de destino. username y password que especifique con DBMS_CLOUD.CREATE_CREDENTIAL son las credenciales para la base de datos de destino que se utilizará al crear el enlace de base de datos, (donde se accede a la base de datos de destino a través del gateway de Oracle AI Database).

    Se necesita proporcionar el parámetro credential_name.

    Por ejemplo:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DB_LINK_CRED',
        username => 'NICK',
        password => 'password'
      );
    END;
    /

    Los caracteres del parámetro username deben estar en mayúsculas.

    Esta operación almacena las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial.

  6. Cree un enlace de base de datos para acceder al gateway de destino mediante DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Por ejemplo:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name =>       'SALESLINK',
              hostname =>           '*example.com*',
              port =>               '1522',
              service_name =>       '*example_service_name*',
              ssl_server_cert_dn => '*ssl_server_cert_dn*',
              credential_name =>    'DB_LINK_CRED',
              directory_name =>     '*DBLINK_WALLET_DIR*',
              gateway_link =>        TRUE);
    END;
    /

    Los usuarios que no sean ADMIN necesitan privilegios para ejecutar DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

  7. Utilice el enlace de base de datos para acceder a los datos del gateway de destino.

    Por ejemplo:

    SELECT * FROM employees@SALESLINK;

Para las credenciales que cree en el paso 5, las credenciales de gateway de Oracle AI Database, si cambia la contraseña del usuario de destino, puede actualizar la credencial que contiene las credenciales del usuario de destino de la siguiente manera:

BEGIN
    DBMS_CLOUD.UPDATE_CREDENTIAL (
       credential_name => 'DB_LINK_CRED',
       attribute => 'PASSWORD',
       value => 'password');
END;
/

Donde password es la nueva contraseña.

Después de esta operación, los enlaces de base de datos existentes que utilizan esta credencial siguen funcionando sin tener que borrar y volver a crear los enlaces de base de datos.

Consulte el siguiente ejemplo para ver cómo crear un enlace de base de datos a un gateway de Oracle AI Database para acceder a una base de datos de Microsoft SQL Server: How to Access Non-Oracle AI Databases from Autonomous AI Database using Oracle AI Database Gateway

Para obtener información adicional, consulte: