Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

SnapCenterによるOracleクローンライフサイクルの自動化

共同作成者

ネットアップ、Niyaz Mohamed、Allen Cao氏

この解決策にはAnsibleベースの自動化ツールキットが用意されており、AWS FSx ONTAPをOracleデータベースストレージとして、EC2インスタンスをAWSのコンピューティングインスタンスとして使用して、Oracleデータベースの高可用性とディザスタリカバリ(HA / DR)を構成できます。

目的

NetApp ONTAPストレージのFlexClone機能は、ストレージコストを大幅に削減できるデータベースに最適です。このAnsibleベースのツールキットは、NetApp SnapCenterコマンドラインユーティリティを使用して、クローニングされたOracleデータベースのセットアップ、クローニング、更新をスケジュールどおりに自動化することで、ライフサイクル管理を合理化します。このツールキットは、オンプレミスまたはパブリッククラウドのいずれかのONTAPストレージに導入され、NetApp SnapCenter UIツールで管理されるOracleデータベースに適用できます。

この解決策 は、次のユースケースに対応します。

  • Oracleデータベースのクローン仕様構成ファイルをセットアップします。

  • ユーザ定義のスケジュールに従って、クローンOracleデータベースを作成および更新します。

対象者

この解決策 は、次のユーザーを対象としています。

  • SnapCenterを使用してOracleデータベースを管理するDBA。

  • SnapCenterを使用してONTAPストレージを管理するストレージ管理者。

  • SnapCenter UIにアクセスできるアプリケーション所有者。

使用許諾

このGitHubリポジトリのコンテンツにアクセス、ダウンロード、インストール、または使用することにより、 "ライセンスファイル"

メモ このGitHubリポジトリ内のコンテンツとの派生物の作成および/または共有には、一定の制限があります。コンテンツを使用する前に、必ずライセンスの条件をお読みください。すべての条件に同意しない場合は、このリポジトリ内のコンテンツにアクセス、ダウンロード、または使用しないでください。

解決策 の導入

導入の前提条件

Details

導入には、次の前提条件が必要です。

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

ツールキットをダウンロード

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

Ansibleターゲットホストのファイル構成

Details

このツールキットには、Ansible Playbookを実行するターゲットを定義するhostsファイルが含まれています。通常は、ターゲットのOracleクローンホストです。ファイルの例を次に示します。ホストエントリには、ターゲットホストのIPアドレスとsshキーが含まれており、管理者ユーザがクローンまたは更新コマンドを実行するホストにアクセスする際に使用します。

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]

グローバル変数の設定

Details

Ansibleプレイブックは、複数の変数ファイルから変数を入力します。次に、グローバル変数ファイル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

ホスト変数の設定

Details

ホスト変数は、{{host_name}}.ymlという名前のhost_varsディレクトリに定義されています。次に、一般的な構成を示すターゲットOracleホスト変数ファイルora_04.cie.netapp.com.ymlの例を示します。

# 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 }}'

クローンターゲットの追加のOracleサーバ構成

Details

クローンターゲットOracleサーバには、ソースOracleサーバと同じOracleソフトウェアスタックがインストールされ、パッチが適用されている必要があります。Oracle user.bash_profileに$ORACLE_BASEと$ORACLE_HOMEが設定されています。また、$ORACLE_HOME変数はソースOracleサーバ設定と一致する必要があります。次に例を示します。

# .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

Playbookの実施

Details

SnapCenter CLIユーティリティを使用してOracleデータベースのクローンライフサイクルを実行するためのプレイブックは合計3つあります。

  1. Ansibleコントローラの前提条件をインストール- 1回のみ。

    ansible-playbook -i hosts ansible_requirements.yml
  2. クローン仕様ファイルのセットアップ- 1回のみ。

    ansible-playbook -i hosts clone_1_setup.yml -u admin -e @vars/vars.yml
  3. 更新プレイブックを呼び出すシェルスクリプトを使用して、crontabから定期的にクローンデータベースを作成および更新します。

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

クローンデータベースを追加する場合は、clone_n_setup.ymlとclone_n_refresh.yml、およびclone_n_refresh.shを個別に作成します。必要に応じて、Ansibleターゲットホストとhostname.ymlファイルをhost_varsディレクトリに構成します。

追加情報の参照先

NetApp 解決策 自動化の詳細については、次のWebサイトを参照してください。 "NetApp 解決策の自動化"