Creación de enlaces de base de datos de Autonomous AI Database a Oracle AI Database en un punto final privado

Puede crear enlaces de base de datos desde una instancia de Autonomous AI Database a una instancia de Oracle AI Database de destino que esté en un punto final privado.

Según el tipo y la configuración de Oracle AI Database de destino:

Consulte Cómo crear un enlace de base de datos de Autonomous AI Database a una instancia de Database Cloud Service para obtener más información.

Requisitos

Muestra los requisitos para crear enlaces de base de datos desde una instancia de Autonomous AI Database a una instancia de Oracle AI Database de destino que esté en un punto final privado.

Para crear un enlace de base de datos a una instancia de Oracle AI Database de destino en un punto final privado:

  • Se debe poder acceder a la base de datos destino desde la VCN de Oracle Cloud Infrastructure de la base de datos origen. Por ejemplo, puede conectarse a la base de datos destino cuando:

    • La base de datos destino está en un punto final privado.

    • Tanto la base de datos origen como la base de datos destino están en la misma VCN de Oracle Cloud Infrastructure.

    • La base de datos origen y la base de datos destino se encuentran en distintas redes virtuales en la nube de Oracle Cloud Infrastructure que están emparejadas.

    • La base de datos de destino es una base de datos local que está conectada a la VCN de Oracle Cloud Infrastructure de la base de datos de origen mediante FastConnect o VPN.

  • Hay dos opciones para especificar la base de datos destino, utilizar el parámetro hostname o el parámetro rac_hostnames:

    • Para un destino en un punto final privado, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK soporta la especificación de un único nombre de host con el parámetro hostname. En un punto final privado, no se soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN (cuando el destino está en un punto final público, CREATE_DATABASE_LINK soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).

    • 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 AI Database intenta conectarse automáticamente mediante otro nombre de host de la lista.

  • Las siguientes reglas de entrada y salida se deben definir para el punto final privado:

    • Defina una regla de salida en la lista de seguridad de subred o el grupo de seguridad de red de la base de datos de origen de modo que el tráfico a través de TCP esté permitido para la dirección IP y el número de puerto de la base de datos de destino.

    • Defina una regla de entrada en la lista de seguridad de subred o el grupo de seguridad de red de la base de datos de destino de modo que se permita el tráfico a través de TCP desde la dirección IP de la base de datos de origen hasta el puerto de destino.

    Consulte Configuración del acceso de red con puntos finales privados para obtener información sobre la configuración de puntos finales privados con reglas de entrada y salida.

Nota

Nota: Cuando la instancia de Autonomous AI Database esté configurada con un punto final privado, defina la propiedad de base de datos ROUTE_OUTBOUND_CONNECTIONS para especificar que todos los enlaces de base de datos salientes estén sujetos a las reglas de salida de la VCN del punto final privado de la instancia de Autonomous AI Database. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información.

Creación de enlaces de base de datos a bases de datos de Oracle AI en un punto final privado sin una cartera

Utilice DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK para crear enlaces de base de datos desde una instancia de Autonomous AI Database a una instancia de Oracle AI Database de destino que esté en un punto final privado y conectarse sin una cartera (TCP).

Nota

Nota: esta opción es para bases de datos de Oracle AI de destino que están en un punto final privado y no tienen SSL/TCPS configurado.

Realice los pasos previos necesarios, según sea necesario. Consulte Requisitos para enlaces de base de datos de Autonomous AI Database a bases de datos de Oracle AI en un punto final privado para obtener más información.

