Mantenimiento del bloque de inicialización

Si utiliza Data Gateway o Remote Data Connector con Oracle Analytics Cloud, se produce una pequeña sobrecarga en la duración de la ejecución de cada consulta.

Esta duración adicional no se nota cuando ejecuta un informe, ya que es inferior a 0,3 segundos. Sin embargo, podría experimentar incidencias de rendimiento si ejecuta muchos bloques de inicialización (el número dependerá de sus requisitos de rendimiento) cada vez que alguien se conecte porque las consultas de los bloques de inicialización se ejecutan en serie. El uso de la opción diferida para las bloques de inicialización no corrige esta incidencia, dado que los bloques de inicialización se ejecutan cuando abre la primera página del panel de control.

Esto provoca una incidencia si utiliza Oracle BI Applications, ya que ejecuta más de doscientos bloques de inicialización. En el caso de Oracle Analytics Cloud, el mejor modo de evitar estas incidencias de rendimiento es reducir el número de bloques de inicialización.

Nuestras recomendaciones sobre cómo puede reducir el número de bloques de inicialización de sesión son las siguientes:

  • Desactive todos los bloques de inicialización que no necesite.

    Por ejemplo, en Oracle BI Applications, desactive los bloques de inicialización que hagan referencia a módulos de Oracle BI Applications que ya no utilice.

  • Excepto cuando haya una regla de prioridad, fusione todos los bloques de inicialización row_wise que utilicen el mismo pool de conexiones y devuelva el mismo tipo de datos utilizando UNION ALL entre sus consultas.

    Por ejemplo:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Desactive todos los bloques de inicialización que seleccionen un valor codificado de dual o W_DUAL_G y coloque el valor codificado en el inicializador por defecto de la variable correspondiente.
  • Fusione los bloques de inicialización restantes que seleccionen datos de dual en una única sentencia select.
  • Para los clientes de Oracle BI Applications, desactive todos los bloques de inicialización que se utilicen para recuperar nombres y valores de atributos personalizados de Oracle Human Capital Management si no se utiliza el atributo correspondiente (si el valor por defecto estándar ‘HIDE’ es el valor actual de estas variables) o si no utiliza Oracle Human Capital Management como un origen de datos de Oracle BI Applications (hay cientos de bloques de inicialización como este en Oracle BI Applications):
    HR xxx Attribute yyy
  • Fusiones todos los bloques de inicialización restantes que no sean row_wise y utilice el mismo pool de conexiones. Por ejemplo:

    Init block 1 está basado en query1: select colA from tableA where….

    Init block 2 está basado en query2: select colB from tableB where….

    Puede fusionarlos en un único bloque de inicialización mediante una consulta como la siguiente

    Select MAX(colA), MAX(colB) from (
    
    select cola as cola, null as colB from tableA where….
    
    Union all
    
    Select null, colB from tableB where…) tmp

Puede realizar tantas uniones como sea necesario para recuperar todas las variables del mismo pool de conexiones en una única consulta.

Esto no es sencillo de implantar ni de mantener, y se arriesga a cometer errores al crear las consultas y asignar todas las variables a un único bloque de inicialización. Si implanta y mantiene cuidadosamente las consultas y las variables de los bloques de inicialización, puede reducir de forma significativa el tiempo que se tarda en conectarse y mostrar la primera página del panel de control.