Ajuste de memoria en Oracle
A continuación se describen algunas reglas generales relacionadas con la configuración del área global del sistema de Oracle (SGA) así como las estructuras de la memoria que afectan al tamaño de un área global privada del usuario de Oracle (PGA). Un SGA es un bloque de memoria compartida que Oracle asigna y comparte con todas las sesiones. Para más información acerca de SGA, consulte la Oracle Concepts Guide para su versión de Oracle.
-
SGA no debe intercambiarse.
No deberá crear un SGA que sea mayor que dos tercios del tamaño de la memoria física de acceso aleatorio (RAM) del servidor. Su memoria virtual debe ser capaz de dar cabida tanto al SGA como a los requisitos de todos los procesos activos del servidor.
-
Evite un exceso de paginación.
Al utilizar las herramientas del sistema operativo (vmstat en sistemas UNIX y Administrador de tareas en Windows), compruebe si existe un exceso de paginación. Un nivel alto de paginación puede originar un SGA que sea demasiado grande.
-
Configure suficiente memoria virtual.
En general, Oracle recomienda que su espacio de intercambio sea como mínimo tres o cuatro veces el tamaño de su memoria física RAM. El tamaño necesario del archivo de intercambio en UNIX o el archivo de páginas de Windows dependerá del número de sesiones de ArcSDE activas. Para cada sesión del servicio de ArcSDE (servidor de aplicaciones), se inicia un proceso de gsrvr y el correspondiente proceso de Oracle. Para determinar el uso de memoria de estos procesos, utilice el comando ps –elf en sistemas UNIX o la ficha Procesos del Administrador de tareas de Windows. Deberá restar el tamaño del SGA de Oracle de los procesos del usuario de Oracle. El tamaño total del gsrvr de ArcSDE, el giomgr de ArcSDE, el usuario de Oracle, el fondo de Oracle, el sistema operativo y los demás procesos que se ejecuten en el servidor deben ser capaces de encajar en la memoria virtual.
Para las aplicaciones cliente de ArcSDE que se conectan directamente a una instancia de Oracle, no existe el proceso gsrvr. Asimismo, si el servicio de ArcSDE no se utiliza porque las aplicaciones cliente se conectan directamente a la instancia de Oracle, tampoco se iniciará el proceso giomgr. Por este motivo, las conexiones directas tienen una impresión de memoria más pequeña en el servidor puesto que el proceso gsrvr está ausente. Los parámetros que afectan a la memoria incluyen LOG_BUFFERSHARED_POOL_SIZE, DB_CACHE_SIZE, PGA_AGGREGATE_TARGET, SGA_TARGET y WORKAREA_SIZE_POLICY.
Para obtener una explicación acerca de los ajustes que se aconsejan para estos parámetros, consulte Parámetros de inicialización de Oracle.
-
Utilice las cuotas explícitas en los espacios de tabla para evitar agotar todo el espacio de almacenamiento disponible.
Los usuarios con privilegios para crear objetos de Oracle, tales como el usuario SDE, el propietario de una geodatabase almacenada en un esquema de usuario y los propietarios de datos pueden acceder al espacio de almacenamiento a través de uno de estos dos métodos: contando con el privilegio del sistema UNLIMITED TABLESPACE o recibiendo una cuota explícita en un espacio de tabla.
El privilegio UNLIMITED TABLESPACE permite a un usuario asignar una cantidad ilimitada de espacio en cualquiera o todos los espacios de tabla de la base de datos, incluyendo los espacios de tabla SYSTEM y SYSAUX gestionados por Oracle. Ello ofrece la posibilidad de que un usuario final, intencionada o accidentalmente, agote todo el espacio de almacenamiento disponible e incluso haga fallar la instancia de Oracle. Por esta razón, es mejor si sólo los usuarios del administrador de la base de datos poseen este potente privilegio del sistema.
Para usuarios que no son DBAs, deberá asignar una cuota en uno o más espacios de tabla para permitir que creen objetos de Oracle de forma controlada. Por ejemplo, puede otorgar al usuario propietario de datos GIS_ADMIN una cuota en los espacios de tabla GIS_DATA y GIS_INDEX pero no en los espacios de tabla SYSTEM y SYSAUX. Esto le permite controlar en qué lugar el propietario de datos puede crear sus tablas e índices y, originalmente, cuánto espacio pueden consumir esos objetos.
Normalmente, el DBA asigna una cuota ilimitada o ninguna cuota en cada espacio de tabla para proyectar al administrador de instancia y los usuarios propietarios de datos. De esta forma, el DBA controla dónde se almacenan físicamente los datos, tales como en un array de disco en espejo para una mayor protección de los datos y pueden separarse los datos en contenedores lógicos separados de los datos del sistema y de los datos para otros proyectos y aplicaciones. La cuota ilimitada permite que el propietario de datos asigne tanto espacio como sea necesario dentro de los espacios de tabla a los cuales tenga acceso. Esto resulta generalmente adecuado porque los usuarios con acceso a la cuenta del propietario de datos normalmente poseen una formación o experiencia adicionales y a menudo conocen más los requisitos de almacenamiento de sus propios datos GIS que el DBA.
En entornos en los que los editores de datos o los espectadores de datos tienen permiso para crear sus propios objetos de geodatabases, tales como la salida de operaciones de geoprocesamiento, usted puede elegir asignar una cuota limitada en los espacios de tabla a los cuales los usuarios tienen acceso de escritura. Por ejemplo, en el espacio de tabla GIS_DATA, los espectadores de datos pueden tener una cuota de 100 MB, los editores una cuota de 500 MB y los propietarios de datos pueden tener una cuota ilimitada. Deberá personalizar las asignaciones de cuotas para satisfacer las necesidades específicas de sus procesos de datos y comerciales.