ZFS est recommandé pour toute version de base de données Oracle en mode d'instance unique. ZFS peut être utilisé avec une base de données Oracle RAC lorsque celle-ci est disponible en tant que système de fichiers partagés NFS (network file system).
Veuillez prendre en considération les recommandations suivantes pour régler le ZFS pour une base de données Oracle :
Vérifiez que vous exécutez la dernière version de Solaris
Commencez par la dernière version de Solaris 10 ou Oracle Solaris 11, avec la version Solaris 10 9/10 en tant que point de départ minimum.
Créez des LUN pour vos pools de stockage ZFS, le cas échéant
Utilisez vos outils de baies de stockage pour créer des LUN qui seront présentées au pool de stockage ZFS. Ou envisagez d'utiliser des disques entiers pour vos pools de stockage ZFS mis en miroir. Pour plus d'informations, reportez-vous au Chapitre 3, Gestion des pools de stockage Oracle Solaris ZFS du manuel Gestion des systèmes de fichiers ZFS dans OracleSolaris 11.2 .
Créez un pool de stockage pour les fichiers de données pour les tables, index, annulations et données temporaires
Envisagez de créer un pool de stockage mis en miroir afin de fournir un niveau plus élevé de redondance de données. Par exemple :
# 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
Pour les bases de données avec une forte activité de fichiers de journalisation, par exemple une base de données OLTP typique avec un grand nombre de validations, utilisez une LUN distincte pour un périphérique de journal distinct.
Créez un pool de stockage pour le journal d'archivage
S'il est disponible, un disque interne du système peut gérer ce type de charge. Le système de fichiers archivelog peut également être un système de fichiers dans dbpool.
# zpool create archivepool c0t5000C500335E106Bd0
Créez les systèmes de fichiers ZFS et définissez les propriétés de système de fichiers spécifiques à l'aide des directives suivantes
Créez des systèmes de fichiers distincts pour les composants de base de données de restauration, d'archivage, d'annulation et temporaire, à l'aide du recordsize suivant :
Oracle Solaris 11 et versions antérieures : 128 Ko
Oracle Solaris 11.1 et versions ultérieures : 1 Mo
La règle générale consiste à définir la valeur recordsize = db_block_size du système de fichiers pour les systèmes de fichiers contenant les fichiers de données Oracle. Pour les composants d'index et de données de table, créez un système de fichiers dont la taille d'enregistrement est de 8 Ko. Envisagez également de fournir des indications relatives à la mise en cache des métadonnées pour vos systèmes de fichiers de base de données à l'aide de la propriété primarycache. Pour plus d'informations sur les propriétés du système de fichiers ZFS, reportez-vous à la section Présentation des propriétés ZFS du manuel Gestion des systèmes de fichiers ZFS dans OracleSolaris 11.2 .
Créez les systèmes de fichiers pour les fichiers de données de la table et les fichiers de données d'index avec la valeur taille recordsize égale à 8 Ko. Utilisez la valeur par défaut pour la valeur 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
Créez des systèmes de fichiers pour les données temporaires et l'espace de la table d'annulation
Pour Oracle Solaris 11 et les versions antérieures, utilisez les valeurs par défaut recordsize et primarycache.
# 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
Pour Oracle Solaris 11.1 et les versions antérieures, utilisez les valeurs par défaut recordsize et primarycache suivantes.
# 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
Créez un pool de stockage avec un périphérique de journalisation distinct pour les fichiers de journalisation. Pour les bases de données avec une forte activité de fichiers de journalisation, par exemple une base de données OLTP typique avec un grand nombre de validations, utilisez une LUN distincte.
Partitionnez le disque en deux tranches, dont une petite tranche, s0, entre 64 et 150 Mo, pour le périphérique de journalisation distinct. La tranche s1 contient l'espace disque restant pour le fichier de journalisation.
# 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
Créez un système de fichiers de journalisation dans le pool de journalisation.
Pour Oracle Solaris 11 et les versions antérieures, utilisez les valeurs de système de fichiers par défaut pour recordsize et primarycache.
# zfs create -o mountpoint=/my_db_path/redo redopool/redo # zfs set logbias=latency redopool/redo
Pour Solaris 11.1 et les versions ultérieures, utilisez les valeurs recordsize et primarycache par défaut suivantes.
# zfs create -o recordsize=1m -o mountpoint=/my_db_path/redo redopool/redo # zfs set logbias=latency redopool/redo
Créez un système de fichiers pour les fichiers d'archivage dans le pool d'archivage.
Pour Oracle Solaris 11 et les versions antérieures, activez la compression en utilisant la valeur par défaut pour recordsize et définissez primarycache sur 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
Pour Solaris 11.1 et versions ultérieures - Activez la compression, définissez primarycache sur metadata et utilisez la valeur de recordsize suivante :
# 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
Envisagez la définition de quotas de façon à ce que vos systèmes de fichiers de base de données disposent d'un espace disque suffisant pour fonctionner et la création d'instantanés de vos systèmes de fichiers de base de données. De plus, définissez la réservation de 10 à 20 % d'espace de spool sur un système de fichiers fictif pour préserver les performances de ce pool.
# zfs set reservation=20gb dbpool/freespace
Pour plus d'informations sur le réglage des baies de stockage et des ressources mémoires, consultez le livre blanc disponible à l'adresse suivante : http://www.oracle.com/technetwork/server-storage/solaris/config-solaris-zfs-wp-167894.pdf
Recommandations de configuration complémentaires de la base de données Oracle
Configuration de votre base de données Oracle sur des systèmes de fichiers ZFS dans le livre blanc suivant :
http://www.oracle.com/technetwork/server-storage/solaris/config-solaris-zfs-wp-167894.pdf
Livre blanc Réglage SGA dynamique de la base de données Oracle sur Oracle Solaris avec DISM :
Guides d'installation d'Oracle 11g
Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Oracle Solaris on SPARC (64-Bit)
http://docs.oracle.com/cd/E11882_01/install.112/e24349/toc.htm
Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Oracle Solaris on x86-64 (64-Bit)
http://docs.oracle.com/cd/E11882_01/install.112/e24351/toc.htm