Creación de enlaces de base de datos desde una base de datos de IA autónoma a una instancia de Oracle Database accesible públicamente con una cartera (mTLS)

Puede crear enlaces de base de datos desde una base de datos de IA autónoma a una base de datos Oracle de destino que esté en un punto final público.

Para utilizar enlaces de base de datos con la base de datos de IA autónoma, la base de datos de destino se debe configurar para utilizar TCP/IP con autenticación SSL (TCPS). Las bases de datos de IA autónomas utilizan TCP/IP con autenticación SSL (TCPS) por defecto, por lo que no es necesario realizar ninguna configuración adicional en la base de datos de destino para enlazar a otra base de datos de IA autónoma. Otras bases de datos Oracle se deben configurar para utilizar TCP/IP con autenticación SSL (TCPS). Consulte Configuring Secure Sockets Layer Authentication en la Oracle Database 19c Security Guide u Oracle Database 26ai Security Guide para obtener más información.

Para crear enlaces de base de datos a un destino público, se debe poder acceder a Oracle Database de destino. Algunas bases de datos pueden limitar el acceso (por ejemplo, mediante listas de control de acceso). Asegúrese de activar la base de datos de destino para permitir el acceso desde la base de datos de origen para que el enlace de base de datos funcione. Si limita el acceso con listas de control de acceso (ACL), puede encontrar la dirección IP de salida de su base de datos de IA autónoma de origen y permitir que esa dirección IP se conecte a su base de datos de destino.

Consulte Cómo crear un enlace de base de datos desde la base de datos de IA autónoma a una instancia de Database Cloud Service para obtener más información.

Para crear enlaces de base de datos a una base de datos Oracle de destino con una cartera (mTLS):

  1. Copie la cartera de la base de datos de destino, cwallet.sso, que contiene los certificados de la base de datos de destino en el almacén de objetos.

    Tenga en cuenta lo siguiente para el archivo de cartera:

    • El archivo de cartera, junto con el ID de usuario y la contraseña de la base de datos, proporcionan acceso a los datos de la Oracle Database de destino. Almacene los archivos de cartera en una ubicación segura. Comparta los archivos de cartera solo con usuarios autorizados.

    • No cambie el nombre del archivo de cartera. El archivo de cartera de Object Storage debe tener el nombre cwallet.sso.

  2. Cree credenciales para acceder al almacén de objetos en el que almacena el archivo de cartera 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 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 de la base de datos de destino en el directorio 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 y bucketname es el nombre del cubo de Oracle Cloud Infrastructure. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

    Nota: credential_name que utiliza en este paso son las credenciales para el almacén de objetos. En el siguiente paso, creará las credenciales para acceder a la base de datos destino.

  5. En la instancia de base de datos de IA autónoma, cree credenciales para acceder a la base de datos de destino. username y password que especifique con DBMS_CLOUD.CREATE_CREDENTIAL son las credenciales de la base de datos destino que utilice para crear el enlace de base de datos.

    Nota: 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 el enlace de base de datos a la base de datos destino mediante DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.

    Por ejemplo:

     BEGIN
         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',
             directory_name => '*DBLINK_WALLET_DIR*');
     END;
     /
    

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

    Si el archivo de cartera del directorio especificado con directory_name no es cwallet.sso, el procedimiento informa un error como: ORA-28759: failure to open file.

  7. Utilice el enlace de base de datos que ha creado para acceder a los datos de la base de datos destino.

    Por ejemplo:

     SELECT * FROM employees@SALESLINK;
    

Para las credenciales que cree en el paso 5, las credenciales de la base de datos de destino, 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.

Para obtener información adicional, consulte:

Notas de Enlace de Base de Datos con una Oracle Database de Destino

Proporciona notas para crear enlaces de base de datos a una base de datos Oracle de destino (cuando el destino no es una base de datos de IA autónoma)

Notas para enlaces de base de datos a otras bases de datos Oracle:

Contenido relacionado

Paquete DBMS_CLOUD_ADMIN