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

ステップバイステップの導入手順

共同作成者

このページでは、 NetApp ONTAP ストレージ上に Oracle19c を導入するための自動化方式について説明します。

AWX/Tower の導入 Oracle 19C データベース

1. 環境のインベントリ、グループ、ホスト、およびクレデンシャルを作成します

このセクションでは、ネットアップの自動化ソリューションを使用する環境を準備するための AWX/Ansible タワーでのインベントリ、グループ、ホスト、アクセスクレデンシャルのセットアップについて説明します。

  1. インベントリを設定します。

    1. リソース→インベントリ→追加と進み、インベントリの追加をクリックします。

    2. 名前と組織の詳細を入力し、 [ 保存 ] をクリックします。

    3. インベントリページで、作成されたインベントリをクリックします。

    4. インベントリ変数がある場合は、その変数を変数フィールドに貼り付けます。

    5. [ グループ ] サブメニューに移動し、 [ 追加 ] をクリックします。

    6. ONTAP のグループの名前を入力し、グループ変数(ある場合)を貼り付けて、 [ 保存 ] をクリックします。

    7. Oracle の別のグループに対してこの手順を繰り返します。

    8. 作成した ONTAP グループを選択し、 Hosts サブメニューに移動して、 Add New Host をクリックします。

    9. ONTAP クラスタ管理 IP の IP アドレスを入力し、ホスト変数(存在する場合)を貼り付けて、 [ 保存 ] をクリックします。

    10. このプロセスは、 Oracle グループおよび Oracle ホストの管理 IP / ホスト名に対して繰り返す必要があります。

  2. クレデンシャルタイプを作成する。ONTAP を使用するソリューションでは、ユーザ名とパスワードのエントリを照合するようにクレデンシャルタイプを設定する必要があります。

    1. [ 管理 ] → [ 資格情報の種類 ] に移動し、 [ 追加 ] をクリックします。

    2. 名前と概要を指定します。

    3. 入力構成に次の内容を貼り付けます。

fields:
  - id: username
    type: string
    label: Username
  - id: password
    type: string
    label: Password
    secret: true
  - id: vsadmin_password
    type: string
    label: vsadmin_password
    secret: true
  1. 次の内容をインジェクター設定に貼り付けます。

extra_vars:
  password: '{{ password }}'
  username: '{{ username }}'
  vsadmin_password: '{{ vsadmin_password }}'
  1. クレデンシャルを設定します。

    1. [ リソース ] → [ 資格情報 ] に移動し、 [ 追加 ] をクリックします。

    2. ONTAP の名前と組織の詳細を入力します。

    3. ONTAP 用に作成したカスタム資格情報タイプを選択します。

    4. [ タイプの詳細 ] で、ユーザー名、パスワード、および vsadmin-readonly を入力します。

    5. [ 資格情報に戻る ] をクリックし、 [ 追加 ] をクリックします

    6. Oracle の名前と組織の詳細を入力します。

    7. マシンクレデンシャルタイプを選択します。

    8. Type Details (タイプの詳細)に、 Oracle ホストのユーザー名とパスワードを入力します。

    9. 適切な特権昇格方式を選択し、ユーザ名とパスワードを入力します。

2. プロジェクトを作成します

  1. [ リソース ] → [ プロジェクト ] に移動し、 [ 追加 ] をクリックします。

    1. 名前と組織の詳細を入力します

    2. Source Control Credential Type フィールドで Git を選択します。

    3. ソース管理URLとしてと入力し `\https://github.com/NetApp-Automation/na_oracle19c_deploy.git`ます。

    4. [ 保存 ] をクリックします .

    5. ソースコードが変更されたときに、プロジェクトの同期が必要になることがあります。

3. Oracle host_vars を設定します

このセクションで定義した変数は、個々の Oracle サーバとデータベースに適用されます。

  1. 次の組み込み Oracle ホスト変数または host_vars フォームに、環境固有のパラメータを入力します。

メモ 青の項目は、環境に合わせて変更する必要があります。

ホスト VAR 構成

######################################################################
##############      Host Variables Configuration        ##############
######################################################################

# Add your Oracle Host
ansible_host: "10.61.180.15"

# Oracle db log archive mode: true - ARCHIVELOG or false - NOARCHIVELOG
log_archive_mode: "true"

