分步部署过程
本页介绍在NetApp ONTAP存储上部署 Oracle19c 的自动化方法。
AWX/Tower 部署 Oracle 19c 数据库
1.为您的环境创建清单、组、主机和凭证
本节介绍 AWX/Ansible Tower 中的库存、组、主机和访问凭据的设置,为使用NetApp自动化解决方案准备环境。
-
配置库存。
-
导航至资源 → 库存 → 添加,然后单击添加库存。
-
提供姓名和组织详细信息,然后单击“保存”。
-
在库存页面上,单击创建的库存。
-
如果有任何库存变量,请将其粘贴到变量字段中。
-
导航到“组”子菜单并单击“添加”。
-
提供ONTAP的组名称,粘贴组变量(如果有),然后单击“保存”。
-
对 Oracle 的另一个组重复此过程。
-
选择创建的ONTAP组,转到“主机”子菜单并单击“添加新主机”。
-
提供ONTAP集群管理 IP 的 IP 地址,粘贴主机变量(如果有),然后单击“保存”。
-
必须对 Oracle 组和 Oracle 主机管理 IP/主机名重复此过程。
-
-
创建凭证类型。对于涉及ONTAP的解决方案,您必须配置凭证类型以匹配用户名和密码条目。
-
导航到管理 → 凭证类型,然后单击添加。
-
提供名称和描述。
-
在输入配置中粘贴以下内容:
-
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
-
将以下内容粘贴到注入器配置中:
extra_vars:
password: '{{ password }}'
username: '{{ username }}'
vsadmin_password: '{{ vsadmin_password }}'
-
配置凭据。
-
导航到资源 → 凭证,然后单击添加。
-
输入ONTAP的名称和组织详细信息。
-
选择您为ONTAP创建的自定义凭据类型。
-
在类型详细信息下,输入用户名、密码和 vsadmin_password。
-
单击“返回凭据”,然后单击“添加”。
-
输入 Oracle 的名称和组织详细信息。
-
选择机器凭证类型。
-
在类型详细信息下,输入 Oracle 主机的用户名和密码。
-
选择正确的权限提升方法,并输入用户名和密码。
-
2.创建项目
-
转到资源 → 项目,然后单击添加。
-
输入姓名和组织详细信息。
-
在源代码控制凭证类型字段中选择 Git。
-
进入 `\https://github.com/NetApp-Automation/na_oracle19c_deploy.git`作为源代码控制 URL。
-
单击“Save”。
-
当源代码发生变化时,项目可能需要偶尔同步。
-
3.配置 Oracle host_vars
本节中定义的变量适用于每个单独的 Oracle 服务器和数据库。
-
在以下嵌入式 Oracle 主机变量或 host_vars 表单中输入特定于环境的参数。
|
必须更改蓝色项目以匹配您的环境。 |
主机 VARS 配置
######################################################################
############## 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"}
-
在蓝色字段中填写所有变量。
-
完成变量输入后,单击表单上的复制按钮,复制所有要传输到 AWX 或 Tower 的变量。
-
导航回 AWX 或 Tower,转到资源 → 主机,然后选择并打开 Oracle 服务器配置页面。
-
在“详细信息”选项卡下,单击“编辑”,然后将步骤 1 中复制的变量粘贴到 YAML 选项卡下的“变量”字段中。
-
单击“Save”。
-
对系统中的任何其他 Oracle 服务器重复此过程。
4.配置全局变量
本节中定义的变量适用于所有 Oracle 主机、数据库和ONTAP集群。
-
在以下嵌入式全局变量或 vars 形式中输入特定于环境的参数。
|
必须更改蓝色项目以匹配您的环境。 |
#######################################################################
###### 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"
-
在蓝色字段中填写所有变量。
-
完成变量输入后,点击表单上的复制按钮,将所有要传输到 AWX 或 Tower 的变量复制到以下作业模板中。
5.配置并启动作业模板。
-
创建作业模板。
-
导航到资源 → 模板 → 添加,然后单击添加作业模板。
-
输入名称和描述
-
选择作业类型;运行根据剧本配置系统,检查执行剧本的试运行而不实际配置系统。
-
为剧本选择相应的库存、项目、剧本和凭证。
-
选择 all_playbook.yml 作为要执行的默认剧本。
-
将从步骤 4 复制的全局变量粘贴到 YAML 选项卡下的模板变量字段中。
-
选中“作业标签”字段中的“启动时提示”复选框。
-
单击“Save”。
-
-
启动作业模板。
-
导航至资源 → 模板。
-
单击所需的模板,然后单击启动。
-
当启动时提示输入作业标签时,输入 requirements_config。您可能需要单击 requirements_config 下方的“创建作业标签”行来输入作业标签。
-
|
requirements_config 确保您拥有正确的库来运行其他角色。 |
-
单击“下一步”,然后单击“启动”以开始作业。
-
单击查看 → 作业来监控作业输出和进度。
-
当启动时提示输入作业标签时,输入 ontap_config。您可能需要单击 ontap_config 正下方的创建“作业标签”行来输入作业标签。
-
单击“下一步”,然后单击“启动”以开始作业。
-
点击查看 → 作业来监控作业输出和进度
-
ontap_config 角色完成后,再次为 linux_config 运行该过程。
-
导航至资源 → 模板。
-
选择所需的模板,然后单击启动。
-
当启动时提示在 linux_config 中输入作业标签类型时,您可能需要选择 linux_config 正下方的创建“作业标签”行来输入作业标签。
-
单击“下一步”,然后单击“启动”以开始作业。
-
选择查看 → 作业来监控作业输出和进度。
-
linux_config 角色完成后,再次为 oracle_config 运行该过程。
-
转到资源 → 模板。
-
选择所需的模板,然后单击启动。
-
当启动时提示输入作业标签时,请输入 oracle_config。您可能需要选择 oracle_config 正下方的创建“作业标签”行来输入作业标签。
-
单击“下一步”,然后单击“启动”以开始作业。
-
选择查看 → 作业来监控作业输出和进度。
6.在同一 Oracle 主机上部署附加数据库
剧本的 Oracle 部分每次执行都会在 Oracle 服务器上创建一个 Oracle 容器数据库。要在同一服务器上创建其他容器数据库,请完成以下步骤。
-
修改 host_vars 变量。
-
返回步骤 2 - 配置 Oracle host_vars。
-
将 Oracle SID 更改为不同的命名字符串。
-
将侦听器端口更改为不同的号码。
-
如果您正在安装 EM Express,请将 EM Express 端口更改为其他号码。
-
将修改后的主机变量复制并粘贴到“主机配置详细信息”选项卡中的“Oracle 主机变量”字段。
-
-
仅使用 oracle_config 标签启动部署作业模板。
-
以oracle用户登录Oracle服务器,执行以下命令:
ps -ef | grep ora
如果安装按预期完成并且 Oracle DB 已启动,这将列出 Oracle 进程 -
登录数据库,检查数据库配置设置和使用以下命令集创建的 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 运行正常。
-
使用以下命令通过监听器连接到数据库来检查 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 监听器正常工作。
去哪里寻求帮助?
如果您需要工具包方面的帮助,请加入"NetApp解决方案自动化社区支持 Slack 频道"并寻找解决方案自动化渠道来发布您的问题或询问。