Ejecutando Oracle 18c en una máquina virtual Windows 2012R (VMWare). (No tengo acceso a ninguna de las herramientas de administración de VM).
La VM tiene 5 vCPU y 12 GB de Ram (esta fue supuestamente la recomendación del equipo de VM para reducir la contención de la CPU...) Sin embargo, estoy notando que la memoria comprometida (utilizada por Oracle) es significativamente mayor que la Ram disponible para la máquina. .
v$memory_target_advice
no insinúa ninguna mejora al aumentar el objetivo de memoria...
Preguntas
- ¿Significa esto que una gran parte de Oracle está en un archivo de paginación?
- Dado que todavía hay 3 GB disponibles, ¿significa esto que si Oracle necesitara (o si Windows decidiera que se le debería permitir el acceso a Oracle) RAM adicional, podría hacerlo? (¿Quiere decir que no es necesario cambiar nada?)
Respuesta1
Oracle solía tener un error en su optimizador que hacía que calculara mal la memoria necesaria para ordenar datos. Este mal cálculo provocó que se asignara una enorme cantidad de memoria, en muchos casos más de la disponible. Esto no quiere decir que alguna vez usó esta memoria, por lo que se asignó en el archivo de paginación pero nunca se usó.
Sin embargo, se afirmó que este error se solucionó en la versión 12. Una posibilidad es que todavía esté presente.
Otra posibilidad es que Oracle tenga una pérdida de memoria. Puede probar esto inmediatamente después de reiniciar verificando la memoria comprometida después de que se inicie Oracle y después de realizar SELECT.
Si sus pruebas apuntan a un error en la asignación de memoria de Oracle, debe informarlo.