Creación de enlaces de base de datos desde una base de datos de IA autónoma a una instancia de Oracle Database en un punto final privado
Puede crear enlaces de base de datos desde una base de datos de IA autónoma a una instancia de Oracle Database de destino que esté en un punto final privado.
Nota: Los enlaces de base de datos de una base de datos Oracle de destino que está en un punto final privado solo están soportados en regiones comerciales y regiones del Gobierno de EE. UU. Esta función está activada por defecto en todas las regiones comerciales. Esta función está activada por defecto en las regiones del Gobierno de EE. UU. para las bases de datos recién aprovisionadas. Para las bases de datos existentes del Gobierno de EE. UU. en un punto final privado, si desea crear enlaces de base de datos desde una base de datos de IA autónoma a un destino en una región del Gobierno de EE. UU., puede presentar una solicitud de servicio en Oracle Cloud Support y solicitar la activación del punto final privado en la función de enlace de base de datos de regiones gubernamentales. Las regiones del Gobierno de EE. UU. incluyen lo siguiente:
Según el tipo y la configuración de la base de datos Oracle de destino:
-
Otra instancia de Oracle Database, como una base de datos local o de Database Cloud Service, en un punto final privado configurado para SSL (TCPS): en este caso, puede crear el enlace de base de datos con una cartera y el enlace de base de datos se comunica con TCPS. Consulte Creación de enlaces de base de datos de base de datos de IA autónoma a bases de datos de Oracle en un punto final privado con una cartera (mTLS) para obtener más información.
-
Oracle Database, como una base de datos local o de Database Cloud Service, en un punto final privado configurado para TCP: en este caso, creará el enlace de base de datos sin cartera y el enlace de base de datos se comunicará con TCP. Consulte Creación de Enlaces de Base de Datos a Bases de Datos Oracle en un Punto Final Privado sin Cartera para obtener detalles.
Requisitos para enlaces de base de datos de Autonomous AI Database a bases de datos Oracle en un punto final privado
Muestra los requisitos para 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 privado.
Para crear un enlace de base de datos a una base de datos Oracle 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
hostnameo el parámetrorac_hostnames:-
Para un destino en un punto final privado,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKsoporta la especificación de un único nombre de host con el parámetrohostname. 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_LINKsoporta 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_hostnamespara especificar uno o más nombres de host conDBMS_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 valorrac_hostnames.Al especificar una lista de nombres de host en el parámetro
rac_hostnames,CREATE_DATABASE_LINKutiliza 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.
-
-
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.
-
Creación de enlaces de base de datos a bases de datos Oracle en un punto final privado sin una cartera
Utilice DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK para 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 privado y conectarse sin una cartera (TCP).
Nota: Esta opción es para bases de datos Oracle 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 los requisitos para enlaces de bases de datos de Autonomous AI Database a bases de datos Oracle 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:
-
En Autonomous AI Database, cree credenciales para acceder a la base de datos de destino.
usernameypasswordque especifique conDBMS_CLOUD.CREATE_CREDENTIALson 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
usernamedeben 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.
-
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_LINKsoporta la especificación de un único nombre de host con el parámetrohostname. 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_LINKsoporta 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_hostnamespara especificar uno o más nombres de host conDBMS_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 valorrac_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_LINKno soporta un valor delocalhostparahostnameo en el parámetrorac_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_LINKa 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_namedebe serNULL. -
El parámetro
ssl_server_cert_dndebe serNULL. -
El parámetro
private_targetdebe serTRUE.
-
-
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;
Para las credenciales que cree en el paso 1, las credenciales de Oracle 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 base de datos de IA autónoma a bases de datos Oracle en un punto final privado 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 privado.
Nota: Esta opción es para las bases de datos Oracle de destino que tienen SSL/TCPS configurado y que están en un punto final privado.
Si la base de datos Oracle de destino no tiene SSL/TCPS configurado, tiene dos opciones:
-
Puede configurar la base de datos Oracle de destino para que utilice TCP/IP con autenticación SSL (TCPS). Consulte Configuring Transport Layer Security Authentication en la Oracle Database 19c Security Guide u Oracle Database 26ai Security Guide para obtener información sobre la configuración de SSL/TCPS.
-
Puede conectarse a la base de datos Oracle de destino con TCP. Consulte Creación de Enlaces de Base de Datos a Bases de Datos Oracle en un Punto Final Privado sin Cartera para obtener detalles.
Realice los pasos de requisitos previos, según sea necesario. Consulte los requisitos para enlaces de bases de datos de Autonomous AI Database a bases de datos Oracle en un punto final privado para obtener más información.
Para crear un enlace de base de datos a una base de datos Oracle de destino en un punto final privado mediante la autenticación TCP/IP con SSL (TCPS):
-
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: 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 base de datos Oracle de destino. Almacene los archivos de cartera en una ubicación segura. Comparta los archivos de cartera solo con usuarios autorizados.
-
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. -
Cree un directorio en la base de datos de IA autónoma para el archivo de cartera
cwallet.sso.Por ejemplo:
CREATE DIRECTORY *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.
-
Utilice
DBMS_CLOUD.GET_OBJECTpara 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 en el que se almacenan objetos de Oracle Cloud Infrastructure ybucketnamees el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.Nota:
credential_nameque 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. -
En Autonomous AI Database, cree credenciales para acceder a la base de datos de destino.
usernameypasswordque especifique conDBMS_CLOUD.CREATE_CREDENTIALson 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: 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
usernamedeben 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.
-
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; /Para un destino en un punto final privado,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKsoporta la especificación de un único nombre de host con el parámetrohostname. 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_LINKsoporta 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_hostnamespara especificar uno o más nombres de host conDBMS_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 valorrac_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_LINKno soporta un valor delocalhostparahostnameo en el parámetrorac_hostnames.Los usuarios que no sean ADMIN necesitan privilegios para ejecutar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. -
Utilice el enlace de base de datos que ha creado para acceder a los datos de la base de datos destino.
Por ejemplo:
``sql SELECT * FROM employees@PEDBLINK1;
Para las credenciales que cree en el paso 5, las credenciales de Oracle 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 forma:
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.
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:
-
Solo un archivo de cartera es válido por directorio para su uso con enlaces de base de datos. Solo puede cargar un
cwallet.ssoa la vez en el directorio que elija para los archivos de cartera (por ejemplo, DBLINK_WALLET_DIR). Esto significa que con un valorcwallet.ssoen DBLINK_WALLET_DIR, solo puede crear enlaces de base de datos a las bases de datos para las que la cartera de ese directorio es válida. Para utilizar varios archivoscwallet.ssocon enlaces de base de datos, debe crear directorios adicionales y colocar cadacwallet.ssoen un directorio diferente. Al crear enlaces de base de datos conDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK, especifique el directorio que contiene la cartera con el parámetrodirectory_name.Consulte Crear directorio en base de datos de IA autónoma para obtener información sobre la creación de directorios.
-
Las versiones de base de datos Oracle de destino soportadas para enlaces de base de datos a otra instancia de Oracle Database son: 19c, 12.2.0 y 12.1.0.
Nota: Para obtener información completa sobre las versiones soportadas, consulte Matriz de soporte de interoperabilidad de servidor cliente para diferentes versiones de Oracle (ID de documento 207303.1)
-
La base de datos de IA autónoma define el parámetro
SEC_CASE_SENSITIVE_LOGONentruey este valor no se puede cambiar. Si la base de datos de destino no es una base de datos de IA autónoma, debe definir ` SEC_CASE_SENSITIVE_LOGONparameter totrueon the target database. IfSEC_CASE_SENSITIVE_LOGONis set tofalseon the target database, then errorORA-28040: no se emite ningún protocolo de autenticación coincidente`. -
Para mostrar los enlaces de base de datos, utilice la vista
ALL_DB_LINKS. Consulte ALL_DB_LINKS en Oracle Database 19c Database Reference u Oracle Database 26ai Database Reference para obtener más información. -
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 base de datos Oracle de destino. Almacene los archivos de cartera en una ubicación segura. Comparta los archivos de cartera solo con usuarios autorizados.
-
Cuando la instancia de base de datos de IA autónoma está en un punto final privado, hay dos opciones para especificar la base de datos de destino: utilice el parámetro
hostnameo el parámetrorac_hostnames:-
Para un destino en un punto final privado,
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKsoporta la especificación de un único nombre de host con el parámetrohostname. 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_LINKsoporta 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_hostnamespara especificar uno o más nombres de host conDBMS_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 valorrac_hostnames.Al especificar una lista de nombres de host en el parámetro
rac_hostnames,CREATE_DATABASE_LINKutiliza 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. -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKno soporta un valor delocalhostparahostnameo en el parámetrorac_hostnames.
-