Comment compresser les données dans Oracle 12c

Les administrateurs de base de données (DBA) passent beaucoup de leur temps et d'efforts compression de données pour la rétention et l'archivage. Dans les bases de données Oracle 12c, compression

Sommaire

est le fait de prendre les données dans votre base de données et l'application de procédés qui réduisent son empreinte de stockage.

Parce que chaque année qui passe par des résultats de plus en plus de données dans votre base de données, sans processus spécifiques en place, une base de données peut rapidement développer hors de contrôle, de consommer toutes sortes de ressources et d'entraver les performances. Comme une base de données de première classe, Oracle donne les outils de compression de DBA à faire les travaux de suppression des données (purge) et des données de tenue (de rétention et d'archivage) plus rapide et plus efficace.

Comment utiliser la compression de base dans Oracle 12c

Compression de base dans la base de données a été autour depuis Oracle 9i. Elle est appelée compression de base car il est très simple dans ce qu'il fait. Cependant, il est également limitée dans ses applications. Compression de base fonctionne un peu comme utiliser un outil Zipping pour compresser un fichier sur votre système d'exploitation. Dans la base de données, les objets peuvent être compressés.

Utilisation de la compression de base pour réduire la taille de vos tables peut vous permettre de l'efficacité dans l'utilisation de l'espace (évidemment), CPU (tableau numérisation), et de la mémoire (mémoire tampon de l'utilisation du cache). Les moyens de plus grande efficacité que les tablespaces et les sauvegardes prennent moins de place. Les sauvegardes sont exécutées plus rapidement ainsi.

Soyez conscient, cependant, que la compression de base est principalement recommandé pour les objets avec une faible fréquence de langage de manipulation de données (DML). Il est préférable que les objets sont pratiquement en lecture seule. Tu peux dire pratiquement parce que certaines données ne sont pas à 100 pour cent en noir et blanc.

Par exemple, le nom d'une personne change rarement, donc une liste des noms des employés est pratiquement en lecture seule. Un changement peut se produire de temps en temps, mais, si rarement que la compression des données et d'encourir les frais généraux d'un changement est négligeable.

Pensez-y de cette façon, si vous souhaitez modifier un fichier compressé sur votre OS, qu'est-ce que vous avez à faire en premier? Vous devez décompresser. La même chose est vraie avec la compression de base Oracle. DML sur des fichiers compressés souffre en termes de performances.

Voici un exemple de compression.

  1. Connectez-vous à SQL * Plus en tant qu'utilisateur RH et de faire une copie des employés de la table de démonstration appelé emp en tapant

  2. Vérifiez la taille de cette table en tapant

    lt; sélectionnez nom_segment, bytesfrom user_segmentswhere nom_segment = 'EMP' ->

    Vous voyez quelque chose comme ceci:

    Nom_segment BYTES -------------- -------------------- EMP 65536
  3. Insérer des lignes dans emp en exécutant l'instruction suivante jusqu'à ce que vous voyez “ 109568 lignes créées ” ;:

    lt; insérer dans emp select * from EMP>
  4. Vérifiez la taille de la table emp nouveau en tapant

    lt; sélectionnez nom_segment, bytesfrom user_segmentswhere nom_segment = 'EMP' ->



    Vous voyez quelque chose comme ceci:

    Nom_segment BYTES -------------- -------------------- EMP 18874368
  5. Compresser les lignes en tapant

    Vous voyez ceci:

    Tableau modifié.
  6. Vérifiez la taille une fois de plus en tapant

    lt; sélectionnez nom_segment, bytesfrom user_segmentswhere nom_segment = 'EMP' ->

    Vous voyez quelque chose comme ceci:

Nom_segment BYTES -------------- -------------------- EMP9,437,184

Comme vous pouvez le voir, la table a été réduite à environ 50 pour cent de la taille originale. Selon le type et l'organisation de vos données, vous pouvez voir degrés de compression variable.

Pour voir vos tables de détails de compression dans le dictionnaire de données, le type

Vous voyez quelque chose comme ceci:

TABLE_NAME COMPRESS COMPRESS_FOR ------------------------------ -------- --------- --- EMP base activée

Pour supprimer la compression d'une table dans le cas où vous avez besoin de mettre à jour un grand nombre de données, le type

Vous voyez ceci:

Tableau modifié.

Comment utiliser la compression avancée dans Oracle 12c

La première chose à comprendre au sujet de compression avancée est qu'il utilise des algorithmes de compression les plus développés et les politiques d'accès aux données de sorte que les frais généraux de l'émission DML sur vos objets comprimé est pratiquement éliminé. Eh bien, l'autre chose importante que vous devez être conscient est que la compression avancée est une fonction sous licence.

Oui, cela signifie que vous devez payer un supplément pour cela. Votre représentant des ventes Oracle peut vous aider à déterminer ce qu'il en coûtera. Une chose que vous devriez considérer, cependant, est le retour sur investissement que vous pouvez obtenir auprès de compression avancée. Vous aurez besoin de moins de stockage, et de nombreuses opérations seront améliorés. Le calcul de ces rendements sera une partie importante de votre processus de décision.

Utilisation de la compression avancée est très simple. Si vous avez suivi la démo avant, vous avez une table emp en format non compressé. Vous utilisez cette table emp dans les étapes suivantes pour appliquer une compression avancée:

  1. Pour compresser votre table emp avec compression avancée, le type

    Vous voyez quelque chose comme ceci:

    Tableau modifié.
  2. Pour vérifier la nouvelle taille de votre table emp, le type

    Vous voyez quelque chose comme ceci:

    Nom_segment BYTES -------------- -------------------- EMP9,437,184
  3. Vérifiez les détails de compression dans le dictionnaire de données en tapant

    Vous voyez quelque chose comme ceci:

    TABLE_NAME COMPRESS COMPRESS_FOR ------------------------------ -------- --------- --- EMP activé le.

    Votre table est activée pour toutes les opérations, y compris DML avec une perte minimale de la performance.

Vous avez peut-être remarqué dans les exemples à la fois pour la compression de base et avancées MOVE mot clé est utilisé dans les commandes. Si vous ne l'utilisez MOVE mot-clé, la table ne sont pas compressées, mais toutes les données futures insérées dans la table sera compressé.

Si vous utilisez MOVE mot-clé et il ya des indices sur la table, ces indices seront corrompus. Cette corruption se produit parce que vous modifiez l'emplacement de ligne de la table lorsque vous compressez les données de manière proactive.

Pour résoudre ce problème, après une action de compression MOVE, reconstruisent les index. Ceci est une raison vous pouvez choisir de compresser les données pour les opérations futures maintenant et puis le déplacer plus tard, quand vous pouvez encourir des temps d'arrêt de reconstruire les index.


» » » Comment compresser les données dans Oracle 12c