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

Azure VMおよびAzure NetApp Files へのOracleの導入手順を順を追って説明します

共同作成者

このセクションでは、FSXストレージを使用してOracle RDSカスタムデータベースを導入する手順について説明します。

Azure portalコンソールを使用して、ANF for Oracle対応Azure VMを導入します

Azureを初めて使用する場合は、まずAzureアカウント環境をセットアップする必要があります。これには、Azure Active Directoryを使用するための組織への登録も含まれます。次のセクションでは、これらの手順を簡単に説明します。詳細については、リンクされたAzure固有のドキュメントを参照してください。

Azureリソースを作成、利用する

Azure環境をセットアップし、アカウントを作成してサブスクリプションに関連付けると、そのアカウントでAzureポータルにログインし、Oracleの実行に必要なリソースを作成できるようになります。

1.仮想ネットワークまたはVNetを作成します

Azure Virtual Network(VNet;Azure仮想ネットワーク)は、Azureのプライベートネットワークの基本的なビルディングブロックです。VNetを使用すると、Azure Virtual Machines(VM;Azure仮想マシン)などのさまざまなタイプのAzureリソース間、インターネット、オンプレミスネットワーク間で安全に通信できるようになります。Azure VMをプロビジョニングする前に、VNet(VMが導入される場所)を設定しておく必要があります。

を参照してください "Azureポータルを使用して仮想ネットワークを作成する" VNetを作成するために使用します。

2. ANF用のネットアップストレージアカウントと容量プールを作成します

この導入シナリオでは、Azure VM OSは通常のAzureストレージを使用してプロビジョニングされますが、ANFボリュームはNFS経由でOracleデータベースを実行するようにプロビジョニングされます。まず、ネットアップストレージアカウントと、ストレージボリュームをホストするための容量プールを作成する必要があります。

を参照してください "Azure NetApp Files をセットアップし、NFSボリュームを作成" でANF容量プールを設定してください。

3. Oracle用にAzure VMをプロビジョニング

ワークロードに基づいて、必要なAzure VMのタイプ、およびOracle用に導入するVM vCPUおよびRAMのサイズを決定します。次に、AzureコンソールでVMのアイコンをクリックして、VM導入ワークフローを起動します。

  1. Azure VMのページで、* Create をクリックし、 Azure Virtual Machine *を選択します。

    このスクリーンショットは、使用可能なAzure VMのリストを示しています。

  2. 導入のサブスクリプションIDを選択し、リソースグループ、リージョン、ホスト名、VMイメージ、サイズ、および認証方式を指定します。ディスクページに移動します。

    このスクリーンショットは、Create a Virtual Machine(仮想マシンの作成)ページの入力を示しています。 このスクリーンショットは、Create a Virtual Machine(仮想マシンの作成)ページの追加の入力を示しています。

  3. OSローカルの冗長性には* Premium SSD *を選択し、ANFストレージからデータディスクがマウントされているため、データディスクは空白のままにしておきます。[ネットワーク]ページに移動します。

    このスクリーンショットは、Create a Virtual Machine Disks(仮想マシンディスクの作成)ページの入力を示しています。

  4. VNetとサブネットを選択します。外部VMアクセス用にパブリックIPを割り当てます。次に、管理ページに移動します。

    このスクリーンショットは、Create a Virtual Machine(仮想マシンの作成)ページの詳細な入力を示しています。

  5. Managementのデフォルトをすべて保持し、Advancedページに移動します。

    このスクリーンショットは、Create a Virtual Machine Management(仮想マシンの作成)ページの入力を示しています。

  6. カスタムスクリプトを使用して導入後にVMをカスタマイズする必要がない場合は、Advancedページのデフォルトの設定をすべて使用します。次に、[タグ]ページに移動します。

    このスクリーンショットは、仮想マシンの作成の詳細ページの入力を示しています。

  7. 必要に応じてVMのタグを追加します。次に、[レビュー+作成]ページに移動します。

    "このスクリーンショットは、[Create a Virtual Machine Tagsページの入力を示しています。"]

  8. 導入ワークフローでは構成の検証が実行され、検証にパスした場合は、* Create *をクリックしてVMを作成します。

    「このスクリーンショットは、「仮想マシンの作成」の確認と作成のページの入力を示しています。

4. Oracle用にANFデータベースボリュームをプロビジョニングします

