Solución de errores con la herramienta Data Share
En este capítulo, se proporciona orientación sobre los problemas que provocan un rendimiento lento y cómo solucionarlos.
Temas:
- Rendimiento lento de la función de uso compartido en directo
- Fallo al intentar realizar una consulta de tabla compartida
- HTTP 403 no autorizado debido a la lista de permitidos de IP remota
Problema: el acceso a datos compartidos o la descarga de datos remotos falla con un errorHTTP 403 - Unauthorized.
Tema principal: Herramienta para compartir datos
Función de uso compartido en directo de rendimiento lento
Con un aumento de las ECPU, ¿mejora el rendimiento de la función Compartir en directo de la herramienta Compartir datos mientras se ejecutan consultas complejas?
No, no. En estos casos, debe configurar el grado de paralelismo (DOP) mediante Data Studio para mejorar el rendimiento de las consultas en ejecución complejas.
Configuración del grado de paralelismo (DOP) usando Data Studio
Cuando la función Live Share de la instancia de Database Actions se ejecuta con un mayor valor de ECPU, por defecto el rendimiento de las consultas en ejecución complejas no mejora.
Puede utilizar la opción DOP para mejorar el rendimiento de las consultas complejas en ejecución. El DOP define el número de procesadores empleados para ejecutar una sola sentencia, para cada ejecución de plan en paralelo. En esta sección se describe cómo configurar la opción de configuración degree of parallelism (DOP) en la base de datos de IA autónoma mediante la función Live Share de Data Studio.
En este ejemplo, utilizará la función Compartir en directo y las tablas de compartir de un tamaño sin comprimir de 1 TB.
Antes de comenzar, aquí hay algunas cosas que debe considerar:- La opción para configurar el valor de DOP solo se puede realizar mediante
admin.
- Conéctese a la instancia de Database Actions como administrador y, en Administración, seleccione Definir reglas de Resource Management.
- Observe el valor de simultaneidad y el DOP por defecto.
- Crear recurso compartido como proveedor.
- Consumir recursos compartidos como consumidor y crear consultas externas sobre los recursos compartidos para registrar el tiempo de ejecución de las consultas.
- Aumente las ECPU a un valor mayor que el valor actual como proveedor y consumidor y registre el tiempo de ejecución de la consulta.
- Configure el valor
DOPpara el grupo de consumidoresMEDIUM. - Consuma el mismo recurso compartido y registre el tiempo de ejecución de la consulta de la misma tabla.
Note:
Debe configurar el recuento deECPU y el valor DOP como un proveedor con privilegios ADMIN.
- Crear recurso compartido como proveedor.
- Haga clic en Proporcionar recursos compartidos y seleccione +Crear recurso compartido.
- En el asistente Crear recurso compartido, en el campo Nombre del separador General, introduzca un nombre para el recurso compartido. Por ejemplo: TEST.
En el campo Descripción, introduzca una descripción para los datos que comparte. Este campo es opcional.
Seleccione Siguiente para avanzar al separador Publicar detalles.
- En el separador Publish Details Tables del asistente, seleccione SHARE LIVE DATA USING DIRECT CONNECTION (Compartir datos en directo mediante conexión directa).
Haga clic en Siguiente.
- En el separador Seleccionar Tablas del asistente, seleccione el esquema en el menú desplegable, arrastre y suelte la tabla
CUSTOMERen las tablas disponibles.Note:
En este ejemplo, compartimos una única tabla denominadaCustomerde gran tamaño.Haga clic en Next (Siguiente) para continuar con el separador Recipients (Destinatarios) del Asistente de creación de recursos compartidos.
- En el separador Destinatarios del asistente Crear recurso compartido, seleccione
MY_COMPARTMENTen la lista desplegable. - Seleccione Crear para crear el recurso compartido.
- Consumir recursos compartidos como consumidor y crear consultas externas sobre los recursos compartidos para registrar el tiempo de ejecución de las consultas.
- Después de crear el recurso compartido como proveedor, consumirá los datos compartidos por el proveedor.
Consulte Consume Share para obtener más información.
- Inicia sesión como consumidor para suscribirte al proveedor de recursos compartidos de datos y acceder a los datos que hayas compartido.
- En la página Proveedor y consumidor de la herramienta Uso compartido de datos, haga clic en el mosaico CONSUME SHARE para mostrar la página CONSUME SHARE.
- Haga clic en la lista desplegable Suscribirse al proveedor de recursos compartidos y, a continuación, haga clic en la opción Suscribirse al proveedor de recursos compartidos activos.
- En Share Provider Details (Compartir detalles de proveedor), seleccione Provider Name (Nombre del proveedor). En este ejemplo,
TPUSERes el nombre del proveedor. - En el panel Add Shares (Agregar recursos compartidos) de la página del asistente Subscribe to Share Provider Settings (Configuración del proveedor), haga clic en la TEST (Prueba) en la sección Available Shares (Recursos compartidos disponibles) y, a continuación, haga clic en el icono (>).
- La herramienta agrega el recurso compartido a la sección Recursos compartidos seleccionados. Haga clic en Suscribir.
- Se muestra un mensaje informativo que indica que el proveedor de recursos compartidos
TPUSERse ha creado correctamente. Se le dirigirá a la página Cargar datos con el separador Compartir seleccionado. - Amplíe el nodo de recurso compartido de datos
TESTSHAREpara mostrar los objetos que contiene. Arrastre y suelte la tabla compartidaTPUSER.CUSTOMERpara agregarla al trabajo de carga de datos. - La tabla compartida se agrega al trabajo de enlace de datos. Al ejecutar este trabajo, se creará una nueva vista
CUSTOMERsobre la tablaCUSTOMERque se ha compartido con usted. - Haga clic en Iniciar. Se muestra el cuadro de diálogo Iniciar enlace desde el almacén en la nube. Haga clic en Ejecutar. Cuando el trabajo se completa correctamente, se muestra un icono de enlace. Se crea la vista
CUSTOMER. - Haga clic en el banner Acciones de base de datos | Uso compartido de datos. En Database Actions | Launchpad, haga clic en el separador Development y, a continuación, en el separador SQL para mostrar la hoja de trabajo de SQL.
- Arrastre y suelte la tabla
CUSTOMERen el área de la hoja de trabajo SQL. - Se muestra un cuadro de diálogo que ofrece los tipos de inserciones disponibles.
- Haga clic en Seleccionar y, a continuación, en Aplicar.
- Haga clic en Ejecutar. Puede ver la consulta generada automáticamente que se muestra en la hoja de trabajo.
- Observe el tiempo de ejecución de la consulta en el campo Tiempo de ejecución que se muestra en el separador Resultado de consulta.
- Después de crear el recurso compartido como proveedor, consumirá los datos compartidos por el proveedor.
- Aumente las ECPU como proveedor y consumidor y registre el tiempo de ejecución de la consulta.
- Aumenta las ECPU de tu instancia de Autonomous AI Database como proveedor y consumidor desde tu consola de OCI.
Note:
Asegúrese de que no ha activado la escala automática.En este ejemplo, hemos aumentado el recuento de ECPU a 32. Puede escalar el recuento de ECPU a cualquier valor que elija.
- Repita el consumo del mismo recurso compartido
CUSTOMERy el cálculo del tiempo de ejecución de la consulta. No se producirá ningún cambio en el tiempo de consulta de la tabla.
- Aumenta las ECPU de tu instancia de Autonomous AI Database como proveedor y consumidor desde tu consola de OCI.
- Configure el valor DOP para el grupo de consumidores
MEDIUM.- Conéctese a la instancia de acciones de la base de datos como consumidor con el privilegio
ADMIN. -
Haga clic en Selector y, en Administración, seleccione Definir reglas de Resource Management.
-
Reduzca el límite de simultaneidad del grupo de consumidores
MEDIUMa 8 y haga clic en Guardar cambios. La reducción del límite de simultaneidad aumenta el DOP.
Note:
El límite de simultaneidad que defina en este paso debe ser menor que el valor por defecto que anotó en el requisito previo. - Conéctese a la instancia de acciones de la base de datos como consumidor con el privilegio
- Paso de seguimiento: después de configurar la opción de grado de paralelismo, repita el proceso de consumo del recurso compartido y cree consultas externas sobre los recursos compartidos para registrar el tiempo de ejecución de la consulta.
Verá que el valor del tiempo de ejecución de la consulta ha disminuido.
La mejora en el rendimiento de las mismas consultas SQL complejas se produce inmediatamente sin reiniciar el servidor.
Fallo de intento de consulta de tabla compartida
Problema: el intento de consultar una tabla compartida falla con un error que indica las funciones de la tabla Delta no admitidas.
Causa probable: la tabla compartida utiliza Vectores de supresión, que es una función de Delta Lake. El consumidor de Delta Sharing de base de datos de IA autónoma no soporta los vectores de supresión (DV).
- En Databricks 16.3+, utilice
ALTER TABLE <table_name> DROP FEATURE deletionVectors;y vuelva a compartir. -
No confíe solo en la configuración de
{{delta.enableDeletionVectors=false - }}que detiene el nuevo uso de DV pero no reduce el nivel del protocolo. Siga las instrucciones de Drop a Delta Lake table feature and downgrade table protocol. - Consulte ¿Qué son los vectores de supresión? para obtener más información.
Tema principal: Solución de problemas de errores con la herramienta Data Share
HTTP 403 no autorizado debido a lista de permitidos de IP remota
Problema: el acceso a datos compartidos o la descarga de datos remotos falla con un error HTTP 403 - Unauthorized.
Causa probable: el servicio remoto, por ejemplo, Azure Blob Storage u otro punto final externo, está configurado con una lista de permitidos de IP de origen que no incluye la dirección IP de salida pública utilizada por Autonomous AI Database.
Note:
No utilice la siguiente consulta para identificar la dirección IP de salida:
SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM dual;
Esta consulta devuelve la dirección IP del cliente para la sesión actual, no la dirección IP de salida que ve el servicio externo.
Resolución: identifique la dirección IP de salida de Autonomous AI Database realizando una solicitud HTTPS a un punto final público que devuelva la dirección IP del emisor de llamada. A continuación, solicite al administrador del servicio remoto que agregue esa dirección IP a la lista de permitidos.
-
Otorgue acceso al punto final de prueba.
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'httpbin.org', lower_port => 443, upper_port => 443, ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => USER, principal_type => xs_acl.ptype_db)); END; / -
Consulta el punto final desde Autonomous AI Database.
SET SERVEROUTPUT ON DECLARE resp UTL_HTTP.resp; line VARCHAR2(32767); BEGIN resp := UTL_HTTP.begin_request('https://httpbin.org/ip'); resp := UTL_HTTP.get_response(resp); UTL_HTTP.read_line(resp, line, TRUE); DBMS_OUTPUT.put_line('Autonomous Database outbound IP = ' || line); UTL_HTTP.end_response(resp); END; /La respuesta contiene la dirección IP pública que ve el servicio externo. Por ejemplo:{{{"origin":"150.136.133.92"}}} -
Agregue la dirección IP a la lista de permitidos remota.
Actualice el firewall, las reglas de red de la cuenta de almacenamiento o la lista de permitidos del socio para incluir la dirección IP.
Después de actualizar la lista de permitidos, vuelva a intentar la operación de acceso a datos o de uso compartido de datos.
Tema principal: Solución de problemas de errores con la herramienta Data Share













