Creación de enlaces de base de datos con conectividad heterogénea gestionada por el cliente a bases de datos no Oracle en un punto final privado
Puede crear enlaces de base de datos desde una base de datos de IA autónoma en una infraestructura de Exadata dedicada a una instancia de Oracle Database Gateway para acceder a bases de datos que no sean de Oracle y que estén en un punto final privado.
Un gateway de Oracle Database Gateway es un gateway diseñado para acceder a un sistema que no es de Oracle específico. Con Oracle Database Gateway, puede acceder a los datos en cualquier lugar de un sistema de base de datos distribuido sin saber la ubicación de los datos ni cómo se almacenan. El uso de enlaces de base de datos en Autonomous AI Database con Oracle Database Gateway soporta entornos heterogéneos y elimina la necesidad de personalizar sus aplicaciones para acceder a datos de sistemas que no son de Oracle.
Nota: La creación de enlaces de base de datos con conectividad heterogénea gestionada por el cliente a bases de datos que no sean de Oracle en un punto final privado solo está soportada con las versiones 19.25 y posteriores para 19c y 23.6 y posteriores para 23ai.
Requisitos
Para utilizar enlaces de base de datos de una instancia de base de datos de IA autónoma en un punto final público, haga lo siguiente:
-
Configure Oracle Database Gateway para acceder a una base de datos que no sea de Oracle. Consulte Oracle Database Gateways en Oracle Database 19c Database Heterogeneous Connectivity User's Guide u Oracle Database 26ai Database Heterogeneous Connectivity User's Guide para obtener más información.
En función de la base de datos a la que desee conectarse, puede consultar la Guía de instalación y configuración correspondiente y la Guía del usuario de Gateway.
Por ejemplo, para Oracle Database Gateway for SQL Server, consulte:
-
Instalación y configuración de Oracle Database Gateway for SQL Server en la Guía de instalación y configuración de Oracle Database 19c para Microsoft Windows o la Guía de instalación y configuración de Oracle Database 26ai para Microsoft Windows
-
Introducción a Oracle Database Gateway for SQL Server en la Guía del usuario de Oracle Database 19c Gateway for SQL Server u Guía del usuario de Oracle Database 26ai Gateway for SQL Server.
-
Configure Oracle Net for the Gateway en la Guía de instalación y configuración de Oracle Database 19c para Microsoft Windows o la Guía de instalación y configuración de Oracle Database 26ai para Microsoft Windows
-
-
Configure Oracle Net Listener para gestionar las solicitudes entrantes en Oracle Database Gateway.
-
Cree una cartera autofirmada en Oracle Database Gateway.
De forma adicional:
-
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.
-
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).
-
-
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 para permitir 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.
-
Conectividad Heterogénea Gestionada por el Cliente a Bases de Datos No Oracle en un Punto Final Privado (sin Cartera)
Puede crear enlaces de base de datos desde una base de datos de IA autónoma a Oracle Database Gateway para acceder a bases de datos que no sean de Oracle y que estén en un punto final privado, ya sea con una cartera (TCPS) o sin una cartera (TLS). En esta sección se describe la creación de un enlace de base de datos sin cartera.
Para crear enlaces de base de datos a partir de una instancia de base de datos de IA autónoma en un punto final privado a un gateway de destino, mediante enlaces de base de datos y una conexión TLS, realice lo siguiente:
-
En Autonomous AI Database, cree credenciales para acceder a la base de datos de destino. El nombre de usuario y la contraseña que especifique con
DBMS_CLOUD.CREATE_CREDENTIALson las credenciales de la base de datos destino que se utiliza en el enlace de base de datos (donde se accede a la base de datos destino a través de Oracle Database Gateway).Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => 'password' ); END;/El suministro del parámetro
credential_namees obligatorio.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 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 => NULL, gateway_link => TRUE, private_target => TRUE, gateway_params => NULL ); END;/El parámetro
ssl_server_cert_dnes opcional si la conexión se crea como un enlace de base de datos basado en TCP (sin cartera).Cuando
directory_nameesNULL, la conexión se crea como un enlace de base de datos basado en TCP (sin cartera).El parámetro
private_targetse debe definir enTRUEcuando el destino que no es Oracle Database está en un punto final privado (es decir, el enlace de base de datos accede a un nombre de host que se debe resolver en un servidor DNS de VCN). Cuandoprivate_targetesTRUE, el parámetrohostnamedebe ser un único nombre de host (en un punto final privado, no está soportado el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).Cuando
gateway_linkesTRUEygateway_paramsesNULL, especifica que el enlace de base de datos es a un gateway de Oracle gestionado por el cliente.Los usuarios que no sean ADMIN necesitan privilegios para ejecutar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Consulte el procedimiento CREATE_DATABASE_LINK para obtener más información.
-
Utilice el enlace de base de datos que ha creado para acceder a los datos del gateway de destino.
Por ejemplo:
SELECT * FROM employees@SALESLINK;
Para las credenciales que cree en el paso 1, las credenciales de Oracle Database Gateway, 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 Procedimiento UPDATE_CREDENTIAL para obtener más información.
Conectividad Heterogénea Gestionada por El Cliente a bases de datos no Oracle en un punto final privado (con una cartera)
Puede crear enlaces de base de datos desde una base de datos de IA autónoma a Oracle Database Gateway para acceder a bases de datos que no sean de Oracle y que estén en un punto final privado, ya sea con una cartera (TCPS) o sin una cartera (TLS). En esta sección se describe la creación de un enlace de base de datos con una cartera.
Para crear enlaces de base de datos desde una instancia de base de datos de IA autónoma en un punto final privado a un gateway de destino, conectándose con una cartera, haga lo siguiente:
-
Copie la cartera autofirmada del gateway de destino, por ejemplo,
cwallet.sso, que contiene los certificados de Oracle Database Gateway en el almacén de objetos.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 destino. Almacene los archivos de cartera en una ubicación segura. Comparta los archivos de cartera solo con usuarios autorizados.
-
En la base de datos de IA autónoma, cree credenciales para acceder al almacén de objetos donde 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 dblink_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.
-
Utilice
DBMS_CLOUD.GET_OBJECTpara 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-stringes el espacio Oracle Cloud Infrastructure Object Storage Namepace, 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, cree las credenciales para acceder al gateway de destino. -
En Autonomous AI Database, cree credenciales para acceder a la base de datos de destino. El nombre de usuario y la contraseña que especifique con
DBMS_CLOUD.CREATE_CREDENTIALson las credenciales de la base de datos destino que se utiliza en el enlace de base de datos (donde se accede a la base de datos destino a través de Oracle Database Gateway).Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name =>'DB_LINK_CRED', username =>'NICK', password =>'password' ); END; /El suministro del parámetro
credential_namees obligatorio.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 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, private_target =>TRUE, gateway_params =>NULL ); END; /Si
directory_nameno esNULL, se crea un enlace de base de datos basado en TCPS.El parámetro
private_targetse debe definir enTRUEcuando el destino que no es Oracle Database está en un punto final privado (es decir, el enlace de base de datos accede a un nombre de host que se debe resolver en un servidor DNS de VCN). Cuandoprivate_targetesTRUE, el parámetrohostnamedebe ser un único nombre de host (en un punto final privado, no está soportado el uso de una dirección IP, una IP de SCAN o un nombre de host de SCAN).Cuando
gateway_linkesTRUEygateway_paramsesNULL, especifica que el enlace de base de datos es a un gateway de Oracle gestionado por el cliente.Los usuarios que no sean ADMIN necesitan privilegios para ejecutar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK.Consulte el procedimiento CREATE_DATABASE_LINK para obtener más información.
-
Utilice el enlace de base de datos que ha creado 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 Oracle Database Gateway, 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 Procedimiento UPDATE_CREDENTIAL para obtener más información.