Oracleバイナリボリューム、データボリューム、ログボリューム用のANF容量プール用に3つのNFSボリュームを作成する必要があります。

  1. AzureコンソールのAzureサービスのリストで、Azure NetApp Files をクリックしてボリューム作成ワークフローを開きます。複数のANFストレージアカウントがある場合は、ボリュームのプロビジョニング元となるアカウントをクリックします。

    このスクリーンショットはAzure Servicesのページを示しており、ANFは強調表示されています。

  2. ネットアップストレージアカウントで、「* Volumes 」をクリックし、「 Add volume *」をクリックして新しいOracleボリュームを作成します。

    このスクリーンショットは、ネットアップストレージアカウントのランディング画面を示しています。 このスクリーンショットは、ネットアップストレージアカウントで使用可能なボリュームを示しています。

  3. ベストプラクティスとして、VMのホスト名をプレフィックスとして持つOracleボリュームを特定し、そのあとにOracleバイナリの場合はu01、Oracleデータの場合はu02、Oracleログの場合はu03などのホスト上のマウントポイントを指定することを推奨します。ボリュームにはVMと同じVNetを選択します。[次へ:プロトコル>*]をクリックします。

    ボリューム作成画面。

  4. NFSプロトコルを選択し、許可されたクライアントにOracleホストのIPアドレスを追加して、すべてのIPアドレスを許可するデフォルトポリシー0.0.0.0/0を削除します。[次へ:タグ>*]をクリックします。

    ボリューム作成画面でプロトコルが入力されました。

  5. 必要に応じてボリュームタグを追加次に、[* Review + Create]>[*]をクリックします。

    ボリューム作成画面で入力するタグを指定します。

  6. 検証に合格したら、* Create *をクリックしてボリュームを作成します。

    ボリューム作成画面のステージを確認して作成します。

Azure VMにANFを使用してOracleをインストールし、設定する

ネットアップのソリューションチームが開発したAnsibleベースの自動化ツールキットは、OracleをAzureにスムーズに導入するのに役立ちます。OracleをAzure VMに導入するには、次の手順を実行します。

Ansibleコントローラをセットアップします

Ansibleコントローラが設定されていない場合は、を参照してください "NetApp 解決策の自動化"に、Ansibleコントローラのセットアップ方法の詳細が記載されています。

Oracle Deployment Automationツールキットを入手する

Ansibleコントローラへのログインに使用するユーザIDの下のホームディレクトリに、Oracle導入ツールキットのコピーをクローニングします。

git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git

ツールキットを構成に応じて実行します

を参照してください "CLI による Oracle 19C データベースの導入" をクリックして、CLIでプレイブックを実行します。ONTAP ではなくAzureコンソールからデータベースボリュームを作成する場合、グローバルVARファイル内の変数設定の部分は無視できます。

メモ このツールキットには、RU 19.8でOracle 19Cがデフォルトで導入されています。他のパッチレベルにも簡単に適応でき、デフォルトの設定を若干変更することもできます。また、デフォルトのシードデータベースアクティブログファイルもデータボリュームに導入されます。ログボリュームにアクティブなログファイルが必要な場合は、最初の導入後にログファイルを再配置します。必要に応じて、ネットアップの解決策 チームにご連絡ください。

Oracle向けのアプリケーション整合性スナップショット用のAzAcSnapバックアップツールをセットアップします

Azure Application-consistent Snapshotツール(AzAcSnap)は、ストレージスナップショットを作成する前に、アプリケーションと整合性のある状態にするために必要なすべてのオーケストレーションを処理することで、サードパーティデータベースのデータを保護できるコマンドラインツールです。これらのデータベースは、動作状態に戻ります。このツールはデータベースサーバホストにインストールすることを推奨します。次のインストールおよび設定手順を参照してください。

AzAcSnapツールをインストールします

  1. の最新バージョンを取得します "AzArcSnapインストーラ"

  2. ダウンロードした自己インストーラをターゲットシステムにコピーします。

  3. デフォルトのインストールオプションを使用して、rootユーザとして自己インストーラを実行します。必要に応じて、を使用してファイルを実行可能にします chmod +x *.run コマンドを実行します

     ./azacsnap_installer_v5.0.run -I

Oracle接続を設定します

SnapshotツールはOracleデータベースと通信します。バックアップモードを有効または無効にするためには、適切な権限を持つデータベースユーザが必要です。

1. AzAcSnapデータベースユーザーを設定します