# Number of pluggable databases per container instance identified by sid. Pdb_name specifies the prefix for container database naming in this case cdb2_pdb1, cdb2_pdb2, cdb2_pdb3
oracle_sid: "cdb2"
pdb_num: "3"
pdb_name: "{{ oracle_sid }}_pdb"

# CDB listener port, use different listener port for additional CDB on same host
listener_port: "1523"

# CDB is created with SGA at 75% of memory_limit, MB. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB. The grand total SGA should not exceed 75% available RAM on node.
memory_limit: "5464"

# Set "em_configuration: DBEXPRESS" to install enterprise manager express and choose a unique port from 5500 to 5599 for each sid on the host.
# Leave them black if em express is not installed.
em_configuration: "DBEXPRESS"
em_express_port: "5501"

# {{groups.oracle[0]}} represents first Oracle DB server as defined in Oracle hosts group [oracle]. For concurrent multiple Oracle DB servers deployment, [0] will be incremented for each additional DB server. For example,  {{groups.oracle[1]}}" represents DB server 2, "{{groups.oracle[2]}}" represents DB server 3 ... As a good practice and the default, minimum three volumes is allocated to a DB server with corresponding /u01, /u02, /u03 mount points, which store oracle binary, oracle data, and oracle recovery files respectively. Additional volumes can be added by click on "More NFS volumes" but the number of volumes allocated to a DB server must match with what is defined in global vars file by volumes_nfs parameter, which dictates how many volumes are to be created for each DB server.
host_datastores_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  1. 青のフィールドにすべての変数を入力します。

  2. 変数の入力が完了したら、フォームの [ コピー ] ボタンをクリックして、 AWX またはタワーに転送されるすべての変数をコピーします。

  3. AWX またはタワーに戻って、 Resources (リソース)→ Hosts (ホスト)に移動し、 Oracle サーバ設定ページを選択して開きます。

  4. [ 詳細 ] タブで、編集をクリックし、コピーした変数を手順 1 から YAML タブの [ 変数 ] フィールドに貼り付けます。

  5. [ 保存 ] をクリックします .

  6. システム内の他の Oracle サーバについても、この手順を繰り返します。

4. グローバル変数を設定します

このセクションで定義する変数は、すべての Oracle ホスト、データベース、および ONTAP クラスタに適用されます。

  1. 次の組み込みグローバル変数または変数フォームに環境固有のパラメータを入力します。

メモ 青の項目は、環境に合わせて変更する必要があります。
#######################################################################
###### Oracle 19c deployment global user configuration variables ######
######  Consolidate all variables from ontap, linux and oracle   ######
#######################################################################

###########################################
### Ontap env specific config variables ###
###########################################

#Inventory group name
#Default inventory group name - 'ontap'
#Change only if you are changing the group name either in inventory/hosts file or in inventory groups in case of AWX/Tower
hosts_group: "ontap"

#CA_signed_certificates (ONLY CHANGE to 'true' IF YOU ARE USING CA SIGNED CERTIFICATES)
ca_signed_certs: "false"

#Names of the Nodes in the ONTAP Cluster
nodes:
 - "AFF-01"
 - "AFF-02"

#Storage VLANs
#Add additional rows for vlans as necessary
storage_vlans:
   - {vlan_id: "203", name: "infra_NFS", protocol: "NFS"}
More Storage VLANsEnter Storage VLANs details

#Details of the Data Aggregates that need to be created
#If Aggregate creation takes longer, subsequent tasks of creating volumes may fail.
#There should be enough disks already zeroed in the cluster, otherwise aggregate create will zero the disks and will take long time
data_aggregates:
  - {aggr_name: "aggr01_node01"}
  - {aggr_name: "aggr01_node02"}

#SVM name
svm_name: "ora_svm"

# SVM Management LIF Details
svm_mgmt_details:
  - {address: "172.21.91.100", netmask: "255.255.255.0", home_port: "e0M"}

# NFS storage parameters when data_protocol set to NFS. Volume named after Oracle hosts name identified by mount point as follow for oracle DB server 1. Each mount point dedicates to a particular Oracle files: u01 - Oracle binary, u02 - Oracle data, u03 - Oracle redo. Add additional volumes by click on "More NFS volumes" and also add the volumes list to corresponding host_vars as host_datastores_nfs variable. For multiple DB server deployment, additional volumes sets needs to be added for additional DB server. Input variable "{{groups.oracle[1]}}_u01", "{{groups.oracle[1]}}_u02", and "{{groups.oracle[1]}}_u03" as vol_name for second DB server. Place volumes for multiple DB servers alternatingly between controllers for balanced IO performance, e.g. DB server 1 on controller node1, DB server 2 on controller node2 etc. Make sure match lif address with controller node.

volumes_nfs:
  - {vol_name: "{{groups.oracle[0]}}_u01", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u02", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}
  - {vol_name: "{{groups.oracle[0]}}_u03", aggr_name: "aggr01_node01", lif: "172.21.94.200", size: "25"}

#NFS LIFs IP address and netmask

nfs_lifs_details:
  - address: "172.21.94.200" #for node-1
    netmask: "255.255.255.0"
  - address: "172.21.94.201" #for node-2
    netmask: "255.255.255.0"

#NFS client match

client_match: "172.21.94.0/24"

###########################################
### Linux env specific config variables ###
###########################################

#NFS Mount points for Oracle DB volumes

mount_points:
  - "/u01"
  - "/u02"
  - "/u03"

# Up to 75% of node memory size divided by 2mb. Consider how many databases to be hosted on the node and how much ram to be allocated to each DB.
# Leave it blank if hugepage is not configured on the host.

hugepages_nr: "1234"

# RedHat subscription username and password

redhat_sub_username: "xxx"
redhat_sub_password: "xxx"

####################################################
### DB env specific install and config variables ###
####################################################

db_domain: "your.domain.com"

# Set initial password for all required Oracle passwords. Change them after installation.

initial_pwd_all: "netapp123"
  1. すべての変数を青のフィールドに入力します。

  2. 変数の入力が完了したら、フォームの [ コピー ] ボタンをクリックして、 AWX またはタワーに転送されるすべての変数を次のジョブテンプレートにコピーします。

5. ジョブテンプレートを設定して起動します。

  1. ジョブテンプレートを作成します。

    1. [ リソース ] → [ テンプレート ] → [ 追加 ] に移動し、 [ ジョブテンプレートの追加 ] をクリックします。

    2. 名前と概要を入力します

    3. ジョブタイプを選択します。 Run は、プレイブックに基づいてシステムを設定します。 Check は、実際にシステムを設定することなく、プレイブックの事前チェックを実行します。

    4. 対応するインベントリ、プロジェクト、プレイブック、およびクレデンシャルを選択します。

    5. 実行するデフォルトのプレイブックとして、 all_cplaybook.yml を選択します。

    6. 手順 4 からコピーしたグローバル変数を YAML タブの Template Variables フィールドに貼り付けます。

    7. [ ジョブタグ ] フィールドの [ 起動時にプロンプトを表示する ] チェックボックスをオンにします。

    8. [ 保存 ] をクリックします .

  2. ジョブテンプレートを起動します。

    1. [ リソース ] → [ テンプレート ] に移動します。

    2. 目的のテンプレートをクリックし、 [ 起動 ] をクリックします。

    3. ジョブタグの起動時にプロンプトが表示されたら、 requires_config と入力します。requires_config の下にある Create Job Tag 行をクリックして、ジョブタグを入力する必要がある場合があります。

メモ requireation_config により、他のロールを実行するための正しいライブラリが確保されます。
  1. [ 次へ ] をクリックし、 [ 起動 ] をクリックしてジョブを開始します。

  2. ジョブの出力と進行状況を監視するには、表示→ジョブをクリックします。

  3. ジョブタグの起動を求めるプロンプトが表示されたら、「 ONTAP_config 」と入力します。ジョブタグを入力するには、 ONTAP_config の下にある「ジョブタグの作成」行をクリックする必要があります。

  4. [ 次へ ] をクリックし、 [ 起動 ] をクリックしてジョブを開始します。

  5. ジョブ出力およびを監視するには、表示→ジョブをクリックします 進捗状況

  6. ONTAP_CONFIG ロールの完了後、 linux_config のプロセスを再度実行します。

  7. [ リソース ] → [ テンプレート ] に移動します。

  8. 目的のテンプレートを選択し、 [ 起動 ] をクリックします。

  9. linux_config でジョブタグタイプの起動時にプロンプトが表示されたら、 linux_config のすぐ下にある「ジョブタグの作成」行を選択して、ジョブタグを入力する必要があります。

  10. [ 次へ ] をクリックし、 [ 起動 ] をクリックしてジョブを開始します。

  11. ジョブの出力と進行状況を監視するには、表示→ジョブを選択します。

  12. linux_config ロールが完了したら、 ORACLE_config のプロセスを再度実行します。

  13. [ リソース ] → [ テンプレート ] に移動します。

  14. 目的のテンプレートを選択し、 [ 起動 ] をクリックします。

  15. ジョブタグの起動時にプロンプトが表示されたら、 ORACLE_config と入力します。ORACLE_config の直下にある「ジョブタグの作成」行を選択して、ジョブタグを入力する必要がある場合があります。

  16. [ 次へ ] をクリックし、 [ 起動 ] をクリックしてジョブを開始します。

  17. ジョブの出力と進行状況を監視するには、表示→ジョブを選択します。

6. 同じ Oracle ホストに追加のデータベースを配置します

このプレイブックの Oracle 部分では、 1 回の実行につき Oracle サーバ上に Oracle コンテナデータベースが 1 つ作成されます。同じサーバ上に追加のコンテナデータベースを作成するには、次の手順を実行します。

  1. host_vars 変数を改訂。

    1. 手順 2 - Oracle host_vars の設定に戻ります。

    2. Oracle SID を別の名前文字列に変更します。

    3. リスナーポートを別の番号に変更します。

    4. EM Express をインストールする場合は、 EM Express ポートを別の番号に変更します。

    5. 改訂されたホスト変数を Host Configuration Detail タブの Oracle Host Variables フィールドにコピーして貼り付けます。

  2. ORACLE_config タグのみを使用して、導入ジョブテンプレートを起動します。

  3. OracleユーザとしてOracleサーバにログインし、次のコマンドを実行します。

    ps -ef | grep ora
    メモ インストールが正常に完了した場合は、 Oracle プロセスが一覧表示されます Oracle DB のサポートを開始しました
  4. データベースにログインして、次のコマンドセットを使用して作成されたDB設定およびPDBを確認します。

    [oracle@localhost ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 12:52:51 2021
    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>
    
    SQL> select name, log_mode from v$database;
    NAME      LOG_MODE
    --------- ------------
    CDB2      ARCHIVELOG
    
    SQL> show pdbs
    
        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 CDB2_PDB1                      READ WRITE NO
             4 CDB2_PDB2                      READ WRITE NO
             5 CDB2_PDB3                      READ WRITE NO
    
    col svrname form a30
    col dirname form a30
    select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SQL> col svrname form a30
    SQL> col dirname form a30
    SQL> select svrname, dirname, nfsversion from v$dnfs_servers;
    
    SVRNAME                        DIRNAME                        NFSVERSION
    ------------------------------ ------------------------------ ----------------
    172.21.126.200                 /rhelora03_u02                 NFSv3.0
    172.21.126.200                 /rhelora03_u03                 NFSv3.0
    172.21.126.200                 /rhelora03_u01                 NFSv3.0

    これにより、dNFSが正常に動作していることが確認されます。

  5. 次のコマンドを使用して'リスナー経由でデータベースに接続し'Oracleリスナーの構成を確認します適切なリスナーポートとデータベースサービス名に変更します。

    [oracle@localhost ~]$ sqlplus system@//localhost:1523/cdb2_pdb1.cie.netapp.com
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Thu May 6 13:19:57 2021
    Version 19.8.0.0.0
    
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    
    Enter password:
    Last Successful login time: Wed May 05 2021 17:11:11 -04:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.8.0.0.0
    
    SQL> show user
    USER is "SYSTEM"
    SQL> show con_name
    CON_NAME
    CDB2_PDB1

    これにより、Oracleリスナーが正常に動作していることが確認されます。

サポートが必要な場所

ツールキットに関するサポートが必要な場合は、にご参加ください "ネットアップの解決策自動化コミュニティでは、余裕期間のチャネルがサポートさ" また、ソリューション自動化チャネルを検索して、質問や問い合わせを投稿しましょう。