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導入ワークフローを起動します。
-
Azure VMのページで、* Create をクリックし、 Azure Virtual Machine *を選択します。
-
導入のサブスクリプションIDを選択し、リソースグループ、リージョン、ホスト名、VMイメージ、サイズ、および認証方式を指定します。ディスクページに移動します。
-
OSローカルの冗長性には* Premium SSD *を選択し、ANFストレージからデータディスクがマウントされているため、データディスクは空白のままにしておきます。[ネットワーク]ページに移動します。
-
VNetとサブネットを選択します。外部VMアクセス用にパブリックIPを割り当てます。次に、管理ページに移動します。
-
Managementのデフォルトをすべて保持し、Advancedページに移動します。
-
カスタムスクリプトを使用して導入後にVMをカスタマイズする必要がない場合は、Advancedページのデフォルトの設定をすべて使用します。次に、[タグ]ページに移動します。
-
必要に応じてVMのタグを追加します。次に、[レビュー+作成]ページに移動します。
ページの入力を示しています。"]
-
導入ワークフローでは構成の検証が実行され、検証にパスした場合は、* Create *をクリックしてVMを作成します。
4. Oracle用にANFデータベースボリュームをプロビジョニングします
Oracleバイナリボリューム、データボリューム、ログボリューム用のANF容量プール用に3つのNFSボリュームを作成する必要があります。
-
AzureコンソールのAzureサービスのリストで、Azure NetApp Files をクリックしてボリューム作成ワークフローを開きます。複数のANFストレージアカウントがある場合は、ボリュームのプロビジョニング元となるアカウントをクリックします。
-
ネットアップストレージアカウントで、「* Volumes 」をクリックし、「 Add volume *」をクリックして新しいOracleボリュームを作成します。
-
ベストプラクティスとして、VMのホスト名をプレフィックスとして持つOracleボリュームを特定し、そのあとにOracleバイナリの場合はu01、Oracleデータの場合はu02、Oracleログの場合はu03などのホスト上のマウントポイントを指定することを推奨します。ボリュームにはVMと同じVNetを選択します。[次へ:プロトコル>*]をクリックします。
-
NFSプロトコルを選択し、許可されたクライアントにOracleホストのIPアドレスを追加して、すべてのIPアドレスを許可するデフォルトポリシー0.0.0.0/0を削除します。[次へ:タグ>*]をクリックします。
-
必要に応じてボリュームタグを追加次に、[* Review + Create]>[*]をクリックします。
-
検証に合格したら、* 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ツールをインストールします
-
の最新バージョンを取得します "AzArcSnapインストーラ"。
-
ダウンロードした自己インストーラをターゲットシステムにコピーします。
-
デフォルトのインストールオプションを使用して、rootユーザとして自己インストーラを実行します。必要に応じて、を使用してファイルを実行可能にします
chmod +x *.run
コマンドを実行します./azacsnap_installer_v5.0.run -I
Oracle接続を設定します
SnapshotツールはOracleデータベースと通信します。バックアップモードを有効または無効にするためには、適切な権限を持つデータベースユーザが必要です。
1. AzAcSnapデータベースユーザーを設定します
次の例は、Oracleデータベースユーザのセットアップと、sqlplusを使用したOracleデータベースへの通信を示しています。この例のコマンドでは、Oracleデータベースでユーザ(AZACSNAP)を設定し、必要に応じてIPアドレス、ユーザ名、およびパスワードを変更します。
-
Oracleデータベースのインストールからsqlplusを起動して、データベースにログインします。
su – oracle sqlplus / AS SYSDBA
-
ユーザを作成します。
CREATE USER azacsnap IDENTIFIED BY password;
-
ユーザに権限を付与します。次の例では、データベースをバックアップモードにするためのAZACSNAPユーザの権限を設定します。
GRANT CREATE SESSION TO azacsnap; GRANT SYSBACKUP TO azacsnap;
-
デフォルトのユーザパスワードの有効期限を「unlimited」に変更します。
ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME unlimited;
-
データベースのazacsnap接続を検証します。
connect azacsnap/password quit;
2. Oracleウォレットを使用したDBアクセス用に、linuxユーザazacsnapを設定します
AzAcSnapのデフォルトインストールでは、azacsnap OSユーザが作成されます。Bashシェル環境では、Oracleウォレットに格納されたパスワードを使用してOracleデータベースにアクセスするように設定する必要があります。
-
rootユーザとして、を実行します
cat /etc/oratab
ホスト上のORACLE_HOME変数とORACLE_SID変数を識別するコマンドです。cat /etc/oratab
-
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
-
Linuxユーザazacsnapとして、ウォレットを作成します。ウォレットパスワードの入力を求められます。
sudo su - azacsnap mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -create
-
Oracle Walletに接続文字列クレデンシャルを追加します。次のコマンド例では、AZACSNAPはAzAcSnapで使用されるConnectString、azacsnapはOracleデータベースユーザー、AzPasswd1はOracleユーザーのデータベースパスワードです。ウォレットパスワードの入力を求められます。
mkstore -wrl $TNS_ADMIN/.oracle_wallet/ -createCredential AZACSNAP azacsnap AzPasswd1
-
を作成します
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
-
を作成します
sqlnet.ora
ファイル。echo "SQLNET.WALLET_OVERRIDE = TRUE WALLET_LOCATION=( SOURCE=(METHOD=FILE) (METHOD_DATA=(DIRECTORY=\$TNS_ADMIN/.oracle_wallet)) ) " > $TNS_ADMIN/sqlnet.ora
-
ウォレットを使用して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 との通信を有効にする方法について説明します。
-
Azure Cloud Shellセッションで、サービスプリンシパルに関連付けるサブスクリプションにデフォルトでログインしていることを確認します。
az account show
-
サブスクリプションが正しくない場合は、次のコマンドを使用します。
az account set -s <subscription name or id>
-
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/" }
-
出力コンテンツをというファイルにカットアンドペーストします
oracle.json
Linuxユーザazacsnapのユーザbinディレクトリに格納され、適切なシステム権限でファイルを保護します。
JSONファイルの形式が、特に二重引用符(")で囲まれたURLで、前述のとおりになっていることを確認してください。 |
AzAcSnapツールのセットアップを完了します
スナップショットツールを設定およびテストするには、次の手順を実行します。テストに成功したら、最初のデータベースと整合性のあるストレージSnapshotを実行できます。
-
Snapshotユーザアカウントに移動します。
su - azacsnap
-
コマンドの場所を変更します。
cd /home/azacsnap/bin/
-
ストレージバックアップの詳細ファイルを設定これにより、が作成されます
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'.
-
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]$
-
最初のSnapshotバックアップを実行します。
azacsnap -c backup –-volume data --prefix ora_test --retention=1