次の例は、Oracleデータベースユーザのセットアップと、sqlplusを使用したOracleデータベースへの通信を示しています。この例のコマンドでは、Oracleデータベースでユーザ(AZACSNAP)を設定し、必要に応じてIPアドレス、ユーザ名、およびパスワードを変更します。

  1. Oracleデータベースのインストールからsqlplusを起動して、データベースにログインします。

    su – oracle
    sqlplus / AS SYSDBA
  2. ユーザを作成します。

    CREATE USER azacsnap IDENTIFIED BY password;
  3. ユーザに権限を付与します。次の例では、データベースをバックアップモードにするためのAZACSNAPユーザの権限を設定します。

    GRANT CREATE SESSION TO azacsnap;
    GRANT SYSBACKUP TO azacsnap;
  4. デフォルトのユーザパスワードの有効期限を「unlimited」に変更します。

    ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME unlimited;
  5. データベースのazacsnap接続を検証します。

    connect azacsnap/password
    quit;

2. Oracleウォレットを使用したDBアクセス用に、linuxユーザazacsnapを設定します

AzAcSnapのデフォルトインストールでは、azacsnap OSユーザが作成されます。Bashシェル環境では、Oracleウォレットに格納されたパスワードを使用してOracleデータベースにアクセスするように設定する必要があります。

  1. rootユーザとして、を実行します cat /etc/oratab ホスト上のORACLE_HOME変数とORACLE_SID変数を識別するコマンドです。

    cat /etc/oratab
  2. azacsnapのユーザbashプロファイルにORACLE_HOME、ORACLE_SID、TNS_Admin、およびパス変数を追加します。必要に応じて変数を変更します。

    echo "export ORACLE_SID=ORATEST" >> /home/azacsnap/.bash_profile
    echo "export ORACLE_HOME=/u01/app/oracle/product/19800/ORATST" >> /home/azacsnap/.bash_profile
    echo "export TNS_ADMIN=/home/azacsnap" >> /home/azacsnap/.bash_profile
    echo "export PATH=\$PATH:\$ORACLE_HOME/bin" >> /home/azacsnap/.bash_profile
  3. Linuxユーザazacsnapとして、ウォレットを作成します。ウォレットパスワードの入力を求められます。

    sudo su - azacsnap
    
    mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -create
  4. Oracle Walletに接続文字列クレデンシャルを追加します。次のコマンド例では、AZACSNAPはAzAcSnapで使用されるConnectString、azacsnapはOracleデータベースユーザー、AzPasswd1はOracleユーザーのデータベースパスワードです。ウォレットパスワードの入力を求められます。

    mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -createCredential AZACSNAP azacsnap AzPasswd1
  5. を作成します tnsnames-ora ファイル。次のコマンド例では、hostをOracleデータベースのIPアドレスに設定し、Server SIDをOracleデータベースSIDに設定します。

    echo "# Connection string
    AZACSNAP=\"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.137.142)(PORT=1521))(CONNECT_DATA=(SID=ORATST)))\"
    " > $TNS_ADMIN/tnsnames.ora
  6. を作成します sqlnet.ora ファイル。

    echo "SQLNET.WALLET_OVERRIDE = TRUE
    WALLET_LOCATION=(
        SOURCE=(METHOD=FILE)
        (METHOD_DATA=(DIRECTORY=\$TNS_ADMIN/.oracle_wallet))
    ) " > $TNS_ADMIN/sqlnet.ora
  7. ウォレットを使用してOracleアクセスをテストします。

    sqlplus /@AZACSNAP as SYSBACKUP

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

    [azacsnap@acao-ora01 ~]$ sqlplus /@AZACSNAP as SYSBACKUP
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 8 18:02:07 2022
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL>

ANF接続を設定する