Para crear un enlace de base de datos a una base de datos destino en un punto final privado mediante una conexión TCP segura sin cartera:

  1. En Autonomous AI Database, 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 utilizada en el enlace de base de datos (donde se accede a la base de datos destino a través de la VCN).

    Por ejemplo:

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

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

    Nota

    Nota: Puede utilizar una credencial de secreto de almacén para la credencial de base de datos de destino en un enlace de base de datos. Consulte Uso de credenciales secretas de almacén para obtener más información.

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

  2. 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 => 'PRIVATE_ENDPOINT_LINK',
        hostname => 'exampleHostname',
        port => '1522',
        service_name => '*exampleServiceName*',
        ssl_server_cert_dn => NULL,
        credential_name => 'PRIVATE_ENDPOINT_CRED',
        directory_name => NULL,
        private_target => TRUE
      );
    END;
    /

    Para un destino en un punto final privado, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK soporta la especificación de un único nombre de host con el parámetro hostname. En un punto final privado, no se soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN (cuando el destino está en un punto final público, CREATE_DATABASE_LINK soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).

    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.

    Por ejemplo, con una base de datos Oracle RAC de destino, utilice el parámetro rac_hostnames:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'PRIVATE_ENDPOINT_LINK',
             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 => '*exampleServiceName*',
             ssl_server_cert_dn => NULL,
             credential_name => 'PRIVATE_ENDPOINT_CRED',
             directory_name => NULL,
             private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK no soporta un valor de localhost para hostname o en el parámetro rac_hostnames.

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

    Como se muestra en el ejemplo, para crear un enlace de base de datos con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK a una base de datos de destino en un punto final privado mediante una conexión TCP segura sin cartera, son necesarios todos los siguientes elementos:

    • El parámetro directory_name debe ser NULL.

    • El parámetro ssl_server_cert_dn debe ser NULL.

    • El parámetro private_target debe ser TRUE.

      Nota

      Nota: Si define la propiedad de base de datos ROUTE_OUTBOUND_CONNECTIONS, no es necesario definir el parámetro private_target en TRUE en esta API. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información.

  3. 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@PRIVATE_ENDPOINT_LINK;
    Nota

    Nota: Para las credenciales que cree en el paso 1, las credenciales 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 procedimiento CREATE_DATABASE_LINK para obtener información adicional.

Creación de enlaces de base de datos de Autonomous AI Database a bases de datos de Oracle AI en un punto final privado con una cartera (mTLS)

Puede crear enlaces de base de datos desde una instancia de Autonomous AI Database a una instancia de Oracle AI Database de destino que esté en un punto final privado.

Nota

Nota: esta opción es para las bases de datos de Oracle AI de destino que tienen SSL/TCPS configurado y que están en un punto final privado.

Si Oracle AI Database de destino no tiene SSL/TCPS configurado, tiene dos opciones:

Realice los pasos previos necesarios, según sea necesario. Consulte Requisitos para enlaces de base de datos de Autonomous AI Database a bases de datos de Oracle AI en un punto final privado para obtener más información.

Para crear un enlace de base de datos a un destino de Oracle AI Database en un punto final privado mediante la autenticación TCP/IP con SSL (TCPS):

  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.

    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 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 Autonomous AI Database para el archivo de cartera cwallet.sso.

    Por ejemplo:

     CREATE DIRECTORY WALLET_DIR AS 'directory_path_of_your_choice';

    Consulte Creación de directorio en Autonomous AI Database 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, 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 => 'WALLET_DIR');
    END;
    /

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

    Nota

    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 Autonomous AI Database, 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 utilizada en el enlace de base de datos (donde se accede a la base de datos destino a través de la VCN).

    Nota

    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.

    Nota

    Nota: Puede utilizar una credencial de secreto de almacén para la credencial de base de datos de destino en un enlace de base de datos. Consulte Uso de credenciales secretas de almacén para obtener más información.

    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 => 'PEDBLINK1',
        hostname => 'example1.adb.ap-osaka-1.oraclecloud.com',
        port => '1522',
        service_name => '*example_high.adb.oraclecloud.com*',
        ssl_server_cert_dn => '*ssl_server_cert_dn*',
        credential_name => 'DB_LINK_CRED',
        directory_name => 'WALLET_DIR',
        private_target => TRUE);
    END;
    /

    Nota

    Nota: Si define la propiedad de base de datos ROUTE_OUTBOUND_CONNECTIONS, no es necesario definir el parámetro private_target en TRUE en esta API. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información.

    Para un destino en un punto final privado, DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK soporta la especificación de un único nombre de host con el parámetro hostname. En un punto final privado, no se soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN (cuando el destino está en un punto final público, CREATE_DATABASE_LINK soporta el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).

    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.

    Por ejemplo, con una base de datos Oracle RAC de destino, utilice el parámetro rac_hostnames:

    BEGIN
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
        db_link_name => 'PEDBLINK1',
        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 => '*ssl_server_cert_dn*',
        credential_name => 'DB_LINK_CRED',
        directory_name => 'WALLET_DIR',
        private_target => TRUE);
    END;
    /

    DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK no soporta un valor de localhost para hostname o en el parámetro rac_hostnames.

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

  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@PEDBLINK1;
    Nota

    Nota: Para las credenciales que cree en el paso 5, las credenciales 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 procedimiento CREATE_DATABASE_LINK para obtener información adicional.