This post is also available in: English
Esses dias, criei uma base na versão 11.2.0.4 bem pequena mas em um servidor poderoso Sun Sparc de 64 processadores.
Eu configurei o banco de dados para usar o mínimo possível de memory_target: 524M. O meu planejamento era o de aumentar este tamanho após terminar de preparar o servidor do BD.
Quando eu comecei a configurar o Database Vault, recebi o seguinte erro nas etapas de pós instalação (postDBConfigure.log):
DECLARE * ERROR at line 1: ORA-12801: error signaled in parallel query server P245 ORA-12853: insufficient memory for PX buffers: current 138400K, max needed 887760K ORA-04031: unable to allocate 65560 bytes of shared memory ("large pool","unknown object","large pool","PX msg pool") ORA-06512: at "SYS.UTL_RECOMP", line 865 ORA-06512: at line 4
My alert.log had the following error: ORA-04031: unable to allocate 65560 bytes of shared memory ("large pool","unknown object","large pool","PX msg pool")
Como foi um erro de "PX" (paralelismo), e o meu sistema tem muitos processadores, o problema foi que o valor de default do parallel_max_servers estava como 270! Esse número seria aceitável se eu tivessse memória livre suficiente (especialmente na pga) para acomodar todos os processos que abririam, mas eu não tinha. O meu MEMORY_TARGET era o mínimo aceitável.
Então, para resolver isso, eu troquei este parâmetro para um valor menor:
ALTER SYSTEM SET parallel_max_servers=30 SCOPE=BOTH;
Isso resolveu o meu problema! =] .. Tive que voltar o meu BD para um restore point criado antes do vault e então, após executa-lo novamente, tudo funcionou!
Gostou? Não deixe de comentar ou deixar um 👍!