Creación de enlaces de base de datos de una instancia de Autonomous Database a una instancia de Autonomous Database de acceso público

Puede crear enlaces de base de datos desde una instancia de Autonomous Database a una instancia de Autonomous Database de destino que esté en un punto final público.

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

Creación de enlaces de base de datos de Autonomous Database a una instancia de Autonomous Database accesible públicamente sin una cartera (TLS)

Puede crear enlaces de base de datos desde una instancia de Autonomous Database a una instancia de Autonomous Database de acceso público sin cartera (TLS).

Para crear enlaces de base de datos a un destino público, se debe poder acceder a la base de datos de destino. Algunas bases de datos, incluidas las bases de datos autónomas, 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 buscar la dirección IP de salida de la instancia de Autonomous Database de origen y permitir que esa dirección IP se conecte a la base de datos de destino. Cuando la base de datos de destino es otra instancia de Autonomous Database, puede agregar la dirección IP de salida de la base de datos de origen a la ACL de la base de datos de destino.

Consulte Obtain Tenancy Details para obtener información sobre la búsqueda de la dirección IP de salida.

Para crear un enlace de base de datos a una instancia de Autonomous Database de destino sin cartera (TLS):

  1. Si aún no lo ha hecho, active las conexiones TLS en la instancia de Autonomous Database.
  2. En la instancia de Autonomous Database en la que está creando el enlace de base de datos, cree credenciales para acceder a la instancia de Autonomous Database de destino. username y password que especifique con DBMS_CLOUD.CREATE_CREDENTIAL son las credenciales de la base de datos de destino (utilizará estas credenciales 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.

    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.

  3. Cree un enlace de base de datos a la instancia de Autonomous Database de 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 => '1521',
            service_name => 'example_medium.adb.example.oraclecloud.com',
            credential_name => 'DB_LINK_CRED',
            directory_name => NULL);
    END;
    /

    Para crear un enlace de base de datos con DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK a una instancia de Autonomous Database de destino en un punto final público mediante una conexión TCP segura sin cartera, el parámetro directory_name debe ser NULL.

    El parámetro ssl_server_cert_dn se puede omitir o, si se incluye, especificar un valor NULL.

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

  4. 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 1, 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.

Nota

Puede crear enlaces a Big Data Service mediante DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Consulte Consulta de datos de Big Data Service Hadoop (HDFS) de Autonomous Database para obtener más información.

Para obtener información adicional, consulte:

Creación de enlaces de base de datos desde Autonomous Database a una instancia de Autonomous Database con acceso público con una cartera (mTLS)

Puede crear enlaces de base de datos desde una instancia de Autonomous Database a una instancia de Autonomous Database de acceso público con una cartera (mTLS).

Para crear enlaces de base de datos a un destino público, se debe poder acceder a la base de datos de destino. Algunas bases de datos, incluidas las bases de datos autónomas, 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 buscar la dirección IP de salida de la instancia de Autonomous Database de origen y permitir que esa dirección IP se conecte a la base de datos de destino. Por ejemplo, si la base de datos destino es otra instancia de Autonomous Database, puede agregar la dirección IP de salida de la base de datos de origen a la ACL de la base de datos de destino.

Consulte Obtain Tenancy Details para obtener información sobre la búsqueda de la dirección IP de salida.

Para crear enlaces de base de datos a una instancia de Autonomous Database 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 el 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.

    No es necesario crear una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure si activa las credenciales de entidad de recurso. Consulte Uso de la entidad de recurso para acceder a los Recursos de Oracle Cloud Infrastructure para obtener más información.

  3. Cree un directorio en Autonomous Database para el archivo de cartera cwallet.sso.

    Por ejemplo:

    CREATE DIRECTORY dblink_wallet_dir AS 'directory_path_of_your_choice';
                

    Consulte Creación de directorio en Autonomous 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 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.

    Nota

    El 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.

    No es necesario crear una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure si activa las credenciales de entidad de recurso. Consulte Uso de la entidad de recurso para acceder a los Recursos de Oracle Cloud Infrastructure para obtener más información.

  5. En la instancia de Autonomous Database, cree credenciales para acceder a la base de datos 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.

    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 => 'SALESLINK',
            hostname => 'adb.eu-frankfurt-1.oraclecloud.com', 
            port => '1522',
            service_name => 'example_medium.adb.example.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_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.

Nota

Puede crear enlaces a Big Data Service mediante DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Consulte Consulta de datos de Big Data Service Hadoop (HDFS) de Autonomous Database para obtener más información.

Para obtener información adicional, consulte: