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

TR-4979:『Simplified、Self-managed Oracle in VMware Cloud on AWS with guest-mounted FSx ONTAP』

共同作成者

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

この解決策では、FSx ONTAPをプライマリデータベースストレージとして使用し、Oracleデータベースをボリュームマネージャとしてスタンドアロンで再起動するように設定した、AWSのVMware CloudでのOracleの導入と保護の概要と詳細について説明します。

目的

企業は、数十年にわたり、プライベートデータセンターでVMware上でOracleを実行してきました。VMware Cloud(VMC)on AWSは、ボタン1つでVMwareのエンタープライズクラスのSoftware-Defined Data Center(SDDC)ソフトウェアをAWSクラウド専用の柔軟性に優れたベアメタルインフラで使用できるようにするソリューションです。AWS FSx ONTAPは、VMC SDDCとデータファブリックにプレミアムストレージを提供します。これにより、OracleなどのビジネスクリティカルなアプリケーションをvSphere®ベースのプライベートクラウド、パブリッククラウド、ハイブリッドクラウド環境で実行し、AWSサービスへのアクセスを最適化できます。既存のOracleワークロードであろうと新規のOracleワークロードであろうと、VMC on AWSは、VMware上で使い慣れたシンプルで自己管理型のOracle環境を提供し、AWSクラウドのすべてのメリットを活用できます。プラットフォームの管理と最適化はすべてVMwareに任せられます。

このドキュメントでは、Amazon FSx ONTAPをプライマリデータベースストレージとして使用するVMC環境にOracleデータベースを導入して保護する方法について説明します。Oracleデータベースは、直接VMゲストマウントLUNまたはNFSマウントVMware VMDKデータストアディスクとして、FSxストレージ上のVMCに導入できます。本テクニカルレポートでは、iSCSIプロトコルとOracle ASMを使用したVMCクラスタ内のVMへの直接ゲストマウントFSxストレージとしてのOracleデータベースの導入について説明します。また、NetApp SnapCenter UIツールを使用して、開発とテスト用にOracleデータベースをバックアップ、リストア、クローニングする方法や、AWS上のVMCでのストレージ効率に優れたデータベース処理のためのその他のユースケースについて説明します。

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

  • Amazon FSx ONTAPをプライマリデータベースストレージとして使用し、AWS上のVMCにOracleデータベースを導入

  • NetApp SnapCenterツールを使用したAWS上のVMCでのOracleデータベースのバックアップとリストア

  • NetApp SnapCenterツールを使用した、AWS上のVMCでの開発/テスト用またはその他のユースケース用のOracleデータベースのクローン

対象読者

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

  • Amazon FSx ONTAPを使用してAWS上のVMCにOracleを導入したいと考えているDBA

  • AWSクラウド上のVMCでOracleワークロードをテストしたいデータベース解決策アーキテクト

  • Amazon FSx ONTAPを使用して、AWS上のVMCに導入されたOracleデータベースの導入と管理を希望するストレージ管理者

  • AWSクラウドのVMCにOracleデータベースを構築するアプリケーション所有者

解決策 のテストおよび検証環境

この解決策のテストと検証は、最終的な導入環境とは一致しない可能性があるAWS上のVMCを使用したラボ環境で実行しました。詳細については、を参照してください 導入にあたって考慮すべき主な要因

アーキテクチャ

このイメージは、iSCSIとASMを使用したAWSパブリッククラウドでのOracle導入構成の詳細な図を示しています。

ハードウェアおよびソフトウェアコンポーネント

* ハードウェア *

FSX ONTAP ストレージ

AWSで提供されている最新バージョン

VMCと同じVPCおよびアベイラビリティゾーンに1つのFSx ONTAP HAクラスタ

VMC SDDCクラスタ

Amazon EC2 i3.metalシングルノード/ Intel Xeon E5-2686 CPU、36コア/ 512G RAM

10.37TB vSANストレージ

ソフトウェア

Red Hat Linux

RHEL-8.6、4.18.0-372.9.1.el8.x86_64カーネル

テスト用にRedHatサブスクリプションを導入

Windows Server

2022 Standard、10.0.20348ビルド20348

SnapCenterサアハノホスト

Oracle Grid Infrastructureの略

バージョン19.18

RUパッチp34762026_190000_Linux-x86-64.zipを適用しました

Oracleデータベース

バージョン19.18

RUパッチp34765931_190000_Linux-x86-64.zipを適用しました

Oracle OPatchの略

バージョン12.2.0.1.36

最新のパッチp6880880_190000_Linux-x86-64.zip

SnapCenterサーバ

バージョン4.9P1

ワークグループの導入

BlueXPによるVMのバックアップとリカバリ

リリース1.0

OVA vSphereプラグインVMとして導入

VMware vSphere

バージョン8.0.1.00300

VMware Tools、バージョン:11365-Linux、12352-Windows

JDKを開く

バージョンjava-1.8.0-openjdk.x86_64

DB VMでのSnapCenterプラグインの要件

AWS上のVMCでのOracleデータベース構成

* サーバ *

* データベース *

* DBストレージ*

ORA_01

cdb1(cdb1_pdb1、cdb1_pdb2、cdb1_pdb3)

FSx ONTAP上のVMDKデータストア

ORA_01

cdb2(cdb2_pdb)

FSx ONTAP上のVMDKデータストア

ORA_02

cdb3(cdb3_pdb1、cdb3_pdb2、cdb3_pdb3)

ゲストに直接マウントされたFSx ONTAP

ORA_02

cdb4(cdb4_pdb)

ゲストに直接マウントされたFSx ONTAP

導入にあたって考慮すべき主な要因

  • * FSxとVMCの接続。*VMware Cloud on AWSにSDDCを導入すると、SDDCはAWSアカウントと組織専用のVPC内に作成され、VMwareによって管理されます。また、SDDCを自分のAWSアカウント(お客様のAWSアカウント)に接続する必要があります。この接続により、SDDCは顧客アカウントに属するAWSサービスにアクセスできます。FSx ONTAPは、お客様のアカウントに導入されるAWSサービスです。VMC SDDCをお客様のアカウントに接続すると、VMC SDDC内のVMでFSxストレージを使用してゲストを直接マウントできるようになります。

  • * FSxストレージHAクラスタのシングルゾーンまたはマルチゾーン導入*今回のテストと検証では、1つのAWSアベイラビリティゾーンにFSx HAクラスタを導入しました。また、NetAppでは、パフォーマンスを向上させ、アベイラビリティゾーン間でのデータ転送料金を回避するために、FSx ONTAPとVMware Cloud on AWSを同じアベイラビリティゾーンに導入することを推奨しています。

  • * FSxストレージクラスタのサイジング*Amazon FSx ONTAPストレージファイルシステムは、SSDの最大16万IOPS、最大4GBpsのスループット、最大192TiBの容量を提供します。ただし、プロビジョニングされたIOPS、スループット、およびストレージ制限(最小1、024GiB)を基準にしてクラスタのサイズを設定することもできます。アプリケーションの可用性に影響を与えることなく、容量をオンザフライで動的に調整できます。

  • * Oracleデータとログのレイアウト*テストと検証では、データ用とログ用にそれぞれ2つのASMディスクグループを導入しました。+DATA ASMディスクグループ内で、データボリュームに4つのLUNをプロビジョニングしました。+logs ASMディスクグループ内で、ログボリュームに2つのLUNをプロビジョニングしました。一般に、Amazon FSx ONTAPボリューム内に複数のLUNをレイアウトすると、パフォーマンスが向上します。

  • * iSCSI構成*VMC SDDC内のデータベースVMは、iSCSIプロトコルを使用してFSxストレージに接続します。Oracle AWRレポートを慎重に分析してアプリケーションとiSCSIのトラフィックスループットの要件を特定することにより、OracleデータベースのI/Oピークスループットの要件を測定することが重要です。また、マルチパスが適切に設定されている両方のFSx iSCSIエンドポイントに4つのiSCSI接続を割り当てることを推奨します。

  • *作成する各Oracle ASMディスクグループに使用するOracle ASM冗長性レベル*FSx ONTAPはすでにFSxクラスタレベルでストレージをミラーリングしているため、外部冗長性を使用する必要があります。つまり、このオプションでは、Oracle ASMがディスクグループの内容をミラーリングすることを許可しません。

  • *データベースのバックアップ。*NetAppは、データベースのバックアップ、リストア、クローニングを実行するためのSnapCenterソフトウェアスイートで、使いやすいUIインターフェイスを備えています。NetAppでは、このような管理ツールを実装して、高速(1分未満)のSnapshotバックアップ、高速(数分)のデータベースリストア、データベースクローンを実現することを推奨しています。

解決策 の導入

以下のセクションでは、AWS上のVMCにOracle 19Cを導入し、単一ノードのDB VMに直接マウントされたFSx ONTAPストレージを使用して、データベースボリュームマネージャとしてOracle ASMを使用して構成を再起動するためのステップバイステップの手順を説明します。

導入の前提条件

Details

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

  1. VMware Cloud on AWSを使用したSoftware-Defined Data Center(SDDC)が作成されている。VMCでSDDCを作成する方法の詳細については、VMwareのドキュメントを参照してください。"AWSでのVMware Cloudの導入"

  2. AWSアカウントが設定され、必要なVPCとネットワークセグメントがAWSアカウント内に作成されている。AWSアカウントはVMC SDDCにリンクされています。

  3. AWS EC2コンソールから、Amazon FSx ONTAPストレージHAクラスタを導入してOracleデータベースボリュームをホストします。FSxストレージの導入に慣れていない場合は、ステップバイステップの手順についてドキュメントを参照してください"FSx ONTAPファイルシステムの作成"

  4. 上記の手順は、次のTerraform自動化ツールキットを使用して実行できます。このツールキットでは、SSHとFSxファイルシステムを介したVMCアクセスのSDDCのジャンプホストとしてEC2インスタンスを作成します。実行する前に、手順をよく確認し、環境に合わせて変数を変更してください。

    git clone https://github.com/NetApp-Automation/na_aws_fsx_ec2_deploy.git
  5. VMCに導入するOracle環境をホストするために、AWS上のVMware SDDCでVMを構築します。このデモでは、Oracle DBサーバとしてLinux VMを2台、SnapCenterサーバとしてWindowsサーバを1台、必要に応じてAnsibleコントローラとしてオプションのLinuxサーバを1台構築し、Oracleのインストールや設定を自動化しました。次に、解決策検証のためのラボ環境のスナップショットを示します。

    VMC SDDCテスト環境を示すスクリーンショット。

  6. 必要に応じて、NetAppには、Oracleの導入と設定を実行するためのいくつかの自動化ツールキットも用意されています。詳細については、を参照してください "DB自動化ツールキット"

メモ Oracleインストールファイルをステージングするための十分なスペースを確保するために、Oracle VMのルートボリュームに少なくとも50Gが割り当てられていることを確認してください。

DB VMカーネル設定

Details

前提条件をプロビジョニングした状態で、SSHを使用してOracle VMに管理者ユーザとしてログインし、rootユーザにsudoを実行して、Oracleインストール用のLinuxカーネルを設定します。Oracleのインストールファイルは、AWS S3バケットにステージングしてVMに転送できます。

  1. ステージングディレクトリフォルダを作成し /tmp/archive、権限を設定し `777`ます。

    mkdir /tmp/archive
    chmod 777 /tmp/archive
  2. Oracleバイナリインストールファイルおよびその他の必要なrpmファイルをダウンロードして、ディレクトリにステージングし `/tmp/archive`ます。

    DB VMのに記載されている次のインストールファイルのリストを参照してください /tmp/archive

    [admin@ora_02 ~]$ ls -l /tmp/archive/
    total 10539364
    -rw-rw-r--. 1 admin  admin         19112 Oct  4 17:04 compat-libcap1-1.10-7.el7.x86_64.rpm
    -rw-rw-r--. 1 admin  admin    3059705302 Oct  4 17:10 LINUX.X64_193000_db_home.zip
    -rw-rw-r--. 1 admin  admin    2889184573 Oct  4 17:11 LINUX.X64_193000_grid_home.zip
    -rw-rw-r--. 1 admin  admin        589145 Oct  4 17:04 netapp_linux_unified_host_utilities-7-1.x86_64.rpm
    -rw-rw-r--. 1 admin  admin         31828 Oct  4 17:04 oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
    -rw-rw-r--. 1 admin  admin    2872741741 Oct  4 17:12 p34762026_190000_Linux-x86-64.zip
    -rw-rw-r--. 1 admin  admin    1843577895 Oct  4 17:13 p34765931_190000_Linux-x86-64.zip
    -rw-rw-r--. 1 admin  admin     124347218 Oct  4 17:13 p6880880_190000_Linux-x86-64.zip
    -rw-rw-r--. 1 admin  admin        257136 Oct  4 17:04 policycoreutils-python-utils-2.9-9.el8.noarch.rpm
    [admin@ora_02 ~]$
  3. Oracle 19CプレインストールRPMをインストールします。これにより、ほとんどのカーネル設定要件を満たすことができます。

    yum install /tmp/archive/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm
  4. Linux 8で不足しているをダウンロードしてインストールし `compat-libcap1`ます。

    yum install /tmp/archive/compat-libcap1-1.10-7.el7.x86_64.rpm
  5. ネットアップから、NetApp Host Utilitiesをダウンロードしてインストールします。

    yum install /tmp/archive/netapp_linux_unified_host_utilities-7-1.x86_64.rpm
  6. をインストールし `policycoreutils-python-utils`ます。

    yum install /tmp/archive/policycoreutils-python-utils-2.9-9.el8.noarch.rpm
  7. Open JDKバージョン1.8をインストールします。

    yum install java-1.8.0-openjdk.x86_64
  8. iSCSIイニシエータユーティリティをインストールします。

    yum install iscsi-initiator-utils
  9. sg3_utilsをインストールします。

    yum install sg3_utils
  10. device-mapper-multipathをインストールします。

    yum install device-mapper-multipath
  11. 現在のシステムで透過的なHugepageを無効にします。

    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
  12. リブート後に無効にするには、 `transparent_hugepage`に次の行を追加し `/etc/rc.local`ます。

    vi /etc/rc.local
      # Disable transparent hugepages
              if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
                echo never > /sys/kernel/mm/transparent_hugepage/enabled
              fi
              if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
                echo never > /sys/kernel/mm/transparent_hugepage/defrag
              fi
  13. SELINUX=disabled`変更してSELinuxを無効にします `SELINUX=enforcing。変更を有効にするには、ホストをリブートする必要があります。

    vi /etc/sysconfig/selinux
  14. ファイル記述子の制限とスタックサイズを設定するには、に次の行を追加し `limit.conf`ます。

    vi /etc/security/limits.conf
    *               hard    nofile          65536
    *               soft    stack           10240
  15. DB VMにスワップ領域を追加するこの命令でスワップ領域が設定されていない場合:追加する正確な容量は、最大16GのRAMのサイズによって異なります。"スワップファイルを使用して、Amazon EC2インスタンスのスワップスペースとして機能するようにメモリを割り当てるにはどうすればよいですか。"

  16. `iscsi.conf`設定ファイルを120秒から5秒に変更し `node.session.timeo.replacement_timeout`ます。

    vi /etc/iscsi/iscsid.conf
  17. EC2インスタンスでiSCSIサービスを有効にして開始します。

    systemctl enable iscsid
    systemctl start iscsid
  18. データベースLUNマッピングに使用するiSCSIイニシエータアドレスを取得します。

    cat /etc/iscsi/initiatorname.iscsi
  19. ASM管理ユーザ(Oracle)のASMグループを追加します。

    groupadd asmadmin
    groupadd asmdba
    groupadd asmoper
  20. ASMグループをセカンダリグループとして追加するようにOracleユーザを変更します(Oracleユーザは、OracleプリインストールRPMインストール後に作成されている必要があります)。

    usermod -a -G asmadmin oracle
    usermod -a -G asmdba oracle
    usermod -a -G asmoper oracle
  21. Linuxファイアウォールがアクティブな場合は、停止して無効にします。

    systemctl stop firewalld
    systemctl disable firewalld
  22. /etc/sudoersファイルの行をコメント解除して、adminユーザに対してパスワードなしのsudoを有効にします # %wheel ALL=(ALL) NOPASSWD: ALL。ファイル権限を変更して編集します。

    chmod 640 /etc/sudoers
    vi /etc/sudoers
    chmod 440 /etc/sudoers
  23. EC2インスタンスをリブートします。

FSx ONTAP LUNをプロビジョニングしてDB VMにマッピング

Details

sshおよびFSxクラスタ管理IP経由でfsxadminユーザとしてFSxクラスタにログインし、コマンドラインから3つのボリュームをプロビジョニングします。ボリューム内にLUNを作成し、Oracleデータベースのバイナリファイル、データファイル、ログファイルをホストします。

  1. SSHを使用してfsxadminユーザとしてFSxクラスタにログインします。

    ssh fsxadmin@10.49.0.74
  2. 次のコマンドを実行して、Oracleバイナリ用のボリュームを作成します。

    vol create -volume ora_02_biny -aggregate aggr1 -size 50G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  3. 次のコマンドを実行してOracleデータ用のボリュームを作成します。

    vol create -volume ora_02_data -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  4. 次のコマンドを実行して、Oracleログ用のボリュームを作成します。

    vol create -volume ora_02_logs -aggregate aggr1 -size 100G -state online  -type RW -snapshot-policy none -tiering-policy snapshot-only
  5. 作成したボリュームを検証します。

    vol show ora*

    コマンドの出力:

    FsxId0c00cec8dad373fd1::> vol show ora*
    Vserver   Volume       Aggregate    State      Type       Size  Available Used%
    --------- ------------ ------------ ---------- ---- ---------- ---------- -----
    nim       ora_02_biny  aggr1        online     RW         50GB    22.98GB   51%
    nim       ora_02_data  aggr1        online     RW        100GB    18.53GB   80%
    nim       ora_02_logs  aggr1        online     RW         50GB     7.98GB   83%
  6. データベースバイナリボリューム内にバイナリLUNを作成します。

    lun create -path /vol/ora_02_biny/ora_02_biny_01 -size 40G -ostype linux
  7. データベースデータボリューム内にデータLUNを作成します。

    lun create -path /vol/ora_02_data/ora_02_data_01 -size 20G -ostype linux
    lun create -path /vol/ora_02_data/ora_02_data_02 -size 20G -ostype linux
    lun create -path /vol/ora_02_data/ora_02_data_03 -size 20G -ostype linux
    lun create -path /vol/ora_02_data/ora_02_data_04 -size 20G -ostype linux
  8. データベースログボリューム内にログLUNを作成します。

    lun create -path /vol/ora_02_logs/ora_02_logs_01 -size 40G -ostype linux
    lun create -path /vol/ora_02_logs/ora_02_logs_02 -size 40G -ostype linux
  9. 上記のEC2カーネル設定の手順14で取得したイニシエータを使用して、EC2インスタンスのigroupを作成します。

    igroup create -igroup ora_02 -protocol iscsi -ostype linux -initiator iqn.1994-05.com.redhat:f65fed7641c2
  10. 上記で作成したigroupにLUNをマッピングします。LUNを追加するたびに、LUN IDを順番に増やします。

    lun map -path /vol/ora_02_biny/ora_02_biny_01 -igroup ora_02 -vserver svm_ora -lun-id 0
    lun map -path /vol/ora_02_data/ora_02_data_01 -igroup ora_02 -vserver svm_ora -lun-id 1
    lun map -path /vol/ora_02_data/ora_02_data_02 -igroup ora_02 -vserver svm_ora -lun-id 2
    lun map -path /vol/ora_02_data/ora_02_data_03 -igroup ora_02 -vserver svm_ora -lun-id 3
    lun map -path /vol/ora_02_data/ora_02_data_04 -igroup ora_02 -vserver svm_ora -lun-id 4
    lun map -path /vol/ora_02_logs/ora_02_logs_01 -igroup ora_02 -vserver svm_ora -lun-id 5
    lun map -path /vol/ora_02_logs/ora_02_logs_02 -igroup ora_02 -vserver svm_ora -lun-id 6
  11. LUNマッピングを検証します。

    mapping show

    次のような結果が返されます。

    FsxId0c00cec8dad373fd1::> mapping show
      (lun mapping show)
    Vserver    Path                                      Igroup   LUN ID  Protocol
    ---------- ----------------------------------------  -------  ------  --------
    nim        /vol/ora_02_biny/ora_02_u01_01            ora_02        0  iscsi
    nim        /vol/ora_02_data/ora_02_u02_01            ora_02        1  iscsi
    nim        /vol/ora_02_data/ora_02_u02_02            ora_02        2  iscsi
    nim        /vol/ora_02_data/ora_02_u02_03            ora_02        3  iscsi
    nim        /vol/ora_02_data/ora_02_u02_04            ora_02        4  iscsi
    nim        /vol/ora_02_logs/ora_02_u03_01            ora_02        5  iscsi
    nim        /vol/ora_02_logs/ora_02_u03_02            ora_02        6  iscsi

DB VMストレージ構成

Details

次に、Oracleグリッドインフラ用のFSx ONTAPストレージをインポートしてセットアップし、VMCデータベースVMにデータベースをインストールします。

  1. WindowsジャンプサーバからPuttyを使用して、SSH経由でadminユーザとしてDB VMにログインします。

  2. いずれかのSVM iSCSI IPアドレスを使用してFSx iSCSIエンドポイントを検出します。環境固有のポータルアドレスに変更します。

    sudo iscsiadm iscsiadm --mode discovery --op update --type sendtargets --portal 10.49.0.12
  3. 各ターゲットにログインしてiSCSIセッションを確立します。

    sudo iscsiadm --mode node -l all

    想定されるコマンドの出力は次のとおりです。

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode node -l all
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 10.49.0.12,3260]
    Logging in to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 10.49.0.186,3260]
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 10.49.0.12,3260] successful.
    Login to [iface: default, target: iqn.1992-08.com.netapp:sn.1f795e65c74911edb785affbf0a2b26e:vs.3, portal: 10.49.0.186,3260] successful.
  4. アクティブなiSCSIセッションのリストを表示して検証します。

    sudo iscsiadm --mode session

    iSCSIセッションを返します。

    [ec2-user@ip-172-30-15-58 ~]$ sudo iscsiadm --mode session
    tcp: [1] 10.49.0.186:3260,1028 iqn.1992-08.com.netapp:sn.545a38bf06ac11ee8503e395ab90d704:vs.3 (non-flash)
    tcp: [2] 10.49.0.12:3260,1029 iqn.1992-08.com.netapp:sn.545a38bf06ac11ee8503e395ab90d704:vs.3 (non-flash)
  5. LUNがホストにインポートされたことを確認します。

    sudo sanlun lun show

    FSxからOracle LUNのリストが返されます。

    [admin@ora_02 ~]$ sudo sanlun lun show
    controller(7mode/E-Series)/                                                  device          host                  lun
    vserver(cDOT/FlashRay)        lun-pathname                                   filename        adapter    protocol   size    product
    -------------------------------------------------------------------------------------------------------------------------------
    nim                           /vol/ora_02_logs/ora_02_u03_02                 /dev/sdo        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_logs/ora_02_u03_01                 /dev/sdn        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_04                 /dev/sdm        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_03                 /dev/sdl        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_02                 /dev/sdk        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_01                 /dev/sdj        host34     iSCSI      20g     cDOT
    nim                           /vol/ora_02_biny/ora_02_u01_01                 /dev/sdi        host34     iSCSI      40g     cDOT
    nim                           /vol/ora_02_logs/ora_02_u03_02                 /dev/sdh        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_logs/ora_02_u03_01                 /dev/sdg        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_04                 /dev/sdf        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_03                 /dev/sde        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_02                 /dev/sdd        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_data/ora_02_u02_01                 /dev/sdc        host33     iSCSI      20g     cDOT
    nim                           /vol/ora_02_biny/ora_02_u01_01                 /dev/sdb        host33     iSCSI      40g     cDOT
  6. 次のデフォルトエントリとブラックリストエントリを使用してファイルを設定し `multipath.conf`ます。

    sudo vi /etc/multipath.conf

    次のエントリを追加します。

    defaults {
        find_multipaths yes
        user_friendly_names yes
    }
    
    blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^hd[a-z]"
        devnode "^cciss.*"
    }
  7. マルチパスサービスを開始します。

    sudo systemctl start multipathd

    ディレクトリにマルチパスデバイスが表示されます /dev/mapper

    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e68512d -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685141 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685142 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685143 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685144 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685145 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:13 3600a09806c574235472455534e685146 -> ../dm-6
    crw------- 1 root root 10, 236 Mar 21 18:19 control
  8. SSH経由でFSX ONTAPクラスタにfsxadminユーザとしてログインし、6c574xxx…​で始まる各LUNの16進数値を取得します。16進数値は3600a0980(AWSベンダーID)で始まります。

    lun show -fields serial-hex

    次のように戻ります。

    FsxId02ad7bf3476b741df::> lun show -fields serial-hex
    vserver path                            serial-hex
    ------- ------------------------------- ------------------------
    svm_ora /vol/ora_02_biny/ora_02_biny_01 6c574235472455534e68512d
    svm_ora /vol/ora_02_data/ora_02_data_01 6c574235472455534e685141
    svm_ora /vol/ora_02_data/ora_02_data_02 6c574235472455534e685142
    svm_ora /vol/ora_02_data/ora_02_data_03 6c574235472455534e685143
    svm_ora /vol/ora_02_data/ora_02_data_04 6c574235472455534e685144
    svm_ora /vol/ora_02_logs/ora_02_logs_01 6c574235472455534e685145
    svm_ora /vol/ora_02_logs/ora_02_logs_02 6c574235472455534e685146
    7 entries were displayed.
  9. ファイルを更新し `/dev/multipath.conf`て、マルチパスデバイスのフレンドリ名を追加します。

    sudo vi /etc/multipath.conf

    次のエントリで構成されます。

    multipaths {
            multipath {
                    wwid            3600a09806c574235472455534e68512d
                    alias           ora_02_biny_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685141
                    alias           ora_02_data_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685142
                    alias           ora_02_data_02
            }
            multipath {
                    wwid            3600a09806c574235472455534e685143
                    alias           ora_02_data_03
            }
            multipath {
                    wwid            3600a09806c574235472455534e685144
                    alias           ora_02_data_04
            }
            multipath {
                    wwid            3600a09806c574235472455534e685145
                    alias           ora_02_logs_01
            }
            multipath {
                    wwid            3600a09806c574235472455534e685146
                    alias           ora_02_logs_02
            }
    }
  10. マルチパスサービスをリブートして、のデバイスがLUN名とシリアル16進数のIDに変更されたことを確認します /dev/mapper

    sudo systemctl restart multipathd
    `/dev/mapper`次のように戻ります。
    [ec2-user@ip-172-30-15-58 ~]$ ls -l /dev/mapper
    total 0
    crw------- 1 root root 10, 236 Mar 21 18:19 control
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_biny_01 -> ../dm-0
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_data_01 -> ../dm-1
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_data_02 -> ../dm-2
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_data_03 -> ../dm-3
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_data_04 -> ../dm-4
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_logs_01 -> ../dm-5
    lrwxrwxrwx 1 root root       7 Mar 21 20:41 ora_02_logs_02 -> ../dm-6
  11. バイナリLUNを単一のプライマリパーティションでパーティショニングします。

    sudo fdisk /dev/mapper/ora_02_biny_01
  12. パーティション化されたバイナリLUNをXFSファイルシステムでフォーマットします。

    sudo mkfs.xfs /dev/mapper/ora_02_biny_01p1
  13. バイナリLUNをにマウントし `/u01`ます。

    sudo mkdir /u01
    sudo mount -t xfs /dev/mapper/ora_02_biny_01p1 /u01
  14. マウントポイントの所有権をOracleユーザおよび関連付けられているプライマリグループに変更します /u01

    sudo chown oracle:oinstall /u01
  15. バイナリLUNのUUIを探します。

    sudo blkid /dev/mapper/ora_02_biny_01p1
  16. にマウントポイントを追加し `/etc/fstab`ます。

    sudo vi /etc/fstab

    次の行を追加します。

    UUID=d89fb1c9-4f89-4de4-b4d9-17754036d11d       /u01    xfs     defaults,nofail 0       2
  17. rootユーザとして、Oracleデバイスのudevルールを追加します。

    vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    次のエントリを含めます。

    ENV{DM_NAME}=="ora*", GROUP:="oinstall", OWNER:="oracle", MODE:="660"
  18. rootユーザとしてudevルールをリロードします。

    udevadm control --reload-rules
  19. rootユーザとしてudevルールをトリガーします。

    udevadm trigger
  20. rootユーザとして、multipathdをリロードします。

    systemctl restart multipathd
  21. EC2インスタンスホストをリブートします。

