Manuel de référence des paramètres réglables d'Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Décembre 2014
 
 

Réglage du ZFS pour une base de données Oracle

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