Skip to main content
NetApp Solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

SnapCenter automatisation du cycle de vie des clones Oracle

Contributeurs

Allen Cao, Niyaz Mohamed, NetApp

Objectif

Les clients apprécient la fonctionnalité FlexClone du stockage NetApp ONTAP pour les bases de données, car elle permet de réaliser d'importantes économies en termes de coûts de stockage. Ce kit Ansible automatise la configuration, le clonage et l'actualisation des bases de données Oracle clonées selon un calendrier défini à l'aide des utilitaires de ligne de commande NetApp SnapCenter qui simplifient la gestion du cycle de vie. Ce kit s'applique aux bases de données Oracle déployées sur un système de stockage ONTAP sur site ou dans le cloud public, et gérées par l'outil d'interface utilisateur NetApp SnapCenter.

Cette solution répond aux cas d'utilisation suivants :

  • Configurez le fichier de configuration de la spécification de clonage de la base de données Oracle.

  • Créez et actualisez la base de données Oracle clone selon un planning défini par l'utilisateur.

Public

Cette solution est destinée aux personnes suivantes :

  • Administrateur de bases de données qui gère les bases de données Oracle avec SnapCenter.

  • Administrateur du stockage qui gère le stockage ONTAP avec SnapCenter.

  • Propriétaire d'application ayant accès à l'interface utilisateur de SnapCenter.

Licence

En accédant au contenu de ce référentiel GitHub, en le téléchargeant, en l'installant ou en l'utilisant, vous acceptez les conditions de la licence énoncées dans "Fichier de licence".

Remarque Il existe certaines restrictions concernant la production et/ou le partage de travaux dérivés avec le contenu de ce référentiel GitHub. Assurez-vous de lire les termes de la Licence avant d'utiliser le contenu. Si vous n'acceptez pas toutes les conditions, n'accédez pas au contenu de ce référentiel, ne le téléchargez pas et ne l'utilisez pas.

Déploiement de la solution

Conditions préalables au déploiement

Details

Le déploiement nécessite les conditions préalables suivantes.

Ansible controller:
  Ansible v.2.10 and higher
  ONTAP collection 21.19.1
  Python 3
  Python libraries:
    netapp-lib
    xmltodict
    jmespath
SnapCenter server:
  version 5.0
  backup policy configured
  Source database protected with a backup policy
Oracle servers:
  Source server managed by SnapCenter
  Target server managed by SnapCenter
  Target server with identical Oracle software stack as source server installed and configured

Téléchargez la boîte à outils

Details
git clone https://bitbucket.ngage.netapp.com/scm/ns-bb/na_oracle_clone_lifecycle.git

Configuration des fichiers des hôtes cibles Ansible

Details

Le kit d'outils inclut un fichier hosts qui définit les cibles sur lesquelles s'exécute un PlayBook Ansible. Il s'agit généralement des hôtes clones Oracle cibles. Voici un exemple de fichier. Une entrée d'hôte comprend l'adresse IP de l'hôte cible ainsi que la clé ssh permettant à un utilisateur admin d'accéder à l'hôte pour exécuter la commande clone ou refresh.

#Hôtes de clonage Oracle

[clone_1]
ora_04.cie.netapp.com ansible_host=10.61.180.29 ansible_ssh_private_key_file=ora_04.pem
[clone_2]
[clone_3]

Configuration des variables globales

Details

Les playbooks Ansible prennent des entrées variables à partir de plusieurs fichiers variables. Vous trouverez ci-dessous un exemple de fichier de variable globale vars.yml.

# ONTAP specific config variables
# SnapCtr specific config variables
snapctr_usr: xxxxxxxx
snapctr_pwd: 'xxxxxxxx'
backup_policy: 'Oracle Full offline Backup'
# Linux specific config variables
# Oracle specific config variables

Configuration des variables hôte

Details

Les variables hôtes sont définies dans le répertoire host_vars nommé {{ host_name }}.yml. Vous trouverez ci-dessous un exemple de fichier de variable hôte Oracle cible ora_04.cie.netapp.com.yml qui montre une configuration typique.

# User configurable Oracle clone db host specific parameters
# Source database to clone from
source_db_sid: NTAP1
source_db_host: ora_03.cie.netapp.com
# Clone database
clone_db_sid: NTAP1DEV
snapctr_obj_id: '{{ source_db_host }}\{{ source_db_sid }}'

Configuration du serveur Oracle cible de clone supplémentaire

Details

La même pile logicielle Oracle doit être installée et corrigée pour le serveur Oracle cible de clone. $ORACLE_BASE et $ORACLE_HOME sont configurés pour l'utilisateur ORACLE .bash_profile. De plus, la variable $ORACLE_HOME doit correspondre au paramètre du serveur Oracle source. Voici un exemple.

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/NTAP1

Exécution de PlayBook

Details

Au total, trois playbooks permettent d'exécuter le cycle de vie des clones d'une base de données Oracle avec les utilitaires de l'interface de ligne de commande SnapCenter.

  1. Installez les prérequis du contrôleur Ansible, une seule fois.

    ansible-playbook -i hosts ansible_requirements.yml
  2. Fichier de spécification de clone de configuration - une seule fois.

    ansible-playbook -i hosts clone_1_setup.yml -u admin -e @vars/vars.yml
  3. Créez et actualisez régulièrement la base de données de clones à partir de crontab avec un script shell pour appeler un PlayBook d'actualisation.

    0 */4 * * * /home/admin/na_oracle_clone_lifecycle/clone_1_refresh.sh

Pour une base de données clone supplémentaire, créez un clone_n_setup.yml et un clone_n_refresh.yml et un clone_n_refresh.sh. Configurez les hôtes cibles Ansible et le fichier hostname.yml dans le répertoire host_vars en conséquence.

Où trouver des informations complémentaires

Pour en savoir plus sur l'automatisation de la solution NetApp, consultez ce site Web "Automatisation des solutions NetApp"