Oracleグリッドインフラのインストール

Details
  1. SSHを使用してDB VMにadminユーザとしてログインし、コメントを解除してコメントアウトし、 PasswordAuthentication no`パスワード認証を有効にします。 `PasswordAuthentication yes

    sudo vi /etc/ssh/sshd_config
  2. sshdサービスを再起動します。

    sudo systemctl restart sshd
  3. Oracleユーザパスワードをリセットします。

    sudo passwd oracle
  4. Oracle Restartソフトウェア所有者ユーザー(Oracle)としてログインします。Oracleディレクトリを次のように作成します。

    mkdir -p /u01/app/oracle
    mkdir -p /u01/app/oraInventory
  5. ディレクトリの権限設定を変更します。

    chmod -R 775 /u01/app
  6. グリッドのホームディレクトリを作成して変更します。

    mkdir -p /u01/app/oracle/product/19.0.0/grid
    cd /u01/app/oracle/product/19.0.0/grid
  7. グリッドインストールファイルを解凍します。

    unzip -q /tmp/archive/LINUX.X64_193000_grid_home.zip
  8. grid homeからディレクトリを削除し `OPatch`ます。

    rm -rf OPatch
  9. グリッドホームから解凍し `p6880880_190000_Linux-x86-64.zip`ます。

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  10. グリッドホームから、修正 cv/admin/cvu_config、コメント解除、および置換を CV_ASSUME_DISTID=OEL5 `CV_ASSUME_DISTID=OL7`行います。

    vi cv/admin/cvu_config
  11. サイレントインストール用のファイルを準備し gridsetup.rsp、RSPファイルをディレクトリに配置し `/tmp/archive`ます。RSPファイルは、次の情報を含むセクションA、B、およびGをカバーする必要があります。

    INVENTORY_LOCATION=/u01/app/oraInventory
    oracle.install.option=HA_CONFIG
    ORACLE_BASE=/u01/app/oracle
    oracle.install.asm.OSDBA=asmdba
    oracle.install.asm.OSOPER=asmoper
    oracle.install.asm.OSASM=asmadmin
    oracle.install.asm.SYSASMPassword="SetPWD"
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=EXTERNAL
    oracle.install.asm.diskGroup.AUSize=4
    oracle.install.asm.diskGroup.disks=/dev/mapper/ora_02_data_01,/dev/mapper/ora_02_data_02,/dev/mapper/ora_02_data_03,/dev/mapper/ora_02_data_04
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/mapper/*
    oracle.install.asm.monitorPassword="SetPWD"
    oracle.install.asm.configureAFD=true
  12. EC2インスタンスにrootユーザとしてログインし、と ORACLE_BASE`を設定します `ORACLE_HOME

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/
    export ORACLE_BASE=/tmp
    cd /u01/app/oracle/product/19.0.0/grid/bin
  13. Oracle ASMフィルタドライバで使用するディスクデバイスを初期化します。

     ./asmcmd afd_label DATA01 /dev/mapper/ora_02_data_01 --init
     ./asmcmd afd_label DATA02 /dev/mapper/ora_02_data_02 --init
     ./asmcmd afd_label DATA03 /dev/mapper/ora_02_data_03 --init
     ./asmcmd afd_label DATA04 /dev/mapper/ora_02_data_04 --init
     ./asmcmd afd_label LOGS01 /dev/mapper/ora_02_logs_01 --init
     ./asmcmd afd_label LOGS02 /dev/mapper/ora_02_logs_02 --init
  14. をインストールし `cvuqdisk-1.0.10-1.rpm`ます。

    rpm -ivh /u01/app/oracle/product/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
  15. 設定解除(Unset) $ORACLE_BASE

    unset ORACLE_BASE
  16. EC2インスタンスにOracleユーザーとしてログインし、フォルダにパッチを展開し `/tmp/archive`ます。

    unzip -q /tmp/archive/p34762026_190000_Linux-x86-64.zip -d /tmp/archive
  17. grid home/u01/app/oracle/product/19.0.0/gridから、をOracleユーザーとして起動し、grid infrastructureのインストールを開始し `gridSetup.sh`ます。

     ./gridSetup.sh -applyRU /tmp/archive/34762026/ -silent -responseFile /tmp/archive/gridsetup.rsp
  18. rootユーザとして、次のスクリプトを実行します。

    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/19.0.0/grid/root.sh
  19. rootユーザとして、multipathdをリロードします。

    systemctl restart multipathd
  20. Oracleユーザとして、次のコマンドを実行して設定を完了します。

    /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/archive/gridsetup.rsp -silent
  21. Oracleユーザとして、logsディスクグループを作成します。

    bin/asmca -silent -sysAsmPassword 'yourPWD' -asmsnmpPassword 'yourPWD' -createDiskGroup -diskGroupName LOGS -disk 'AFD:LOGS*' -redundancy EXTERNAL -au_size 4
  22. Oracleユーザとして、インストールの設定後にグリッドサービスを検証します。

    bin/crsctl stat res -t
    [oracle@ora_02 grid]$ bin/crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.LISTENER.lsnr
                   ONLINE  INTERMEDIATE ora_02                   Not All Endpoints Re
                                                                 gistered,STABLE
    ora.LOGS.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.asm
                   ONLINE  ONLINE       ora_02                   Started,STABLE
    ora.ons
                   OFFLINE OFFLINE      ora_02                   STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cssd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.diskmon
          1        OFFLINE OFFLINE                               STABLE
    ora.driver.afd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.evmd
          1        ONLINE  ONLINE       ora_02                   STABLE
    --------------------------------------------------------------------------------
  23. ASMフィルタドライバのステータスを検証します。

    [oracle@ora_02 grid]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid
    [oracle@ora_02 grid]$ export ORACLE_SID=+ASM
    [oracle@ora_02 grid]$ export PATH=$PATH:$ORACLE_HOME/bin
    [oracle@ora_02 grid]$ asmcmd
    ASMCMD> lsdg
    State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
    MOUNTED  EXTERN  N         512             512   4096  4194304     81920    81780                0           81780              0             N  DATA/
    MOUNTED  EXTERN  N         512             512   4096  4194304     40960    40852                0           40852              0             N  LOGS/
    ASMCMD> afd_state
    ASMCMD-9526: The AFD state is 'LOADED' and filtering is 'ENABLED' on host 'ora_02'
    ASMCMD> exit
    [oracle@ora_02 grid]$
  24. HAサービスのステータスを検証

    [oracle@ora_02 bin]$ ./crsctl check has
    CRS-4638: Oracle High Availability Services is online

Oracleデータベースのインストール

Details
  1. Oracleユーザとしてログインし、設定を解除します $ORACLE_HOME(設定されている場合)。 $ORACLE_SID

    unset ORACLE_HOME
    unset ORACLE_SID
  2. Oracle DBのホームディレクトリを作成し、ディレクトリをそのディレクトリに変更します。

    mkdir /u01/app/oracle/product/19.0.0/cdb3
    cd /u01/app/oracle/product/19.0.0/cdb3
  3. Oracle DBインストールファイルを解凍します。

    unzip -q /tmp/archive/LINUX.X64_193000_db_home.zip
  4. DBホームから、ディレクトリを削除し `OPatch`ます。

    rm -rf OPatch
  5. DBホームから解凍します p6880880_190000_Linux-x86-64.zip

    unzip -q /tmp/archive/p6880880_190000_Linux-x86-64.zip
  6. DBホームから、修正し cv/admin/cvu_config`てコメントを解除し、で `CV_ASSUME_DISTID=OL7`置換します `CV_ASSUME_DISTID=OEL5

    vi cv/admin/cvu_config
  7. ディレクトリから /tmp/archive、DB 19.18 RUパッチを解凍します。

    unzip -q /tmp/archive/p34765931_190000_Linux-x86-64.zip -d /tmp/archive
  8. 次の値を使用して、ディレクトリ内のDBサイレントインストールRSPファイルを準備します /tmp/archive/dbinstall.rsp

    oracle.install.option=INSTALL_DB_SWONLY
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    ORACLE_HOME=/u01/app/oracle/product/19.0.0/cdb3
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.OSDBA_GROUP=dba
    oracle.install.db.OSOPER_GROUP=oper
    oracle.install.db.OSBACKUPDBA_GROUP=oper
    oracle.install.db.OSDGDBA_GROUP=dba
    oracle.install.db.OSKMDBA_GROUP=dba
    oracle.install.db.OSRACDBA_GROUP=dba
    oracle.install.db.rootconfig.executeRootScript=false
  9. cdb3 home/u01/app/oracle/product/19.0.0/cdb3から、ソフトウェアのみのサイレントデータベースインストールを実行します。

     ./runInstaller -applyRU /tmp/archive/34765931/ -silent -ignorePrereqFailure -responseFile /tmp/archive/dbinstall.rsp
  10. ソフトウェアのみのインストール後にrootユーザとしてスクリプトを実行し `root.sh`ます。

    /u01/app/oracle/product/19.0.0/db1/root.sh
  11. Oracleユーザとして、次のエントリを含むファイルを作成し `dbca.rsp`ます。

    gdbName=cdb3.demo.netapp.com
    sid=cdb3
    createAsContainerDatabase=true
    numberOfPDBs=3
    pdbName=cdb3_pdb
    useLocalUndoForPDBs=true
    pdbAdminPassword="yourPWD"
    templateName=General_Purpose.dbc
    sysPassword="yourPWD"
    systemPassword="yourPWD"
    dbsnmpPassword="yourPWD"
    datafileDestination=+DATA
    recoveryAreaDestination=+LOGS
    storageType=ASM
    diskGroupName=DATA
    characterSet=AL32UTF8
    nationalCharacterSet=AL16UTF16
    listeners=LISTENER
    databaseType=MULTIPURPOSE
    automaticMemoryManagement=false
    totalMemory=8192
  12. Oracleユーザとして、dbcaを使用してDB作成を起動します。

    bin/dbca -silent -createDatabase -responseFile /tmp/archive/dbca.rsp

    出力:

Prepare for db operation
7% complete
Registering database with Oracle Restart
11% complete
Copying database files
33% complete
Creating and starting Oracle instance
35% complete
38% complete
42% complete
45% complete
48% complete
Completing Database Creation
53% complete
55% complete
56% complete
Creating Pluggable Databases
60% complete
64% complete
69% complete
78% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u01/app/oracle/cfgtoollogs/dbca/cdb3.
Database Information:
Global Database Name:cdb3.vmc.netapp.com
System Identifier(SID):cdb3
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb3/cdb3.log" for further details.
  1. 手順2と同じ手順を繰り返して、1つのPDBで別のORACLE_HOME/u01/app/oracle/product/19.0.0/cdb4にコンテナデータベースcdb4を作成します。

  2. Oracleユーザとして、Oracleを検証します。データベースの作成後、すべてのデータベース(cdb3、cdb4)がHAサービスに登録されていることを確認します。

    /u01/app/oracle/product/19.0.0/grid/crsctl stat res -t

    出力:

    [oracle@ora_02 bin]$ ./crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.LISTENER.lsnr
                   ONLINE  INTERMEDIATE ora_02                   Not All Endpoints Re
                                                                 gistered,STABLE
    ora.LOGS.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.asm
                   ONLINE  ONLINE       ora_02                   Started,STABLE
    ora.ons
                   OFFLINE OFFLINE      ora_02                   STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cdb3.db
          1        ONLINE  ONLINE       ora_02                   Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /cdb3,STABLE
    ora.cdb4.db
          1        ONLINE  ONLINE       ora_02                   Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /cdb4,STABLE
    ora.cssd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.diskmon
          1        OFFLINE OFFLINE                               STABLE
    ora.driver.afd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.evmd
          1        ONLINE  ONLINE       ora_02                   STABLE
    --------------------------------------------------------------------------------
  3. Oracleユーザを設定します .bash_profile

    vi ~/.bash_profile

    次のエントリを追加します。

    export ORACLE_HOME=/u01/app/oracle/product/19.0.0/db3
    export ORACLE_SID=db3
    export PATH=$PATH:$ORACLE_HOME/bin
    alias asm='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/grid;export ORACLE_SID=+ASM;export PATH=$PATH:$ORACLE_HOME/bin'
    alias cdb3='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/cdb3;export ORACLE_SID=cdb3;export PATH=$PATH:$ORACLE_HOME/bin'
    alias cdb4='export ORACLE_HOME=/u01/app/oracle/product/19.0.0/cdb4;export ORACLE_SID=cdb4;export PATH=$PATH:$ORACLE_HOME/bin'
  4. cdb3用に作成されたCDB/PDBを検証します。

    cdb3
    [oracle@ora_02 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Mon Oct 9 08:19:20 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    CDB3      READ WRITE
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB3_PDB1                      READ WRITE NO
             4 CDB3_PDB2                      READ WRITE NO
             5 CDB3_PDB3                      READ WRITE NO
    SQL>
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/CDB3/DATAFILE/system.257.1149420273
    +DATA/CDB3/DATAFILE/sysaux.258.1149420317
    +DATA/CDB3/DATAFILE/undotbs1.259.1149420343
    +DATA/CDB3/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.266.1149421085
    +DATA/CDB3/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.267.1149421085
    +DATA/CDB3/DATAFILE/users.260.1149420343
    +DATA/CDB3/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.268.1149421085
    +DATA/CDB3/06FB206DF15ADEE8E065025056B66295/DATAFILE/system.272.1149422017
    +DATA/CDB3/06FB206DF15ADEE8E065025056B66295/DATAFILE/sysaux.273.1149422017
    +DATA/CDB3/06FB206DF15ADEE8E065025056B66295/DATAFILE/undotbs1.271.1149422017
    +DATA/CDB3/06FB206DF15ADEE8E065025056B66295/DATAFILE/users.275.1149422033
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/CDB3/06FB21766256DF9AE065025056B66295/DATAFILE/system.277.1149422033
    +DATA/CDB3/06FB21766256DF9AE065025056B66295/DATAFILE/sysaux.278.1149422033
    +DATA/CDB3/06FB21766256DF9AE065025056B66295/DATAFILE/undotbs1.276.1149422033
    +DATA/CDB3/06FB21766256DF9AE065025056B66295/DATAFILE/users.280.1149422049
    +DATA/CDB3/06FB22629AC1DFD7E065025056B66295/DATAFILE/system.282.1149422049
    +DATA/CDB3/06FB22629AC1DFD7E065025056B66295/DATAFILE/sysaux.283.1149422049
    +DATA/CDB3/06FB22629AC1DFD7E065025056B66295/DATAFILE/undotbs1.281.1149422049
    +DATA/CDB3/06FB22629AC1DFD7E065025056B66295/DATAFILE/users.285.1149422063
    
    19 rows selected.
    
    SQL>
  5. cdb4用に作成されたCDB/PDBを検証します。

    cdb4
    [oracle@ora_02 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Mon Oct 9 08:20:26 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    CDB4      READ WRITE
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB4_PDB                       READ WRITE NO
    SQL>
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    +DATA/CDB4/DATAFILE/system.286.1149424943
    +DATA/CDB4/DATAFILE/sysaux.287.1149424989
    +DATA/CDB4/DATAFILE/undotbs1.288.1149425015
    +DATA/CDB4/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.295.1149425765
    +DATA/CDB4/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.296.1149425765
    +DATA/CDB4/DATAFILE/users.289.1149425015
    +DATA/CDB4/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.297.1149425765
    +DATA/CDB4/06FC3070D5E12C23E065025056B66295/DATAFILE/system.301.1149426581
    +DATA/CDB4/06FC3070D5E12C23E065025056B66295/DATAFILE/sysaux.302.1149426581
    +DATA/CDB4/06FC3070D5E12C23E065025056B66295/DATAFILE/undotbs1.300.1149426581
    +DATA/CDB4/06FC3070D5E12C23E065025056B66295/DATAFILE/users.304.1149426597
    
    11 rows selected.
  6. sqlplusを使用して各cdbにsysdbaとしてログインし、DBリカバリ先のサイズを両方のCDBSの+logsディスクグループサイズに設定します。

    alter system set db_recovery_file_dest_size = 40G scope=both;
  7. sqlplusを使用して各cdbにsysdbaとしてログインし、次のコマンドセットを順番に使用してアーカイブログモードを有効にします。

    sqlplus /as sysdba
    shutdown immediate;
    startup mount;
    alter database archivelog;
    alter database open;

これでOracle 19Cバージョン19.18は完了です。Amazon FSx ONTAPストレージとVMC DB VMでの導入を再開します。必要に応じて、Oracleの制御ファイルとオンラインログファイルを+logsディスクグループに移動することを推奨します。

SnapCenterによるOracleのバックアップ、リストア、クローニング

SnapCenterセットアップ

Details

SnapCenterは、データベースVM上のホスト側プラグインを使用して、アプリケーション対応のデータ保護管理アクティビティを実行します。Oracle用NetApp SnapCenterプラグインの詳細については、このドキュメントを参照して"Plug-in for Oracle Databaseの機能"ください。次に、Oracleデータベースのバックアップ、リカバリ、およびクローン用にSnapCenterをセットアップする手順の概要を示します。

  1. NetAppサポートサイトからSnapCenterソフトウェアの最新バージョンをダウンロードします"ネットアップサポートのダウンロードページ"

  2. 管理者として、SnapCenterサーバのWindowsホストにから最新のJava JDKをインストールします"デスクトップアプリケーション用Javaの取得"

    メモ Windowsサーバがドメイン環境に導入されている場合は、ドメインユーザをSnapCenterサーバのローカル管理者グループに追加し、ドメインユーザを指定してSnapCenterのインストールを実行します。
  3. インストールユーザとしてHTTPSポート8846を使用してSnapCenter UIにログインし、SnapCenter for Oracleを設定します。

  4. グローバル設定で更新し `Hypervisor Settings`ます。

    SnapCenterの設定を示すスクリーンショット。

  5. Oracleデータベースバックアップポリシーを作成します。障害発生時のデータ損失を最小限に抑えるために、別のアーカイブログバックアップポリシーを作成してバックアップ間隔を長くすることを推奨します。

    SnapCenterの設定を示すスクリーンショット。

  6. DB VMへのSnapCenterアクセス用のデータベースサーバを追加します Credential。このクレデンシャルには、Linux VMの場合はsudo権限、Windows VMの場合は管理者権限が必要です。

    SnapCenterの設定を示すスクリーンショット。

  7. FSx ONTAPストレージクラスタをクラスタ管理IPでに追加し、fsxadminユーザIDで認証します Storage Systems

    SnapCenterの設定を示すスクリーンショット。

  8. 前の手順6で作成したサーバクレデンシャルを使用して、VMCのOracleデータベースVMをに追加します Hosts

    SnapCenterの設定を示すスクリーンショット。

メモ SnapCenterサーバ名をDB VMからIPアドレスに解決できること、およびDB VM名をSnapCenterサーバからIPアドレスに解決できることを確認します。

データベースバックアップ

Details

SnapCenterはFSx ONTAPボリュームスナップショットを活用することで、従来のRMANベースの方法と比較して、データベースのバックアップ、リストア、クローニングにかかる時間を大幅に短縮します。Snapshotの作成前にデータベースがOracleバックアップモードになるため、Snapshotはアプリケーションと整合性があります。

  1. タブでは、 `Resources`VMがSnapCenterに追加されると、VM上のすべてのデータベースが自動検出されます。初期状態では、データベースのステータスはと表示され `Not protected`ます。

    SnapCenterの設定を示すスクリーンショット。

  2. データベースVMなどの論理グループにデータベースをバックアップするリソースグループを作成します。 この例では、VM ora_02上のすべてのデータベースに対してオンラインデータベースのフルバックアップを実行するために、ora_02_dataグループを作成しました。リソースグループora_02_logでは、VM上でのみアーカイブログのバックアップが実行されます。リソースグループを作成すると、バックアップを実行するスケジュールも定義されます。

    SnapCenterの設定を示すスクリーンショット。

  3. リソースグループのバックアップは、をクリックし、リソースグループで定義されたポリシーを使用して実行することで手動で開始することもできます Back up Now

    SnapCenterの設定を示すスクリーンショット。

  4. タブで実行中のジョブをクリックすると、バックアップジョブを監視でき `Monitor`ます。

    SnapCenterの設定を示すスクリーンショット。

  5. バックアップが成功すると、データベースのステータスにジョブステータスと最新のバックアップ時間が表示されます。

    SnapCenterの設定を示すスクリーンショット。

  6. [database]をクリックして、各データベースのバックアップセットを確認します。

    SnapCenterの設定を示すスクリーンショット。

データベースリカバリ

Details

SnapCenterには、SnapshotバックアップからのOracleデータベースのリストアとリカバリのオプションが多数用意されています。この例では、誤ってドロップされたテーブルをリカバリするためのポイントインタイムリストアを示します。VM ora_02では、2つのデータベースcdb3、cdb4が同じ+dataおよび+logsディスクグループを共有しています。一方のデータベースをリストアしても、もう一方のデータベースの可用性には影響しません。

  1. まず、テストテーブルを作成し、テーブルに行を挿入して、ポイントインタイムリカバリを検証します。

    [oracle@ora_02 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Fri Oct 6 14:15:21 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    CDB3      READ WRITE
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB3_PDB1                      READ WRITE NO
             4 CDB3_PDB2                      READ WRITE NO
             5 CDB3_PDB3                      READ WRITE NO
    SQL>
    
    
    SQL> alter session set container=cdb3_pdb1;
    
    Session altered.
    
    SQL> create table test (id integer, dt timestamp, event varchar(100));
    
    Table created.
    
    SQL> insert into test values(1, sysdate, 'test oracle recovery on guest mounted fsx storage to VMC guest vm ora_02');
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    06-OCT-23 03.18.24.000000 PM
    test oracle recovery on guest mounted fsx storage to VMC guest vm ora_02
    
    
    SQL> select current_timestamp from dual;
    
    CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    06-OCT-23 03.18.53.996678 PM -07:00
  2. SnapCenterからSnapshotバックアップを手動で実行します。それからテーブルをドロップします。

    SQL> drop table test;
    
    Table dropped.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select current_timestamp from dual;
    
    CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    06-OCT-23 03.26.30.169456 PM -07:00
    
    SQL> select * from test;
    select * from test
                  *
    ERROR at line 1:
    ORA-00942: table or view does not exist
  3. 前の手順で作成したバックアップセットで、ログバックアップのSCN数をメモします。をクリックし Restore てrestore-recoverワークフローを起動します。

    SnapCenterの設定を示すスクリーンショット。

  4. リストア対象を選択します。

    SnapCenterの設定を示すスクリーンショット。

  5. 最後のフルデータベースバックアップのログSCNまでのリカバリ範囲を選択してください。

    SnapCenterの設定を示すスクリーンショット。

  6. 実行する任意のプリスクリプトを指定します。

    SnapCenterの設定を示すスクリーンショット。

  7. 実行するオプションのafter-scriptを指定します。

    SnapCenterの設定を示すスクリーンショット。

  8. 必要に応じてジョブレポートを送信します。

    SnapCenterの設定を示すスクリーンショット。

  9. 概要を確認し、をクリックし `Finish`てリストアとリカバリを開始します。

    SnapCenterの設定を示すスクリーンショット。

  10. [Oracle Restart grid control]から、cdb3がリストア中でリカバリcdb4がオンラインで使用可能であることがわかります。

    SnapCenterの設定を示すスクリーンショット。

  11. `Monitor`タブでジョブを開き、詳細を確認します。

    SnapCenterの設定を示すスクリーンショット。

  12. DB VM ora_02で、リカバリが正常に完了した後にドロップされたテーブルがリカバリされたことを確認します。

    [oracle@ora_02 bin]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Fri Oct 6 17:01:28 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    CDB3      READ WRITE
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB3_PDB1                      READ WRITE NO
             4 CDB3_PDB2                      READ WRITE NO
             5 CDB3_PDB3                      READ WRITE NO
    SQL> alter session set container=CDB3_PDB1;
    
    Session altered.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    06-OCT-23 03.18.24.000000 PM
    test oracle recovery on guest mounted fsx storage to VMC guest vm ora_02
    
    
    SQL> select current_timestamp from dual;
    
    CURRENT_TIMESTAMP
    ---------------------------------------------------------------------------
    06-OCT-23 05.02.20.382702 PM -07:00
    
    SQL>

データベースクローン

Details

この例では、同じバックアップセットを使用して、別のORACLE_HOMEにある同じVM上のデータベースをクローニングします。バックアップからVMC内の別のVMにデータベースをクローニングする場合も、必要に応じて同じ手順を実行できます。

  1. データベースcdb3バックアップリストを開きます。任意のデータバックアップから、ボタンをクリックし `Clone`てデータベースクローニングワークフローを起動します。

    SnapCenterの設定を示すスクリーンショット。

  2. クローンデータベースのSIDに名前を付けます。

    SnapCenterの設定を示すスクリーンショット。

  3. VMCのVMをターゲットデータベースホストとして選択します。同じバージョンのOracleがホストにインストールされ、設定されている必要があります。

    SnapCenterの設定を示すスクリーンショット。

  4. ターゲット・ホスト上の適切なORACLE_HOME、ユーザ、およびグループを選択します。クレデンシャルをデフォルトのままにする。

    SnapCenterの設定を示すスクリーンショット。

  5. クローンデータベースの設定やリソースの要件に合わせて、クローンデータベースのパラメータを変更します。

    SnapCenterの設定を示すスクリーンショット。

  6. リカバリ範囲を選択します。 `Until Cancel`バックアップセット内で使用可能な最後のログファイルまでクローンをリカバリします。

    SnapCenterの設定を示すスクリーンショット。

  7. 概要を確認し、クローンジョブを起動します。

    SnapCenterの設定を示すスクリーンショット。

  8. タブからクローニングジョブの実行を監視します Monitor

    SnapCenterの設定を示すスクリーンショット。

  9. クローンデータベースはすぐにSnapCenterに登録されます。

    SnapCenterの設定を示すスクリーンショット。

  10. DB VM ora_02からは、クローニングされたデータベースもOracle Restartグリッドコントロールに登録され、ドロップされたテストテーブルが次のようにクローニングされたデータベースcdb3tstにリカバリされます。

    [oracle@ora_02 ~]$ /u01/app/oracle/product/19.0.0/grid/bin/crsctl stat res -t
    --------------------------------------------------------------------------------
    Name           Target  State        Server                   State details
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.LISTENER.lsnr
                   ONLINE  INTERMEDIATE ora_02                   Not All Endpoints Re
                                                                 gistered,STABLE
    ora.LOGS.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.SC_2090922_CDB3TST.dg
                   ONLINE  ONLINE       ora_02                   STABLE
    ora.asm
                   ONLINE  ONLINE       ora_02                   Started,STABLE
    ora.ons
                   OFFLINE OFFLINE      ora_02                   STABLE
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cdb3.db
          1        ONLINE  ONLINE       ora_02                   Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /cdb3,STABLE
    ora.cdb3tst.db
          1        ONLINE  ONLINE       ora_02                   Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /cdb4,STABLE
    ora.cdb4.db
          1        ONLINE  ONLINE       ora_02                   Open,HOME=/u01/app/o
                                                                 racle/product/19.0.0
                                                                 /cdb4,STABLE
    ora.cssd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.diskmon
          1        OFFLINE OFFLINE                               STABLE
    ora.driver.afd
          1        ONLINE  ONLINE       ora_02                   STABLE
    ora.evmd
          1        ONLINE  ONLINE       ora_02                   STABLE
    --------------------------------------------------------------------------------
    
    [oracle@ora_02 ~]$ export ORACLE_HOME=/u01/app/oracle/product/19.0.0/cdb4
    [oracle@ora_02 ~]$ export ORACLE_SID=cdb3tst
    [oracle@ora_02 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Sat Oct 7 08:04:51 2023
    Version 19.18.0.0.0
    
    Copyright (c) 1982, 2022, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.18.0.0.0
    
    SQL> select name, open_mode from v$database;
    
    NAME      OPEN_MODE
    --------- --------------------
    CDB3TST   READ WRITE
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB3_PDB1                      READ WRITE NO
             4 CDB3_PDB2                      READ WRITE NO
             5 CDB3_PDB3                      READ WRITE NO
    SQL> alter session set container=CDB3_PDB1;
    
    Session altered.
    
    SQL> select * from test;
    
            ID
    ----------
    DT
    ---------------------------------------------------------------------------
    EVENT
    --------------------------------------------------------------------------------
             1
    06-OCT-23 03.18.24.000000 PM
    test oracle recovery on guest mounted fsx storage to VMC guest vm ora_02
    
    
    SQL>

これで、AWS上のVMC SDDCでのOracleデータベースのSnapCenterバックアップ、リストア、およびクローニングのデモは完了です。

詳細情報の入手方法

このドキュメントに記載されている情報の詳細については、以下のドキュメントや Web サイトを参照してください。