ZFS se recomienda para cualquier versión de base de datos Oracle en modo de instancia única. ZFS se puede utilizar con una base de datos Oracle RAC cuando esté disponible como un sistema de archivos compartido de NFS.
Revise las siguientes recomendaciones para ajustar ZFS para una base de datos Oracle:
Verifique que esté ejecutando la última versión de Oracle Solaris
Comience con la última versión de Oracle Solaris 10 u Oracle Solaris 11, con la versión 9/10 de Solaris 10 como el mínimo punto inicial.
Cree LUN para las agrupaciones de almacenamiento ZFS, si es necesario
Utilice las herramientas de la matriz de almacenamiento para crear LUN que se presentarán a la agrupación de almacenamiento ZFS. Otra opción es utilizar discos enteros para las agrupaciones de almacenamiento ZFS reflejadas. Para obtener más información, consulte el Capítulo 3, Administración de agrupaciones de almacenamiento de Oracle Solaris ZFS de Gestión de sistemas de archivos ZFS en Oracle Solaris 11.2 .
Cree una agrupación de almacenamiento de archivos de datos para tablas, índices, deshacer y datos temporales
Considere la posibilidad de crear una agrupación de almacenamiento reflejada para proporcionar un mayor nivel de redundancia de datos. Por ejemplo:
# zpool status dbpool pool: dbpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dbpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c0t5000C500335F95E3d0 ONLINE 0 0 0 c0t5000C500335F907Fd0 ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 c0t5000C500335BD117d0 ONLINE 0 0 0 c0t5000C500335DC60Fd0 ONLINE 0 0 0 errors: No known data errors
Para las bases de datos con alta actividad de log de rehacer, como una base de datos OLTP típica con muchas confirmaciones, utilice un LUN independiente para un dispositivo de log independiente.
Cree una agrupación de almacenamiento para archivelog
Si está disponible, un disco interno del sistema puede controlar este tipo de carga. El sistema de archivos archivelog también puede ser un sistema de archivos en dbpool.
# zpool create archivepool c0t5000C500335E106Bd0
Cree los sistemas de archivos ZFS y defina la propiedades específicas de los sistemas de archivos utilizando las siguientes directrices
Cree sistemas de archivos independientes para rehacer, archivar, deshacer componentes de la base de datos temporal con el siguiente recordsize:
Oracle Solaris 11 y versiones anteriores: 128 K
Oracle Solaris 11.1 y versiones anteriores: 1 M
La regla general es definir el sistema de archivos recordsize = db_block_size para los sistemas de archivos que contienen archivos de datos de Oracle. Para los datos de la tabla y los componentes del índice, cree un sistema de archivos con un tamaño de registro de 8 KB. También considere la posibilidad de ofrecer sugerencias de almacenamiento en caché de metadatos para los sistemas de archivos de base de datos utilizando la propiedad primarycache. Para obtener más información sobre las propiedades del sistema de archivos ZFS, consulte Introducción a las propiedades ZFS de Gestión de sistemas de archivos ZFS en Oracle Solaris 11.2 .
Cree sistemas de archivos para los archivos de datos de la tabla y del índice con recordsize de 8 KB. Utilice el valor predeterminado para primarycache.
# zfs create -o recordsize=8k -o mountpoint=/my_db_path/index dbpool/index # zfs set logbias=throughput dbpool/index # zfs get primarycache,recordsize,logbias dbpool/index NAME PROPERTY VALUE SOURCE dbpool/index primarycache all default dbpool/index recordsize 8K local dbpool/index logbias throughput local
Cree sistemas de archivos para temporales y deshacer espacios de tabla
Para Oracle Solaris 11 y versiones anteriores, utilice los valores recordsize y primarycache predeterminados.
# zfs create -o mountpoint=/my_db_path/temp dbpool/temp # zfs set logbias=throughput dbpool/temp # zfs create -o mountpoint=/my_db_path/undo dbpool/undo # zfs set logbias=throughput dbpool/undo
Para Oracle Solaris 11.1 y versiones posteriores, utilice los siguientes valores recordsize y primarycache.
# zfs create -o recordsize=1m -o mountpoint=/my_db_path/temp dbpool/temp # zfs set logbias=throughput dbpool/temp # zfs create -o recordsize=1m -o mountpoint=/my_db_path/undo dbpool/undo # zfs set logbias=throughput dbpool/undo
Cree una agrupación de almacenamiento para los logs de rehacer con un dispositivo de log independiente. Para las bases de datos con alta actividad de log de rehacer, como una base de datos OLTP típica con muchas confirmaciones, utilice un LUN de dispositivo de log independiente.
Realizar una partición del disco en dos segmentos, un pequeño segmento, s0, en el rango de 64 a 150 MB para el log independiente. El segmento s1 contiene el espacio en disco restante para el log de rehacer.
# zpool create redopool c0t50015179594B6F11d0s1 log c0t50015179594B6F11d0s0 # zpool status redopool pool: redopool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM redopool ONLINE 0 0 0 c0t50015179594B6F11d0s1 ONLINE 0 0 0 logs c0t50015179594B6F11d0s0 ONLINE 0 0 0 errors: No known data errors
Cree un sistema de archivos para los logs de rehacer en la agrupación de deshacer.
Para Oracle Solaris 11 y versiones anteriores, utilice los valores del sistema de archivo recordsize y primarycache predeterminados.
# zfs create -o mountpoint=/my_db_path/redo redopool/redo # zfs set logbias=latency redopool/redo
Para Solaris 11.1 y versiones posteriores, utilice los siguientes valores recordsize y primarycache.
# zfs create -o recordsize=1m -o mountpoint=/my_db_path/redo redopool/redo # zfs set logbias=latency redopool/redo
Cree un sistema de archivos para los archivos archivelog en la agrupación de archivos.
Para Oracle Solaris 11 y versiones anteriores, active la comparación con el valor predeterminado para recordsize y establezca primarycache como metadata.
# zfs create -o compression=on -o primarycache=metadata -o mountpoint= /my_db_admin_path/archive archivepool/archive # zfs get primarycache,recordsize,compressratio,compression,available, used,quota archivepool/archive NAME PROPERTY VALUE SOURCE archivepool/archive primarycache metadata local archivepool/archive recordsize 128K default archivepool/archive compressratio 1.32x - archivepool/archive compression on local archivepool/archive available 40.0G - archivepool/archive used 10.0G - archivepool/archive quota 50G local
Para Solaris 11.1 y versiones posteriores, active la comparación, establezca primarycache como metadatos y utilice el siguiente valor recordsize:
# zfs create -o compression=on –o recordsize=1M \ -o mountpoint=/my_db_admin_path/archive archivepool/archive # zfs get primarycache,recordsize,compressratio,compression,\ available,used,quota archivepool/archive NAME PROPERTY VALUE SOURCE archivepool/archive primarycache all local archivepool/archive recordsize 1M local archivepool/archive compressratio 1.32x - archivepool/archive compression on local archivepool/archive available 40.0G - archivepool/archive used 10.0G - archivepool/archive quota 50G local
Considere configurar cuotas para que los sistemas de la base de datos de archivos tengan suficiente espacio en disco para funcionar y tomar instantáneas de los sistemas de la base de datos de archivos. Además, establezca un sistema de archivos de prueba para reservar del 10 al 20% del espacio de agrupación para mantener el rendimiento de la agrupación.
# zfs set reservation=20gb dbpool/freespace
Para obtener información adicional sobre el ajuste de las matrices de almacenamiento y recursos de memoria, consulte la documentación técnica en http://www.oracle.com/technetwork/server-storage/solaris/config-solaris-zfs-wp-167894.pdf.
Recomendaciones adicionales de configuración de la base de datos Oracle
Configuring Your Oracle Database on ZFS File Systems (Configuración de la base de datos Oracle en sistemas de archivos ZFS) en la siguiente documentación técnica:
http://www.oracle.com/technetwork/server-storage/solaris/config-solaris-zfs-wp-167894.pdf
Documentación técnica Dynamic SGA Tuning of Oracle Database on Oracle Solaris with DISM (Ajuste dinámico SGA de la base de datos Oracle en Oracle Solaris con DISM):
Guías de instalación de Oracle 11g
Guía de instalación rápida de Oracle Database 11g versión 2 (11.2) para Oracle Solaris en SPARC (64 bits)
http://docs.oracle.com/cd/E11882_01/install.112/e24349/toc.htm
Guía de instalación rápida de Oracle Database 11g versión 2 (11.2) para Oracle Solaris en x86-64 (64 bits)
http://docs.oracle.com/cd/E11882_01/install.112/e24351/toc.htm