このセクションでは、(VMとの)Azure NetApp Files との通信を有効にする方法について説明します。

  1. Azure Cloud Shellセッションで、サービスプリンシパルに関連付けるサブスクリプションにデフォルトでログインしていることを確認します。

    az account show
  2. サブスクリプションが正しくない場合は、次のコマンドを使用します。

    az account set -s <subscription name or id>
  3. Azure CLIを使用して、次の例のようにサービスプリンシパルを作成します。

    az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth

    想定される出力:

    {
      "clientId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "clientSecret": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "subscriptionId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "tenantId": "00aa000a-aaaa-0000-00a0-00aa000aaa0a",
      "activeDirectoryEndpointUrl": "https://login.microsoftonline.com",
      "resourceManagerEndpointUrl": "https://management.azure.com/",
      "activeDirectoryGraphResourceId": "https://graph.windows.net/",
      "sqlManagementEndpointUrl": "https://management.core.windows.net:8443/",
      "galleryEndpointUrl": "https://gallery.azure.com/",
      "managementEndpointUrl": "https://management.core.windows.net/"
    }
  4. 出力コンテンツをというファイルにカットアンドペーストします oracle.json Linuxユーザazacsnapのユーザbinディレクトリに格納され、適切なシステム権限でファイルを保護します。

メモ JSONファイルの形式が、特に二重引用符(")で囲まれたURLで、前述のとおりになっていることを確認してください。

AzAcSnapツールのセットアップを完了します

スナップショットツールを設定およびテストするには、次の手順を実行します。テストに成功したら、最初のデータベースと整合性のあるストレージSnapshotを実行できます。

  1. Snapshotユーザアカウントに移動します。

    su - azacsnap
  2. コマンドの場所を変更します。

    cd /home/azacsnap/bin/
  3. ストレージバックアップの詳細ファイルを設定これにより、が作成されます azacsnap.json 構成ファイル

    azacsnap -c configure –-configuration new

    Oracleボリュームが3つある場合の想定出力は次のとおりです。

    [azacsnap@acao-ora01 bin]$ azacsnap -c configure --configuration new
    Building new config file
    Add comment to config file (blank entry to exit adding comments): Oracle snapshot bkup
    Add comment to config file (blank entry to exit adding comments):
    Enter the database type to add, 'hana', 'oracle', or 'exit' (for no database): oracle
    
    === Add Oracle Database details ===
    Oracle Database SID (e.g. CDB1): ORATST
    Database Server's Address (hostname or IP address): 172.30.137.142
    Oracle connect string (e.g. /@AZACSNAP): /@AZACSNAP
    
    === Azure NetApp Files Storage details ===
    Are you using Azure NetApp Files for the database? (y/n) [n]: y
    --- DATA Volumes have the Application put into a consistent state before they are snapshot ---
    Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: y
    Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u01
    Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json
    Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: y
    Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u02
    Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json
    Add Azure NetApp Files resource to DATA Volume section of Database configuration? (y/n) [n]: n
    --- OTHER Volumes are snapshot immediately without preparing any application for snapshot ---
    Add Azure NetApp Files resource to OTHER Volume section of Database configuration? (y/n) [n]: y
    Full Azure NetApp Files Storage Volume Resource ID (e.g. /subscriptions/.../resourceGroups/.../providers/Microsoft.NetApp/netAppAccounts/.../capacityPools/Premium/volumes/...): /subscriptions/0efa2dfb-917c-4497-b56a-b3f4eadb8111/resourceGroups/ANFAVSRG/providers/Microsoft.NetApp/netAppAccounts/ANFAVSAcct/capacityPools/CapPool/volumes/acao-ora01-u03
    Service Principal Authentication filename or Azure Key Vault Resource ID (e.g. auth-file.json or https://...): oracle.json
    Add Azure NetApp Files resource to OTHER Volume section of Database configuration? (y/n) [n]: n
    
    === Azure Managed Disk details ===
    Are you using Azure Managed Disks for the database? (y/n) [n]: n
    
    === Azure Large Instance (Bare Metal) Storage details ===
    Are you using Azure Large Instance (Bare Metal) for the database? (y/n) [n]: n
    
    Enter the database type to add, 'hana', 'oracle', or 'exit' (for no database): exit
    
    Editing configuration complete, writing output to 'azacsnap.json'.
  4. azacsnap Linuxユーザとして、Oracleバックアップに対してazacsnap testコマンドを実行します。

    cd ~/bin
    azacsnap -c test --test oracle --configfile azacsnap.json

    想定される出力:

    [azacsnap@acao-ora01 bin]$ azacsnap -c test --test oracle --configfile azacsnap.json
    BEGIN : Test process started for 'oracle'
    BEGIN : Oracle DB tests
    PASSED: Successful connectivity to Oracle DB version 1908000000
    END   : Test process complete for 'oracle'
    [azacsnap@acao-ora01 bin]$
  5. 最初のSnapshotバックアップを実行します。

    azacsnap -c backup –-volume data --prefix ora_test --retention=1