temos uma tabela bastante pequena (~ 25k linhas) que está sendo fortemente gravada e a maioria das linhas desaparece rapidamente (é parte de um aplicativo de agendamento que armazena informações sobre os trabalhos nessa tabela).
É um aplicativo de terceiros que faz uma grande quantidade de pequenas transações que resultam em uma alta contenção nessa tabela.
Tudo isso está sendo executado em um cluster RAC de dois nós usando o Oracle 11gR1
Podemos ver nos relatórios do AWR que a maior parte do tempo é gasto aguardando a sincronização do cluster.
Gostaríamos de particionar (com hash) essa tabela para distribuir a contenção nos blocos que estão sendo modificados.
No entanto, a tabela também contém uma BLOB
coluna que é usada pelo aplicativo para armazenar o estado do trabalho. Também vemos um alto volume de leituras e gravações no segmento LOB dessa coluna.
Minha pergunta é: quando particionamos a tabela, existe uma maneira de criar vários segmentos de LOB também? Para que haja uma relação um-para-um entre partições de tabela (ou seja, segmentos) e segmentos LOB?
Não encontrei nada no manual, mas como a documentação de CREATE TABLE é muuuuito grande, não ficaria surpreso se tivesse esquecido alguma coisa.
Sim, parece que você esqueceu de fato: