Manutenção de Blocos de Inicialização

Ao utilizar o Data Gateway ou o Remote Data Connector com o Oracle Analytics Cloud, verifica-se uma pequena sobrecarga na duração da execução de cada consulta.

Não se aperceberá da duração adicional quando executar um relatório porque é inferior a 0,3 segundos. No entanto, poderá ter problemas de desempenho se executar muitos (o número depende dos seus requisitos de desempenho) blocos de inicialização sempre que alguém entrar em sessão, porque as consultas de blocos de inicialização são executadas em série. A utilização da opção diferida para os blocos de inicialização não corrige o problema, porque os blocos de inicialização são executados quando abre a primeira página do dashboard.

Isto constitui um problema se utilizar o Oracle BI Applications, pois este executa mais de duzentos blocos de inicialização. Para o Oracle Analytics Cloud, a melhor forma de evitar estes problemas de desempenho é reduzir o número de blocos de inicialização.

Apresentamos a seguir as nossas recomendações sobre como reduzir o número de blocos de inicialização da sessão:

  • Desative todos os blocos de inicialização que não são realmente necessários.

    Por exemplo, no Oracle BI Applications, desative os blocos de inicialização que fazem referência aos módulos do Oracle BI Applications que já não utiliza.

  • Exceto quando existir uma regra de precedência, funda todos os blocos de inicialização row_wise que utilizam o mesmo pool de ligações e devolvem o mesmo tipo de dados utilizando UNION ALL entre as respetivas consultas.

    Por exemplo:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Desative todos os blocos de inicialização que selecionam um valor com codificação rígida de dual ou W_DUAL_G e coloque o valor com codificação rígida no inicializador por omissão da variável correspondente.
  • Funda os blocos de inicialização restantes que selecionam dados de dual numa única instrução select.
  • Para os clientes do Oracle BI Applications, desative todos os blocos de inicialização utilizados para obter o nome e os valores dos atributos customizados do Oracle Human Capital Management se o atributo correspondente não for utilizado (se o valor por omissão standard 'HIDE' for o valor atual para estas variáveis) ou se não utilizar o Oracle Human Capital Management como uma origem de dados do Oracle BI Applications (existem cem blocos de inicialização como este no Oracle BI Applications):
    HR xxx Attribute yyy
  • Funda todos os blocos de inicialização restantes que não são row_wise e utilizam o mesmo pool de ligações. Por exemplo:

    Init block 1 é baseado em query1: select colA from tableA where….

    Init block 2 é baseado em query2: select colB from tableB where….

    Pode fundi-los num único bloco de inicialização utilizando uma consulta como:

    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

Pode efetuar o número de uniões necessárias para obter todas as variáveis do mesmo pool de ligações numa única consulta.

A implementação ou manutenção não é fácil e arrisca-se a cometer erros quando cria as consultas e atribui todas as variáveis a um único bloco de inicialização. Se implementar e mantiver cuidadosamente as consultas e variáveis dos blocos de inicialização, pode reduzir significativamente o tempo necessário para entrar em sessão e apresentar a primeira página do dashboard.