OSインストールとネットワークの設定は手動
OSバージョン
[root@host01 ~]# uname -r
4.14.35-1818.3.3.el7uek.x86_64
[root@host01 ~]#
[root@host01 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.6
初期設定
全DBノードで実施
[root@host01 ~]# mkdir .ssh
Ansible実行ノードから全DBノードに実施
[root@ansible]# cat ~/.ssh/id_rsa.pub | ssh node1 'cat >> .ssh/authorized_keys'
root@node1's password:
[root@ansible]# cat ~/.ssh/id_rsa.pub | ssh node2 'cat >> .ssh/authorized_keys'
root@node2's password:
Ansible用のhostsファイルを作成
[root@ansible ~]# cd /etc/ansible/
[root@ansible ansible]# cat hosts
[oracle19cR3-servers]
host01 ansible_default_ipv4=192.168.1.1
host02 ansible_default_ipv4=192.168.1.2
[all:vars]
ansible_ssh_user=root
ansible_ssh_private_key_files=/root/.ssh/id_rsa
[root@ansible ansible]#
Ansibleからの接続確認
[root@ansible ansible]# ansible host01 -m ping -i hosts
host01 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[root@ansible ansible]#
[root@ansible ansible]# ansible oracle19cR3-servers -m ping -i hosts
host01 | SUCCESS => {
"changed": false,
"ping": "pong"
}
host02 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[root@ansible ansible]#
パッケージの追加とOS設定
playbookの作成
[root@ansible ansible]# cat 01_change_os_setting_19cR3.yml
- hosts: oracle19cR3-servers
tasks:
- name: create file for 1oracle.yum.repo
lineinfile: dest=/etc/yum.repos.d/oracle.repo create=yes insertafter=EOF line={{ item }}
with_items:
- '[ol7.6uek]'
- 'name=Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7'
- 'baseurl=file:///run/media/root/OL-7.6\ Server.x86_64/'
- 'enabled=1'
- 'gpgcheck=1'
- 'gpgkey=file:///run/media/root/OL-7.6\ Server.x86_64/RPM-GPG-KEY-oracle'
- name: change SELinux is disable
lineinfile: dest=/etc/selinux/config create=no insertafter=EOF line='SELINUX=disabled'
- name: stop firewall
shell: systemctl stop firewalld
- name: stop auto start a firewall
shell: systemctl disable firewalld
- name: install the latest version for compat-libcap1
yum: disablerepo=* enablerepo=ol7.6uek name=compat-libcap1.x86_64
- name: install the latest version for compat-libstdc++-33.i686
yum: disablerepo=* enablerepo=ol7.6uek name=compat-libstdc++-33.i686
- name: install the latest version for compat-libstdc++-33
yum: disablerepo=* enablerepo=ol7.6uek name=compat-libstdc++-33.x86_64
- name: install the latest version for dtrace-util
yum: disablerepo=* enablerepo=ol7.6uek name=dtrace-utils.x86_64
- name: install the latest version for elfutils-libelf-devel
yum: disablerepo=* enablerepo=ol7.6uek name=elfutils-libelf-devel.x86_64
- name: install the latest version for fontconfig-devel
yum: disablerepo=* enablerepo=ol7.6uek name=fontconfig-devel.x86_64
- name: install the latest version for glibc-devel
yum: disablerepo=* enablerepo=ol7.6uek name=glibc-devel.x86_64
- name: install the latest version for libaio-devel
yum: disablerepo=* enablerepo=ol7.6uek name=libaio-devel.x86_64
- name: install the latest version for libdtrace-ctf-devel
yum: disablerepo=* enablerepo=ol7.6uek name=libdtrace-ctf-devel.x86_64
- name: install the latest version for libXrender-devel
yum: disablerepo=* enablerepo=ol7.6uek name=libXrender-devel.x86_64
- name: install the latest version for ksh
yum: disablerepo=* enablerepo=ol7.6uek name=ksh.x86_64
- name: install the latest version for libstdc++-devel
yum: disablerepo=* enablerepo=ol7.6uek name=libstdc++-devel.x86_64
- name: copy preinstall file
copy:
src: /tmp/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
dest: /tmp/
- block:
- command: rpm -q oracle-database-preinstall-19c
changed_when: no
rescue:
- command: rpm -Uvh /tmp/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
- name: stop auto start a avahi-daemon
shell: systemctl disable avahi-daemon
- name: stop avahi-daemon
shell: systemctl stop avahi-daemon
- name: stop auto start a chronyd
shell: systemctl disable chronyd
- name: stop chronyd
shell: systemctl stop chronyd
[root@ansible ansible]#
playbookの実行
[root@ansible ansible]# ansible-playbook 01_change_os_setting_19cR3.yml
PLAY [oracle19cR3-servers] *******************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [host01]
ok: [host02]
TASK [create file for 1oracle.yum.repo] ******************************************************************************************
changed: [host02] => (item=[ol7.6uek])
changed: [host01] => (item=[ol7.6uek])
changed: [host02] => (item=name=Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7)
changed: [host01] => (item=name=Unbreakable Enterprise Kernel Release 6 for Oracle Linux 7)
changed: [host02] => (item=baseurl=file:///run/media/root/OL-7.6\ Server.x86_64/)
changed: [host01] => (item=baseurl=file:///run/media/root/OL-7.6\ Server.x86_64/)
changed: [host01] => (item=enabled=1)
changed: [host02] => (item=enabled=1)
changed: [host02] => (item=gpgcheck=1)
changed: [host01] => (item=gpgcheck=1)
changed: [host01] => (item=gpgkey=file:///run/media/root/OL-7.6\ Server.x86_64/RPM-GPG-KEY-oracle)
changed: [host02] => (item=gpgkey=file:///run/media/root/OL-7.6\ Server.x86_64/RPM-GPG-KEY-oracle)
TASK [change SELinux is disable] *************************************************************************************************
changed: [host02]
changed: [host01]
TASK [stop firewall] *************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [stop auto start a firewall] ************************************************************************************************
changed: [host01]
changed: [host02]
TASK [install the latest version for compat-libcap1] *****************************************************************************
changed: [host01]
changed: [host02]
TASK [install the latest version for compat-libstdc++-33.i686] *******************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for compat-libstdc++-33] ************************************************************************
changed: [host01]
changed: [host02]
TASK [install the latest version for dtrace-util] ********************************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for elfutils-libelf-devel] **********************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for fontconfig-devel] ***************************************************************************
changed: [host01]
changed: [host02]
TASK [install the latest version for glibc-devel] ********************************************************************************
ok: [host02]
ok: [host01]
TASK [install the latest version for libaio-devel] *******************************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for libdtrace-ctf-devel] ************************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for libXrender-devel] ***************************************************************************
changed: [host02]
changed: [host01]
TASK [install the latest version for ksh] ****************************************************************************************
changed: [host01]
changed: [host02]
TASK [install the latest version for libstdc++-devel] ****************************************************************************
changed: [host01]
changed: [host02]
TASK [copy preinstall file] ******************************************************************************************************
changed: [host02]
changed: [host01]
TASK [command] ****************************************************************************************************************************************
[WARNING]: Consider using yum, dnf or zypper module rather than running rpm
fatal: [host01]: FAILED! => {"changed": false, "cmd": ["rpm", "-q", "oracle-database-preinstall-19c"], "delta": "0:00:00.044922", "end": "2019-05-11 19:29:17.873810", "failed": true, "rc": 1, "start": "2019-05-11 19:29:17.828888", "stderr": "", "stderr_lines": [], "stdout": "パッケージ oracle-database-preinstall-19c はインストールされていません。", "stdout_lines": ["パッケージ oracle-database-preinstall-19c はインストールされていません。"]}
fatal: [host02]: FAILED! => {"changed": false, "cmd": ["rpm", "-q", "oracle-database-preinstall-19c"], "delta": "0:00:00.046970", "end": "2019-05-11 19:29:17.933092", "failed": true, "rc": 1, "start": "2019-05-11 19:29:17.886122", "stderr": "", "stderr_lines": [], "stdout": "パッケージ oracle-database-preinstall-19c はインストールされていません。", "stdout_lines": ["パッケージ oracle-database-preinstall-19c はインストールされていません。"]}
TASK [command] ****************************************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [stop auto start a avahi-daemon] *****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [stop avahi-daemon] ******************************************************************************************************************************
changed: [host02]
changed: [host01]
PLAY RECAP ********************************************************************************************************************************************
host01 : ok=21 changed=17 unreachable=0 failed=1
host02 : ok=21 changed=17 unreachable=0 failed=1
[root@ansible ansible]#
echoとかcatはdebug使わないとダメっぽい。。。
faild出ているけどパッケージはインストールされていたからOK
Oracle用 OS設定
OS設定
[root@ansible]# cat 02_change_oracle_params_19cR3.yml
- hosts: oracle19cR3-servers
tasks:
- name: backup for /etc/hosts
shell: cp -p /etc/hosts /etc/hosts.`date +%Y%m%d`
- name: create file for oracle.hosts
lineinfile:
dest=/etc/hosts
create=no
insertafter=EOF
line={{ item }}
with_items:
- '192.168.1.1 host01.oratest.jp host01'
- '192.168.1.2 host02.oratest.jp host02'
- '192.168.1.3 host01-vip.oratest.jp host01-vip'
- '192.168.1.4 host02-vip.oratest.jp host02-vip'
- ''
- '### DNS'
- '192.168.1.254 dns01.oratest.jp dns01'
- ''
- '### storage'
- '192.168.2.241 storage01.oratest.jp storage01'
- '192.168.2.242 storage02.oratest.jp storage02'
- '192.168.2.243 storage03.oratest.jp storage03'
- ''
- name: backup for grub.cfg
shell: cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg.`date +%Y%m%d%H%M%S`
- name: change for grub.cfg
shell: sed -i".`date +%Y%m%d%H%M%S`" -e "s/transparent_hugepage=never/transparent_hugepage=always/g" /etc/default/grub
- name: make grub2
shell: grub2-mkconfig -o /boot/grub2/grub.cfg
- name: backup for /etc/sysctl.conf
shell: cp -p /etc/sysctl.conf /etc/sysctl.conf.`date +%Y%m%d%H%M%S`
- sysctl:
name: net.ipv4.conf.ens256.rp_filter
value: 2
- sysctl:
name: net.ipv4.conf.ens224.rp_filter
value: 1
- sysctl:
name: net.ipv4.conf.ens192.rp_filter
value: 2
sysctl_set: yes
state: present
reload: yes
# - name: be sure ntpd is not running and disabled
# service: name=ntpd state=stopped enabled=no
- name: stat /etc/ntp.conf
stat: path=/etc/ntp.conf
register: result
- name: move file /etc/ntp.conf
shell: mv /etc/ntp.conf /etc/ntp.conf.`date +%Y%m%d%H%M%S`
when: result.stat.exists
- name: stat /var/run/ ntpid.pid
stat: path=/var/run/ntpd.pid
register: result
- name: remove file /var/run/ntpd.pid
shell: rm /var/run/ntpd.pid
when: result.stat.exists
- pam_limits:
domain: grid
limit_type: soft
limit_item: nproc
value: 2047
- pam_limits:
domain: grid
limit_type: hard
limit_item: nproc
value: 16384
- pam_limits:
domain: grid
limit_type: soft
limit_item: nofile
value: 1024
- pam_limits:
domain: grid
limit_type: hard
limit_item: nofile
value: 65536
- pam_limits:
domain: grid
limit_type: soft
limit_item: stack
value: 10240
- pam_limits:
domain: grid
limit_type: hard
limit_item: stack
value: 10240
- pam_limits:
domain: oracle
limit_type: soft
limit_item: nproc
value: 2047
- pam_limits:
domain: oracle
limit_type: hard
limit_item: nproc
value: 16384
- pam_limits:
domain: oracle
limit_type: soft
limit_item: nofile
value: 1024
- pam_limits:
domain: oracle
limit_type: hard
limit_item: nofile
value: 65536
- pam_limits:
domain: oracle
limit_type: soft
limit_item: stack
value: 10240
- pam_limits:
domain: oracle
limit_type: hard
limit_item: stack
value: 10240
[root@ansible]#
playbookの実行
[root@ansible]# ansible-playbook 02_change_oracle_params_19cR3.yml
PLAY [oracle19cR3-servers] *******************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [host02]
ok: [host01]
TASK [backup for /etc/hosts] *****************************************************************************************************
changed: [host02]
changed: [host01]
TASK [create file for oracle.hosts] **********************************************************************************************
changed: [host02] => (item=192.168.1.1 host01.oratest.jp host01)
changed: [host01] => (item=192.168.1.1 host01.oratest.jp host01)
changed: [host02] => (item=192.168.1.2 host02.oratest.jp host02)
changed: [host01] => (item=192.168.1.2 host02.oratest.jp host02)
changed: [host02] => (item=192.168.1.3 host01-vip.oratest.jp host01-vip)
changed: [host01] => (item=192.168.1.3 host01-vip.oratest.jp host01-vip)
changed: [host02] => (item=192.168.1.4 host02-vip.oratest.jp host02-vip)
changed: [host01] => (item=192.168.1.4 host02-vip.oratest.jp host02-vip)
changed: [host02] => (item=)
changed: [host01] => (item=)
changed: [host02] => (item=### DNS)
changed: [host01] => (item=### DNS)
changed: [host02] => (item=192.168.1.254 dns01.oratest.jp dns01)
changed: [host01] => (item=192.168.1.254 dns01.oratest.jp dns01)
ok: [host02] => (item=)
ok: [host01] => (item=)
changed: [host02] => (item=### storage)
changed: [host01] => (item=### storage)
changed: [host02] => (item=192.168.2.241 storage01.oratest.jp storage01)
changed: [host01] => (item=192.168.2.241 storage01.oratest.jp storage01)
changed: [host02] => (item=192.168.2.242 storage02.oratest.jp storage02)
changed: [host01] => (item=192.168.2.242 storage02.oratest.jp storage02)
changed: [host01] => (item=192.168.2.243 storage03.oratest.jp storage03)
changed: [host02] => (item=192.168.2.243 storage03.oratest.jp storage03)
ok: [host02] => (item=)
ok: [host01] => (item=)
TASK [backup for grub.cfg] *******************************************************************************************************
changed: [host02]
changed: [host01]
TASK [change for grub.cfg] *******************************************************************************************************
[WARNING]: Consider using template or lineinfile module rather than running sed
changed: [host01]
changed: [host02]
TASK [make grub2] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [backup for /etc/sysctl.conf] ***********************************************************************************************
changed: [host01]
changed: [host02]
TASK [sysctl] ********************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [sysctl] ********************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [sysctl] ********************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [stat /etc/ntp.conf] ********************************************************************************************************
ok: [host02]
ok: [host01]
TASK [move file /etc/ntp.conf] ***************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [stat /var/run/ ntpid.pid] **************************************************************************************************
ok: [host01]
ok: [host02]
TASK [remove file /var/run/ntpd.pid] *********************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [pam_limits] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [pam_limits] ****************************************************************************************************************
changed: [host01]
changed: [host02]
PLAY RECAP ***********************************************************************************************************************
host01 : ok=24 changed=21 unreachable=0 failed=0
host02 : ok=24 changed=21 unreachable=0 failed=0
[root@ansible]#
scanが DNSに登録されない時には、dnsmasqを再起動してみる
グループとユーザ作成
Oracleのグループとユーザ作成
[root@ansible]# cat 03_add_oracle_group_user_19cR3.yml
- hosts: oracle19cR3-servers
tasks:
- name: check group for oinstall
shell: grep oinstall /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for oinstall
shell: /usr/sbin/groupadd -g 54321 oinstall
changed_when: False
when: result|failed
- name: check group for dba
shell: grep dba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for dba
shell: /usr/sbin/groupadd -g 54322 dba
changed_when: False
when: result|failed
- name: check group for oper
shell: grep oper /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for oper
shell: /usr/sbin/groupadd -g 54323 oper
changed_when: False
when: result|failed
- name: check group for backupdba
shell: grep backupdba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for backupdba
shell: /usr/sbin/groupadd -g 54324 backupdba
changed_when: False
when: result|failed
- name: check group for dgdba
shell: grep dgdba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for dgdba
shell: /usr/sbin/groupadd -g 54325 dgdba
changed_when: False
when: result|failed
- name: check group for kmdba
shell: grep kmdba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for kmdba
shell: /usr/sbin/groupadd -g 54326 kmdba
changed_when: False
when: result|failed
- name: check group for asmadmin
shell: grep asmadmin /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for asmadmin
shell: /usr/sbin/groupadd -g 54329 asmadmin
changed_when: False
when: result|failed
- name: check group for asmdba
shell: grep asmdba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for asmdba
shell: /usr/sbin/groupadd -g 54327 asmdba
changed_when: False
when: result|failed
- name: check group for asmoper
shell: grep asmoper /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for asmoper
shell: /usr/sbin/groupadd -g 54328 asmoper
changed_when: False
when: result|failed
- name: check group for racdba
shell: grep racdba /etc/group
register: result
ignore_errors: True
changed_when: False
- name: add group for racdba
shell: /usr/sbin/groupadd -g 54330 racdba
changed_when: False
when: result|failed
- name: check user for grid
shell: id grid
register: result
ignore_errors: True
changed_when: False
- name: add user for grid
shell: /usr/sbin/useradd -u 54331 -g oinstall -G dba,asmadmin,asmdba,asmoper,racdba grid
changed_when: False
when: result|failed
- name: check user for oracle
shell: id oracle
register: result
ignore_errors: True
changed_when: False
- name: add user for oracle
shell: /usr/sbin/useradd -u 54321 -g oinstall -G dba,backupdba,dgdba,kmdba,asmdba,oper,racdba,asmdba oracle
changed_when: False
when: result|failed
- name: change password for grid
user:
name: "grid"
password: "{{ '***' | password_hash('sha512') }}"
- name: change password for oracle
user:
name: "oracle"
password: "{{ '***' | password_hash('sha512') }}"
- name: create directory for grid base
shell: mkdir -p /u01/app/grid
- name: create directory for oracle base
shell: mkdir -p /u01/app/oracle
- name: create directory for grid home
shell: mkdir -p /u01/app/19.3.0/grid
- name: change owner for grid
shell: chown -R grid:oinstall /u01
- name: change owner for oracle
shell: chown -R oracle:oinstall /u01/app/oracle
- name: change
shell: chmod -R 775 /u01/
- name: add bash_profile for grid
lineinfile: dest=/home/grid/.bash_profile line='{{ item.line }}'
with_items:
- line: " "
- line: "### for grid "
- line: "export LANG=ja_JP.UTF-8"
- line: "export NLS_LANG=japanese_Japan.AL32UTF8"
- name: add bash_profile for oracle
lineinfile: dest=/home/oracle/.bash_profile line='{{ item.line }}'
with_items:
- line: " "
- line: "### for oracle "
- line: "export LANG=ja_JP.UTF-8"
- line: "export NLS_LANG=japanese_Japan.AL32UTF8"
[root@ansible]#
Playbookの実行
[root@ansible]# ansible-playbook 03_add_oracle_group_user_19cR3.yml
PLAY [oracle19cR3-servers] *******************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [host01]
ok: [host02]
TASK [check group for oinstall] **************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add group for oinstall] ****************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for dba] *******************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add group for dba] *********************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for oper] ******************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add group for oper] ********************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for backupdba] *************************************************************************************************
ok: [host02]
ok: [host01]
TASK [add group for backupdba] ***************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for dgdba] *****************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add group for dgdba] *******************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for kmdba] *****************************************************************************************************
ok: [host02]
ok: [host01]
TASK [add group for kmdba] *******************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check group for asmadmin] **************************************************************************************************
fatal: [host02]: FAILED! => {"changed": false, "cmd": "grep asmadmin /etc/group", "delta": "0:00:00.003799", "end": "2019-05-05 16:33:03.116073", "failed": true, "rc": 1, "start": "2019-05-05 16:33:03.112274", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
fatal: [host01]: FAILED! => {"changed": false, "cmd": "grep asmadmin /etc/group", "delta": "0:00:00.005300", "end": "2019-05-05 16:33:03.303081", "failed": true, "rc": 1, "start": "2019-05-05 16:33:03.297781", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
TASK [add group for asmadmin] ****************************************************************************************************
ok: [host02]
ok: [host01]
TASK [check group for asmdba] ****************************************************************************************************
fatal: [host01]: FAILED! => {"changed": false, "cmd": "grep asmdba /etc/group", "delta": "0:00:00.004289", "end": "2019-05-05 16:33:03.817813", "failed": true, "rc": 1, "start": "2019-05-05 16:33:03.813524", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
fatal: [host02]: FAILED! => {"changed": false, "cmd": "grep asmdba /etc/group", "delta": "0:00:00.005689", "end": "2019-05-05 16:33:03.661576", "failed": true, "rc": 1, "start": "2019-05-05 16:33:03.655887", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
TASK [add group for asmdba] ******************************************************************************************************
ok: [host01]
ok: [host02]
TASK [check group for asmoper] ***************************************************************************************************
fatal: [host01]: FAILED! => {"changed": false, "cmd": "grep asmoper /etc/group", "delta": "0:00:00.003843", "end": "2019-05-05 16:33:04.409248", "failed": true, "rc": 1, "start": "2019-05-05 16:33:04.405405", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
fatal: [host02]: FAILED! => {"changed": false, "cmd": "grep asmoper /etc/group", "delta": "0:00:00.003943", "end": "2019-05-05 16:33:04.239124", "failed": true, "rc": 1, "start": "2019-05-05 16:33:04.235181", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
...ignoring
TASK [add group for asmoper] *****************************************************************************************************
ok: [host01]
ok: [host02]
TASK [check group for racdba] ****************************************************************************************************
ok: [host02]
ok: [host01]
TASK [add group for racdba] ******************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [check user for grid] *******************************************************************************************************
fatal: [host02]: FAILED! => {"changed": false, "cmd": "id grid", "delta": "0:00:00.004200", "end": "2019-05-05 16:33:05.085232", "failed": true, "rc": 1, "start": "2019-05-05 16:33:05.081032", "stderr": "id: grid: no such user", "stderr_lines": ["id: grid: no such user"], "stdout": "", "stdout_lines": []}
...ignoring
fatal: [host01]: FAILED! => {"changed": false, "cmd": "id grid", "delta": "0:00:00.004254", "end": "2019-05-05 16:33:05.267875", "failed": true, "rc": 1, "start": "2019-05-05 16:33:05.263621", "stderr": "id: grid: no such user", "stderr_lines": ["id: grid: no such user"], "stdout": "", "stdout_lines": []}
...ignoring
TASK [add user for grid] *********************************************************************************************************
ok: [host01]
ok: [host02]
TASK [check user for oracle] *****************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add user for oracle] *******************************************************************************************************
skipping: [host01]
skipping: [host02]
TASK [change password for grid] **************************************************************************************************
changed: [host02]
changed: [host01]
TASK [change password for oracle] ************************************************************************************************
changed: [host01]
changed: [host02]
TASK [create directory for grid base] ********************************************************************************************
[WARNING]: Consider using file module with state=directory rather than running mkdir
changed: [host02]
changed: [host01]
TASK [create directory for oracle base] ******************************************************************************************
changed: [host01]
changed: [host02]
TASK [create directory for grid home] ********************************************************************************************
changed: [host01]
changed: [host02]
TASK [change owner for grid] *****************************************************************************************************
[WARNING]: Consider using file module with owner rather than running chown
changed: [host01]
changed: [host02]
TASK [change owner for oracle] ***************************************************************************************************
changed: [host01]
changed: [host02]
TASK [change] ********************************************************************************************************************
[WARNING]: Consider using file module with mode rather than running chmod
changed: [host01]
changed: [host02]
TASK [add bash_profile for grid] *************************************************************************************************
changed: [host02] => (item={u'line': u' '})
changed: [host01] => (item={u'line': u' '})
changed: [host02] => (item={u'line': u'### for grid '})
changed: [host01] => (item={u'line': u'### for grid '})
changed: [host02] => (item={u'line': u'export LANG=ja_JP.UTF-8'})
changed: [host01] => (item={u'line': u'export LANG=ja_JP.UTF-8'})
changed: [host02] => (item={u'line': u'export NLS_LANG=japanese_Japan.AL32UTF8'})
changed: [host01] => (item={u'line': u'export NLS_LANG=japanese_Japan.AL32UTF8'})
TASK [add bash_profile for oracle] ***********************************************************************************************
changed: [host01] => (item={u'line': u' '})
changed: [host02] => (item={u'line': u' '})
changed: [host02] => (item={u'line': u'### for oracle '})
changed: [host01] => (item={u'line': u'### for oracle '})
changed: [host02] => (item={u'line': u'export LANG=ja_JP.UTF-8'})
changed: [host01] => (item={u'line': u'export LANG=ja_JP.UTF-8'})
changed: [host02] => (item={u'line': u'export NLS_LANG=japanese_Japan.AL32UTF8'})
changed: [host01] => (item={u'line': u'export NLS_LANG=japanese_Japan.AL32UTF8'})
host02PLAY RECAP ***********************************************************************************************************************
host01 : ok=27 changed=10 unreachable=0 failed=0
host02 : ok=27 changed=10 unreachable=0 failed=0
[root@ansible]#
ノンパス設定。。。うまくいかなかったので全DBノードで手動実施
[root@host01 ~]# sudo su - [oracle|grid]
[oracle@host01 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxx oracle@host01.oratest.jp
The key's randomart image is:
[oracle@host01 ~]$ cat ~/.ssh/id_rsa.pub >> .ssh/authorized_keys
[oracle@host01 ~]$ cat ~/.ssh/id_rsa.pub | ssh host02 'cat >> .ssh/authorized_keys'
The authenticity of host 'host02 (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxx
ECDSA key fingerprint is MD5:xxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host02,192.168.1.2' (ECDSA) to the list of known hosts.
oracle@host02's password:
Permission denied, please try again.
oracle@host02's password:
[oracle@host01 ~]$ ssh host01 hostname
The authenticity of host 'host01 (192.168.1.1)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxx
ECDSA key fingerprint is MD5:xxxxxxxxxxxxxxxxxxxxxxxxxx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host01,192.168.1.1' (ECDSA) to the list of known hosts.
host01.oratest.jp
[oracle@host01 ~]$ ssh host01 hostname
host01.oratest.jp
[oracle@host01 ~]$
[oracle@host01 ~]$ ssh host02 hostname
oradb19032.oratest.jp
[oracle@host01 ~]$
ストレージサーバの準備
いままでと変わらないので省略
ストレージの認識
ACFS, ADVMといったところは使わず、あいも変わらず udevを使用する
いまの私の知識ではこれが限界。。。とりあえず、これで手間を回避
Playbook作成
[root@ansible]# cat 04_change_iscsi_19cR3.yml
- hosts: oracle19cR3-servers
tasks:
- name: Configure iSCSI discovery authentication
lineinfile:
dest: /etc/iscsi/initiatorname.iscsi
regexp: '^InitiatorName='
line: 'InitiatorName=iqn.2019-05.oratest.jp:{{ ansible_ens192.ipv4.address }}'
- name: be sure iscsi is running and enabled
service: name=iscsi enabled=yes
- name: be sure iscsid is running and enabled
service: name=iscsid enabled=yes
- name: iscsi target
shell: iscsiadm -m discovery -t sendtargets -p 192.168.2.221
- name: iscsi login
shell: iscsiadm --mode node --targetname iqn.2017-08.oratest.jp:storage01.oratest.jp -p 192.168.2.221:3260,6 --login
- name: iscsi target
shell: iscsiadm -m discovery -t sendtargets -p 192.168.2.222
- name: iscsi login
shell: iscsiadm --mode node --targetname iqn.2017-08.oratest.jp:storage02.oratest.jp -p 192.168.2.222:3260,6 --login
- name: iscsi target
shell: iscsiadm -m discovery -t sendtargets -p 192.168.2.223
- name: iscsi login
shell: iscsiadm --mode node --targetname iqn.2017-08.oratest.jp:storage03.oratest.jp -p 192.168.2.223:3260,6 --login
- name: Configure UDEV Rules for Oracle
shell: lsscsi -i | awk '/19CR3/ { print "KERNEL==\"sd*\", ENV{DEVTYPE}==\"disk\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d $devnode\", RESULT==\"" $7 "\", RUN+=\"/bin/sh -c \047mknod /dev/" substr($1,2,6) "_" $4 " b $major $minor; chown grid:asmadmin /dev/" substr($1,2,6) "_" $4 "; chmod 0660 /dev/" substr($1,2,6) "_" $4 "\047\""}' > /etc/udev/rules.d/99-asm.rules
- name: Chenge UDEV Rules for Storage01
shell: sed -i -e "s/33:0:0/storage01/g" /etc/udev/rules.d/99-asm.rules
- name: Chenge UDEV Rules for Storage02
shell: sed -i -e "s/34:0:0/storage02/g" /etc/udev/rules.d/99-asm.rules
- name: Chenge UDEV Rules for Storage03
shell: sed -i -e "s/35:0:0/storage03/g" /etc/udev/rules.d/99-asm.rules
- name: Check for new device name
shell: /sbin/udevadm trigger --type=devices --action=change
- name: Reflection UDEV Rules for Oracle
shell: udevadm control --reload
[root@ansible]#
playbookの実行
[root@ansible]# ansible-playbook 04_change_iscsi_19cR3.yml
PLAY [oracle19cR3-servers] *******************************************************************************************************
TASK [Gathering Facts] ***********************************************************************************************************
ok: [host01]
ok: [host02]
TASK [Configure iSCSI discovery authentication] **********************************************************************************
ok: [host02]
ok: [host01]
TASK [be sure iscsi is running and enabled] **************************************************************************************
ok: [host01]
ok: [host02]
TASK [be sure iscsid is running and enabled] *************************************************************************************
ok: [host01]
ok: [host02]
TASK [iscsi target] **************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [iscsi login] ***************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [iscsi target] **************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [iscsi login] ***************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [iscsi target] **************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [iscsi login] ***************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [Configure UDEV Rules for Oracle] *******************************************************************************************
changed: [host02]
changed: [host01]
TASK [Reflection UDEV Rules for Oracle] ******************************************************************************************
changed: [host01]
changed: [host02]
TASK [Chenge UDEV Rules for Storage01] ****************************************************************************************************************
changed: [host01]
changed: [host02]
TASK [Chenge UDEV Rules for Storage02] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [Chenge UDEV Rules for Storage03] ****************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [Check for new device name] **********************************************************************************************************************
changed: [host02]
changed: [host01]
TASK [Reflection UDEV Rules for Oracle] ***************************************************************************************************************
changed: [host01]
changed: [host02]
PLAY RECAP ***********************************************************************************************************************
host01 : ok=12 changed=8 unreachable=0 failed=1
host02 : ok=12 changed=8 unreachable=0 failed=1
[root@ansible]#
Grid Infrastructureのインストール
1回目のTRYは失敗
fatal: [host01]: FAILED! => {"changed": true, "cmd": "su grid -c \"/u01/app/19.3.0/grid/gridSetup.sh -silent -responseFile /tmp/grid.rsp\"", "delta": "0:00:51.064427", "end": "2019-05-06 16:08:00.603742", "failed": true, "rc": 254, "start": "2019-05-06 16:07:09.539315", "stderr": "", "stderr_lines": [], "stdout": "Oracle Grid Infrastructure設定ウィザードを起動中...\n\n[FATAL] [INS-40980] インストーラにより、次のノードに別名が指定されていることが検出されました: \n [host02]。 \n \n これらのノードは無視され、構成されたGrid Infrastructureに参加しません。\n 原因: 別名のホスト名が指定されています。\nインストール・セッション・ログの移動先:\n /u01/app/oraInventory/logs/GridSetupActions2019-05-06_04-07-09PM", "stdout_lines": ["Oracle Grid Infrastructure設定ウィザードを起動中...", "", "[FATAL] [INS-40980] インストーラにより、次のノードに別名が指定されていることが検出されました: ", " [host02]。 ", " ", " これらのノードは無視され、構成されたGrid Infrastructureに参加しません。", " 原因: 別名のホスト名が指定されています。", "インストール・セッション・ログの移動先:", " /u01/app/oraInventory/logs/GridSetupActions2019-05-06_04-07-09PM"]}
// INS-40980 Error During Installation of Oracle Grid Infrastructure (ドキュメントID 2397695.1)
// を参考に、runcluvfyで悪いところを探す
[grid@host01 ~]$ /u01/app/19.3.0/grid/runcluvfy.sh stage -pre crsinst -n host01,host02 -verbose
ERROR:
PRVG-10467 : デフォルトのOracleインベントリ・グループを判別できませんでした。
物理メモリーの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 9.7498GB (1.022338E7KB) 8GB (8388608.0KB) 合格
host01 9.7498GB (1.0223372E7KB) 8GB (8388608.0KB) 合格
物理メモリーの検証中...合格
使用可能物理メモリーの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 8.2717GB (8673552.0KB) 50MB (51200.0KB) 合格
host01 8.0205GB (8410104.0KB) 50MB (51200.0KB) 合格
使用可能物理メモリーの検証中...合格
スワップ・サイズの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 4.9375GB (5177340.0KB) 9.7498GB (1.022338E7KB) 失敗
host01 4.9375GB (5177340.0KB) 9.7498GB (1.0223372E7KB) 失敗
スワップ・サイズの検証中...失敗 (PRVF-7573)
空き領域: host02:/usr,host02:/var,host02:/etc,host02:/sbin,host02:/tmpの検証中...
パス ノード名 マウント・ポイント 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ------------ ------------
/usr host02 / 48.3184GB 25MB 合格
/var host02 / 48.3184GB 5MB 合格
/etc host02 / 48.3184GB 25MB 合格
/sbin host02 / 48.3184GB 10MB 合格
/tmp host02 / 48.3184GB 1GB 合格
空き領域: host02:/usr,host02:/var,host02:/etc,host02:/sbin,host02:/tmpの検証中...合格
空き領域: host01:/usr,host01:/var,host01:/etc,host01:/sbin,host01:/tmpの検証中...
パス ノード名 マウント・ポイント 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ------------ ------------
/usr host01 / 42.0732GB 25MB 合格
/var host01 / 42.0732GB 5MB 合格
/etc host01 / 42.0732GB 25MB 合格
/sbin host01 / 42.0732GB 10MB 合格
/tmp host01 / 42.0732GB 1GB 合格
空き領域: host01:/usr,host01:/var,host01:/etc,host01:/sbin,host01:/tmpの検証中...合格
ユーザーの存在: gridの検証中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
host02 合格 存在します(54331)
host01 合格 存在します(54331)
UIDが同じユーザー: 54331の検証中...合格
ユーザーの存在: gridの検証中...合格
グループの存在: asmadminの検証中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
host02 合格 存在します
host01 合格 存在します
グループの存在: asmadminの検証中...合格
グループの存在: asmdbaの検証中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
host02 合格 存在します
host01 合格 存在します
グループの存在: asmdbaの検証中...合格
グループ・メンバーシップ: asmdbaの検証中...
ノード名 ユーザーが存在します グループが存在します グループ内のユーザー ステータス
---------------- ------------ ------------ ------------ ----------------
host02 はい はい はい 合格
host01 はい はい はい 合格
グループ・メンバーシップ: asmdbaの検証中...合格
グループ・メンバーシップ: asmadminの検証中...
ノード名 ユーザーが存在します グループが存在します グループ内のユーザー ステータス
---------------- ------------ ------------ ------------ ----------------
host02 はい はい はい 合格
host01 はい はい はい 合格
グループ・メンバーシップ: asmadminの検証中...合格
実行レベルの検証中...
ノード名 実行レベル 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 5 3,5 合格
host01 5 3,5 合格
実行レベルの検証中...合格
強い制限: 最大オープン・ファイル記述子数の検証中...
ノード名 タイプ 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 強い 65536 65536 合格
host01 強い 65536 65536 合格
強い制限: 最大オープン・ファイル記述子数の検証中...合格
弱い制限: 最大オープン・ファイル記述子数の検証中...
ノード名 タイプ 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 弱い 1024 1024 合格
host01 弱い 1024 1024 合格
弱い制限: 最大オープン・ファイル記述子数の検証中...合格
強い制限: 最大ユーザー・プロセスの検証中...
ノード名 タイプ 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 強い 16384 16384 合格
host01 強い 16384 16384 合格
強い制限: 最大ユーザー・プロセスの検証中...合格
弱い制限: 最大ユーザー・プロセスの検証中...
ノード名 タイプ 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 弱い 2047 2047 合格
host01 弱い 2047 2047 合格
弱い制限: 最大ユーザー・プロセスの検証中...合格
弱い制限: 最大スタック・サイズの検証中...
ノード名 タイプ 使用可能 必須 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 弱い 10240 10240 合格
host01 弱い 10240 10240 合格
弱い制限: 最大スタック・サイズの検証中...合格
アーキテクチャの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 x86_64 x86_64 合格
host01 x86_64 x86_64 合格
アーキテクチャの検証中...合格
OSカーネル・バージョンの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 4.14.35-1818.3.3.el7uek.x86_64 4.1.12 合格
host01 4.14.35-1818.3.3.el7uek.x86_64 4.1.12 合格
OSカーネル・バージョンの検証中...合格
OSカーネル・パラメータ: semmslの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 250 250 250 合格
host02 250 250 250 合格
OSカーネル・パラメータ: semmslの検証中...合格
OSカーネル・パラメータ: semmnsの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 32000 32000 32000 合格
host02 32000 32000 32000 合格
OSカーネル・パラメータ: semmnsの検証中...合格
OSカーネル・パラメータ: semopmの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 100 100 100 合格
host02 100 100 100 合格
OSカーネル・パラメータ: semopmの検証中...合格
OSカーネル・パラメータ: semmniの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 128 128 128 合格
host02 128 128 128 合格
OSカーネル・パラメータ: semmniの検証中...合格
OSカーネル・パラメータ: shmmaxの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 4398046511104 4398046511104 5234366464 合格
host02 4398046511104 4398046511104 5234370560 合格
OSカーネル・パラメータ: shmmaxの検証中...合格
OSカーネル・パラメータ: shmmniの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 4096 4096 4096 合格
host02 4096 4096 4096 合格
OSカーネル・パラメータ: shmmniの検証中...合格
OSカーネル・パラメータ: shmallの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 1073741824 1073741824 1073741824 合格
host02 1073741824 1073741824 1073741824 合格
OSカーネル・パラメータ: shmallの検証中...合格
OSカーネル・パラメータ: file-maxの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 6815744 6815744 6815744 合格
host02 6815744 6815744 6815744 合格
OSカーネル・パラメータ: file-maxの検証中...合格
OSカーネル・パラメータ: ip_local_port_rangeの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 合格
host02 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 合格
OSカーネル・パラメータ: ip_local_port_rangeの検証中...合格
OSカーネル・パラメータ: rmem_defaultの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 262144 262144 262144 合格
host02 262144 262144 262144 合格
OSカーネル・パラメータ: rmem_defaultの検証中...合格
OSカーネル・パラメータ: rmem_maxの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 4194304 4194304 4194304 合格
host02 4194304 4194304 4194304 合格
OSカーネル・パラメータ: rmem_maxの検証中...合格
OSカーネル・パラメータ: wmem_defaultの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 262144 262144 262144 合格
host02 262144 262144 262144 合格
OSカーネル・パラメータ: wmem_defaultの検証中...合格
OSカーネル・パラメータ: wmem_maxの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 1048576 1048576 1048576 合格
host02 1048576 1048576 1048576 合格
OSカーネル・パラメータ: wmem_maxの検証中...合格
OSカーネル・パラメータ: aio-max-nrの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 1048576 1048576 1048576 合格
host02 1048576 1048576 1048576 合格
OSカーネル・パラメータ: aio-max-nrの検証中...合格
OSカーネル・パラメータ: panic_on_oopsの検証中...
ノード名 現行 構成済 必須 ステータス コメント
---------------- ------------ ------------ ------------ ------------ ------------
host01 1 1 1 合格
host02 1 1 1 合格
OSカーネル・パラメータ: panic_on_oopsの検証中...合格
パッケージ: kmod-20-21 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 kmod(x86_64)-20-23.0.1.el7 kmod(x86_64)-20-21 合格
host01 kmod(x86_64)-20-23.0.1.el7 kmod(x86_64)-20-21 合格
パッケージ: kmod-20-21 (x86_64)の検証中...合格
パッケージ: kmod-libs-20-21 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 kmod-libs(x86_64)-20-23.0.1.el7 kmod-libs(x86_64)-20-21 合格
host01 kmod-libs(x86_64)-20-23.0.1.el7 kmod-libs(x86_64)-20-21 合格
パッケージ: kmod-libs-20-21 (x86_64)の検証中...合格
パッケージ: binutils-2.23.52.0.1の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 binutils-2.27-34.base.0.1.el7 binutils-2.23.52.0.1 合格
host01 binutils-2.27-34.base.0.1.el7 binutils-2.23.52.0.1 合格
パッケージ: binutils-2.23.52.0.1の検証中...合格
パッケージ: compat-libcap1-1.10の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 合格
host01 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 合格
パッケージ: compat-libcap1-1.10の検証中...合格
パッケージ: libgcc-4.8.2 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 libgcc(x86_64)-4.8.5-36.0.1.el7 libgcc(x86_64)-4.8.2 合格
host01 libgcc(x86_64)-4.8.5-36.0.1.el7 libgcc(x86_64)-4.8.2 合格
パッケージ: libgcc-4.8.2 (x86_64)の検証中...合格
パッケージ: libstdc++-4.8.2 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 libstdc++(x86_64)-4.8.5-36.0.1.el7 libstdc++(x86_64)-4.8.2 合格
host01 libstdc++(x86_64)-4.8.5-36.0.1.el7 libstdc++(x86_64)-4.8.2 合格
パッケージ: libstdc++-4.8.2 (x86_64)の検証中...合格
パッケージ: libstdc++-devel-4.8.2 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 libstdc++-devel(x86_64)-4.8.5-36.0.1.el7 libstdc++-devel(x86_64)-4.8.2 合格
host01 libstdc++-devel(x86_64)-4.8.5-36.0.1.el7 libstdc++-devel(x86_64)-4.8.2 合格
パッケージ: libstdc++-devel-4.8.2 (x86_64)の検証中...合格
パッケージ: sysstat-10.1.5の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 sysstat-10.1.5-17.el7 sysstat-10.1.5 合格
host01 sysstat-10.1.5-17.el7 sysstat-10.1.5 合格
パッケージ: sysstat-10.1.5の検証中...合格
パッケージ: kshの検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 ksh ksh 合格
host01 ksh ksh 合格
パッケージ: kshの検証中...合格
パッケージ: make-3.82の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 make-3.82-23.el7 make-3.82 合格
host01 make-3.82-23.el7 make-3.82 合格
パッケージ: make-3.82の検証中...合格
パッケージ: glibc-2.17 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 glibc(x86_64)-2.17-260.0.9.el7 glibc(x86_64)-2.17 合格
host01 glibc(x86_64)-2.17-260.0.9.el7 glibc(x86_64)-2.17 合格
パッケージ: glibc-2.17 (x86_64)の検証中...合格
パッケージ: glibc-devel-2.17 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 glibc-devel(x86_64)-2.17-260.0.9.el7 glibc-devel(x86_64)-2.17 合格
host01 glibc-devel(x86_64)-2.17-260.0.9.el7 glibc-devel(x86_64)-2.17 合格
パッケージ: glibc-devel-2.17 (x86_64)の検証中...合格
パッケージ: libaio-0.3.109 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 合格
host01 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 合格
パッケージ: libaio-0.3.109 (x86_64)の検証中...合格
パッケージ: libaio-devel-0.3.109 (x86_64)の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 合格
host01 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 合格
パッケージ: libaio-devel-0.3.109 (x86_64)の検証中...合格
パッケージ: nfs-utils-1.2.3-15の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 nfs-utils-1.3.0-0.61.0.1.el7 nfs-utils-1.2.3-15 合格
host01 nfs-utils-1.3.0-0.61.0.1.el7 nfs-utils-1.2.3-15 合格
パッケージ: nfs-utils-1.2.3-15の検証中...合格
パッケージ: smartmontools-6.2-4の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 smartmontools-6.5-1.el7 smartmontools-6.2-4 合格
host01 smartmontools-6.5-1.el7 smartmontools-6.2-4 合格
パッケージ: smartmontools-6.2-4の検証中...合格
パッケージ: net-tools-2.0-0.17の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 net-tools-2.0-0.24.20131004git.el7 net-tools-2.0-0.17 合格
host01 net-tools-2.0-0.24.20131004git.el7 net-tools-2.0-0.17 合格
パッケージ: net-tools-2.0-0.17の検証中...合格
コンポーネント"Oracle Notification Service (ONS)"のポート可用性の検証中...
ノード名 ポート番号 プロトコル 使用可能 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 6200 TCP はい 成功
host01 6200 TCP はい 成功
host02 6100 TCP はい 成功
host01 6100 TCP はい 成功
コンポーネント"Oracle Notification Service (ONS)"のポート可用性の検証中...合格
コンポーネント"Oracle Cluster Synchronization Services (CSSD)"のポート可用性の検証中...
ノード名 ポート番号 プロトコル 使用可能 ステータス
---------------- ------------ ------------ ------------ ----------------
host02 42424 TCP はい 成功
host01 42424 TCP はい 成功
コンポーネント"Oracle Cluster Synchronization Services (CSSD)"のポート可用性の検証中...合格
UIDが同じユーザー: 0の検証中...合格
現行のグループIDの検証中...合格
rootユーザーの一貫性の検証中...
ノード名 ステータス
------------------------------------ ------------------------
host02 合格
host01 合格
rootユーザーの一貫性の検証中...合格
パッケージ: cvuqdisk-1.0.10-1の検証中...
ノード名 使用可能 必須 ステータス
------------ ------------------------ ------------------------ ----------
host02 欠落 cvuqdisk-1.0.10-1 失敗
host01 欠落 cvuqdisk-1.0.10-1 失敗
パッケージ: cvuqdisk-1.0.10-1の検証中...失敗 (PRVG-11550) <<-- これ対応するの忘れてたjj
ホスト名の検証中...合格
ノード接続性の検証中...
ホスト・ファイルの検証中...
ノード名 ステータス
------------------------------------ ------------------------
host01 合格
host02 合格
ホスト・ファイルの検証中...合格
ノード"host01"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens192 192.168.2.1 192.168.2.0 0.0.0.0 192.168.1.1 00:0C:29:8E:D9:9B 1500
ens224 192.168.1.1 192.168.1.0 0.0.0.0 192.168.1.1 00:0C:29:8E:D9:A5 1500
ens256 192.168.3.1 192.168.3.0 0.0.0.0 192.168.1.1 00:0C:29:8E:D9:AF 1500
virbr0 192.168.122.1 192.168.122.0 0.0.0.0 192.168.1.1 52:54:00:0B:A8:9E 1500
ノード"host02"のインタフェース情報
名前 IPアドレス サブネット ゲートウェイ デフォルト・ゲートウェイ HWアドレス MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens192 192.168.2.2 192.168.2.0 0.0.0.0 192.168.1.0 00:0C:29:A9:37:F9 1500
ens224 192.168.1.2 192.168.1.0 0.0.0.0 192.168.1.0 00:0C:29:A9:37:03 1500
ens256 192.168.3.2 192.168.3.0 0.0.0.0 192.168.1.1 00:0C:29:A9:37:0D 1500
virbr0 192.168.122.1 192.168.122.0 0.0.0.0 192.168.1.1 52:54:00:3C:0A:90 1500
チェック: サブネット"192.168.3.0"のMTUの一貫性。
ノード 名前 IPアドレス サブネット MTU
---------------- ------------ ------------ ------------ ----------------
host01 ens256 192.168.3.1 192.168.3.0 1500
host02 ens256 192.168.3.2 192.168.3.0 1500
チェック: サブネット"192.168.2.0"のMTUの一貫性。
ノード 名前 IPアドレス サブネット MTU
---------------- ------------ ------------ ------------ ----------------
host01 ens192 192.168.2.1 192.168.2.0 1500
host02 ens192 192.168.2.2 192.168.2.0 1500
チェック: サブネット"192.168.1.0"のMTUの一貫性。
ノード 名前 IPアドレス サブネット MTU
---------------- ------------ ------------ ------------ ----------------
host01 ens224 192.168.1.1 192.168.1.0 1500
host02 ens224 192.168.1.2 192.168.1.0 1500
チェック: サブネット"192.168.122.0"のMTUの一貫性。
ノード 名前 IPアドレス サブネット MTU
---------------- ------------ ------------ ------------ ----------------
host01 virbr0 192.168.122.1 192.168.122.0 1500
host02 virbr0 192.168.122.1 192.168.122.0 1500
最大(MTU)サイズ・パケットがサブネットを通過することのチェックの検証中...合格
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
host01[ens256:192.168.3.1] host02[ens256:192.168.3.2] はい
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
host01[ens192:192.168.2.1] host02[ens192:192.168.2.2] はい
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
host01[ens224:192.168.1.1] host02[ens224:192.168.1.2] はい
ソース 宛先 接続しましたか
------------------------------ ------------------------------ ----------------
host01[virbr0:192.168.122.1] host02[virbr0:192.168.122.1] はい
サブネット"192.168.3.0"のサブネット・マスクの一貫性の検証中...合格
サブネット"192.168.2.0"のサブネット・マスクの一貫性の検証中...合格
サブネット"192.168.1.0"のサブネット・マスクの一貫性の検証中...合格
サブネット"192.168.122.0"のサブネット・マスクの一貫性の検証中...合格
ノード接続性の検証中...失敗 (PRVG-1172, PRVG-11067, PRVG-11095)
マルチキャストまたはブロードキャストのチェックの検証中...
マルチキャスト・グループ"224.0.0.251"でのマルチキャスト通信についてサブネット"192.168.3.0"をチェック中
マルチキャストまたはブロードキャストのチェックの検証中...合格
ネットワーク・タイム・プロトコル(NTP)の検証中...
'/etc/chrony.conf'の検証中...
ノード名 ファイルは存在しますか。
------------------------------------ ------------------------
host02 はい
host01 はい
'/etc/chrony.conf'の検証中...合格
'/var/run/chronyd.pid'の検証中...
ノード名 ファイルは存在しますか。
------------------------------------ ------------------------
host02 はい
host01 はい
'/var/run/chronyd.pid'の検証中...合格
デーモン'chronyd'の検証中...
ノード名 実行中ですか
------------------------------------ ------------------------
host02 はい
host01 はい
デーモン'chronyd'の検証中...合格
UDPポート123を使用しているNTPデーモンまたはサービスの検証中...
ノード名 ポートが開いていますか。
------------------------------------ ------------------------
host02 はい
host01 はい
UDPポート123を使用しているNTPデーモンまたはサービスの検証中...合格
chronyデーモンは、少なくとも1つの外部時間ソースと同期していますの検証中...失敗 (PRVG-13606)
ネットワーク・タイム・プロトコル(NTP)の検証中...失敗 (PRVG-13606)
同じコア・ファイル名パターンの検証中...合格
ユーザー・マスクの検証中...
ノード名 使用可能 必須 コメント
------------ ------------------------ ------------------------ ----------
host02 0022 0022 合格
host01 0022 0022 合格
ユーザー・マスクの検証中...合格
グループに含まれないユーザー "root": gridの検証中...
ノード名 ステータス コメント
------------ ------------------------ ------------------------
host02 合格 存在しません
host01 合格 存在しません
グループに含まれないユーザー "root": gridの検証中...合格
タイムゾーンの一貫性の検証中...合格
ノード間の時間オフセットの検証中...合格
resolv.confの整合性の検証中...
ノード名 ステータス
------------------------------------ ------------------------
host01 合格
host02 合格
"/etc/resolv.conf"に指定された各ネーム・サーバーからの名前"host02"のレスポンスをチェックしています
ノード名 ソース コメント ステータス
------------ ------------------------ ------------------------ ----------
host02 192.168.1.254 IPv4 合格
"/etc/resolv.conf"に指定された各ネーム・サーバーからの名前"host01"のレスポンスをチェックしています
ノード名 ソース コメント ステータス
------------ ------------------------ ------------------------ ----------
host01 192.168.1.254 IPv4 合格
resolv.confの整合性の検証中...合格
DNS/NISネーム・サービスの検証中...合格
ドメイン・ソケットの検証中...合格
/bootマウントの検証中...合格
デーモン"avahi-daemon"は構成されておらず、実行中ではありませんの検証中...
ノード名 構成済 ステータス
------------ ------------------------ ------------------------
host02 はい 失敗
host01 はい 失敗
ノード名 実行中ですか ステータス
------------ ------------------------ ------------------------
host02 はい 失敗
host01 はい 失敗
デーモン"avahi-daemon"は構成されておらず、実行中ではありませんの検証中...失敗 (PRVG-1359, PRVG-1360)
デーモン"proxyt"は構成されておらず、実行中ではありませんの検証中...
ノード名 構成済 ステータス
------------ ------------------------ ------------------------
host02 いいえ 合格
host01 いいえ 合格
ノード名 実行中ですか ステータス
------------ ------------------------ ------------------------
host02 いいえ 合格
host01 いいえ 合格
デーモン"proxyt"は構成されておらず、実行中ではありませんの検証中...合格
ユーザー等価の検証中...合格
RPM Package Managerデータベースの検証中...情報 (PRVG-11250)
/dev/shmは、一時ファイルシステムとしてマウントされていますの検証中...合格
パス/varに対するファイルシステムのマウント・オプションの検証中...合格
DefaultTasksMaxパラメータの検証中...合格
zeroconfチェックの検証中...合格
ASMフィルタ・ドライバ構成の検証中...合格
systemdログイン・マネージャIPCパラメータの検証中...合格
クラスタ・サービス設定の事前チェックはすべてのノードで失敗しました。
CVU検証リクエスト"stage -pre crsinst"の実行中に障害が発生しました。
スワップ・サイズの検証中...失敗
host02: PRVF-7573 : 十分なスワップ・サイズがノード"host02"にありません[必要 = "9.7498GB
(1.022338E7KB)" ; 検出 = "4.9375GB (5177340.0KB)"]
host01: PRVF-7573 : 十分なスワップ・サイズがノード"host01"にありません[必要 = "9.7498GB
(1.0223372E7KB)" ; 検出 = "4.9375GB (5177340.0KB)"]
パッケージ: cvuqdisk-1.0.10-1の検証中...失敗
host02: PRVG-11550 : パッケージ"cvuqdisk"がノード"host02"にありません
host01: PRVG-11550 : パッケージ"cvuqdisk"がノード"host01"にありません
ノード接続性の検証中...失敗
PRVG-1172 :
IPアドレス"192.168.122.1"は、ノード"host01,host02"の複数のインタフェース"virbr0"にあります
host01: PRVG-11067 : ノード"host01": "192.168.122.1"からノード"host01":
"192.168.122.1"へのTCP接続に失敗しました。
PRVG-11095 :
ノード"host01"でexectaskを実行中にTCPシステム・コール"connect"がエラー"111"で失敗しました
Connection refused
host01: PRVG-11067 : ノード"host01": "192.168.122.1"からノード"host02":
"192.168.122.1"へのTCP接続に失敗しました。
PRVG-11095 :
ノード"host01"でexectaskを実行中にTCPシステム・コール"connect"がエラー"111"で失敗しました
Connection refused
ネットワーク・タイム・プロトコル(NTP)の検証中...失敗
chronyデーモンは、少なくとも1つの外部時間ソースと同期していますの検証中...失敗
host02: PRVG-13606 : chronyデーモンは、ノード"host02"の外部時間ソースと同期していません。
host01: PRVG-13606 : chronyデーモンは、ノード"host01"の外部時間ソースと同期していません。
デーモン"avahi-daemon"は構成されておらず、実行中ではありませんの検証中...失敗
host02: PRVG-1359 : デーモン・プロセス"avahi-daemon"は、ノード"host02"に構成されています
host02: PRVG-1360 : デーモン・プロセス"avahi-daemon"は、ノード"host02"で実行中です
host01: PRVG-1359 : デーモン・プロセス"avahi-daemon"は、ノード"host01"に構成されています
host01: PRVG-1360 : デーモン・プロセス"avahi-daemon"は、ノード"host01"で実行中です
RPM Package Managerデータベースの検証中...情報
PRVG-11250 : 'root'ユーザー権限が必要であるため、チェック"RPM Package Managerデータベース"は実行されませんでした。
CVU操作が実行されました: stage -pre crsinst
日付: 2019/05/06 16:42:04
CVUホーム: /u01/app/19.3.0/grid/
ユーザー: grid
[grid@host01 ~]$
修正後
[root@ansible]# cat 05_install_grid_infrastructure_19cR3.yml
- hosts: host01
max_fail_percentage: 0
vars:
TMP_DIR: /tmp
HOST_NAME: host01
DOMAIN_NAME: oratest.jp
ORACLE_BASE: /u01/app/grid
ORACLE_HOME: /u01/app/19.3.0/grid
NODE1_NAME: host01
NODE2_NAME: host02
CLUSTER_NAME: cluster193
# (1 indicates public, 2 indicates private, 3 indicates the interface is not used, 4 indicates asm and 5 indicates asm & private)
NETWOK_INTERFACE_LIST: ens192:192.168.2.0:4,ens256:192.168.3.0:2,ens224:192.168.1.0:1,virbr0:192.168.122.0:3
FAILURE_GROUP_NAMES: /dev/storage01_19CR3_OCR01,storage01,/dev/storage02_19CR3_OCR01,storage02,/dev/storage03_19CR3_OCR01,storage03
ASM_DISKGROUPS: /dev/storage01_19CR3_OCR01,/dev/storage02_19CR3_OCR01,/dev/storage03_19CR3_OCR01
GIMR_FAILURE_GROUP_NAMES: /dev/storage01_19CR3_MGMT01,storage01,/dev/storage02_19CR3_MGMT01,storage02,/dev/storage03_19CR3_MGMT01,storage03
GIMR_ASM_DISKGROUPS: /dev/storage01_19CR3_MGMT01,/dev/storage02_19CR3_MGMT01,/dev/storage03_19CR3_MGMT01
ASM_DISKSTRING: /dev/storage*
tasks:
- name: copy and unzip file
unarchive: src=/tmp/LINUX.X64_193000_grid_home.zip dest={{ ORACLE_HOME }}
- name: change dir / files permission
file: path={{ ORACLE_HOME }} owner=grid group=oinstall mode=0755 recurse=yes state=directory
- block:
- command: rpm -q cvuqdisk
changed_when: no
rescue:
- command: rpm -Uvh /{{ ORACLE_HOME }}/cv/rpm/cvuqdisk-1.0.10-1.rpm
- name: file copy to node2
shell: "scp {{ ORACLE_HOME }}/cv/rpm/cvuqdisk-1.0.10-1.rpm root@host02:/tmp"
- name: rpm to node2
shell: ssh host02 "rpm -Uvh /tmp/cvuqdisk-1.0.10-1.rpm"
- name: remove response file
shell: rm -f {{ TMP_DIR }}/grid.rsp
- name: copy response file
shell: cp {{ ORACLE_HOME }}/install/response/gridsetup.rsp {{ TMP_DIR }}/grid.rsp
- name: chenge owner for response file
shell: chown grid:oinstall {{ TMP_DIR }}/grid.rsp
- name: change response file for ORACLE_HOSTNAME
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^ORACLE_HOSTNAME=' replace='ORACLE_HOSTNAME={{ HOST_NAME }}.{{ DOMAIN_NAME }}'
- name: change response file for INVENTORY_LOCATION
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^INVENTORY_LOCATION=' replace='INVENTORY_LOCATION=/u01/app/oraInventory'
- name: change response file for SELECTED_LANGUAGES
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^SELECTED_LANGUAGES=en' replace='SELECTED_LANGUAGES=en,ja'
- name: change response file for oracle.install.option
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.option=' replace='oracle.install.option=CRS_CONFIG'
- name: change response file for ORACLE_BASE
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^ORACLE_BASE=' replace='ORACLE_BASE={{ ORACLE_BASE }}'
- name: change response file for ORACLE_HOME
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^ORACLE_HOME=' replace='ORACLE_HOME={{ ORACLE_HOME }}'
- name: change response file for oracle.install.asm.OSDBA
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.OSDBA=' replace='oracle.install.asm.OSDBA=asmdba'
- name: change response file for oracle.install.asm.OSOPER
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.OSOPER=' replace='oracle.install.asm.OSOPER=asmoper'
- name: change response file for oracle.install.asm.OSASM
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.OSASM=' replace='oracle.install.asm.OSASM=asmadmin'
- name: change response file for oracle.install.crs.config.scanType
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.scanType=' replace='oracle.install.crs.config.scanType=LOCAL_SCAN'
- name: change response file for SCAN
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.gpnp.scanName=' replace='oracle.install.crs.config.gpnp.scanName={{ CLUSTER_NAME }}-scan.{{ DOMAIN_NAME }}'
- name: change response file for SCAN service
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.gpnp.scanPort=' replace='oracle.install.crs.config.gpnp.scanPort=50000'
################################################################################
# SECTION D - CLUSTER & GNS #
################################################################################
- name: change response file for oracle.install.crs.config.ClusterConfiguration
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.ClusterConfiguration=' replace='oracle.install.crs.config.ClusterConfiguration=STANDALONE'
- name: change response file for oracle.install.crs.config.configureAsExtendedCluster
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.configureAsExtendedCluster=' replace='oracle.install.crs.config.configureAsExtendedCluster=false'
- name: change response file for the Cluster you are creating
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.clusterName=' replace='oracle.install.crs.config.clusterName={{ CLUSTER_NAME }}'
- name: change response file for Grid Naming Service(GNS)
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.gpnp.configureGNS=' replace='oracle.install.crs.config.gpnp.configureGNS=false'
- name: change response file for oracle.install.crs.config.autoConfigureClusterNodeVIP
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.autoConfigureClusterNodeVIP=' replace='oracle.install.crs.config.autoConfigureClusterNodeVIP=false'
- name: change response file for public node names, and virtual hostnames
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.clusterNodes=' replace='oracle.install.crs.config.clusterNodes={{ NODE1_NAME }}.{{ DOMAIN_NAME }}:{{ NODE1_NAME }}-vip.{{ DOMAIN_NAME }},{{ NODE2_NAME }}.{{ DOMAIN_NAME }}:{{ NODE2_NAME }}-vip.{{ DOMAIN_NAME }}'
- name: change response file for oracle.install.crs.config.networkInterfaceList
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.networkInterfaceList=' replace='oracle.install.crs.config.networkInterfaceList={{ NETWOK_INTERFACE_LIST }}'
- name: change response file for oracle.install.crs.configureGIMR
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.configureGIMR=' replace='oracle.install.crs.configureGIMR=true'
- name: change response file for oracle.install.asm.configureGIMRDataDG
replace: dest={{ TMP_DIR }}/grid.rsp regexp='oracle.install.asm.configureGIMRDataDG=' replace='oracle.install.asm.configureGIMRDataDG=true'
################################################################################
# SECTION E - STORAGE #
################################################################################
- name: change response file for Oracle Cluster Registry(OCR) and Voting Disks files
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.storageOption=' replace='oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE'
################################################################################
# SECTION F - IPMI #
################################################################################
- name: change response file for IMPI
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.useIPMI=' replace='oracle.install.crs.config.useIPMI=false'
################################################################################
# SECTION G - ASM #
################################################################################
- name: change responce file for for SYSASM user of the ASM instance
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.SYSASMPassword=' replace='oracle.install.asm.SYSASMPassword=Welcome1'
- name: change response file for ASM DiskGroup
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.name=' replace='oracle.install.asm.diskGroup.name=OCR'
- name: change response file for Redundancy level to be used by ASM
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.redundancy=' replace='oracle.install.asm.diskGroup.redundancy=NORMAL'
- name: change response file for Allocation unit size to be used by ASM
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.AUSize=' replace='oracle.install.asm.diskGroup.AUSize=1'
- name: change response file for oracle.install.asm.diskGroup.disksWithFailureGroupNames
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.disksWithFailureGroupNames=' replace='oracle.install.asm.diskGroup.disksWithFailureGroupNames={{ FAILURE_GROUP_NAMES }}'
- name: change response file for List of disks to create a ASM DiskGroup
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.disks=' replace='oracle.install.asm.diskGroup.disks={{ ASM_DISKGROUPS }}'
- name: change response file for The disk discovery string
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.diskGroup.diskDiscoveryString=' replace='oracle.install.asm.diskGroup.diskDiscoveryString={{ ASM_DISKSTRING }}'
- name: change response file for oracle.install.asm.monitorPassword
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.monitorPassword=' replace='oracle.install.asm.monitorPassword=Welcome1'
- name: change response file for oracle.install.asm.gimrDG.name
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.gimrDG.name=' replace='oracle.install.asm.gimrDG.name=MGMT01'
- name: change response file for oracle.install.asm.gimrDG.redundancy
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.gimrDG.redundancy=' replace='oracle.install.asm.gimrDG.redundancy=NORMAL'
- name: change response file for oracle.install.asm.gimrDG.AUSize
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.gimrDG.AUSize=' replace='oracle.install.asm.gimrDG.AUSize=1'
- name: change response file for oracle.install.asm.gimrDG.disksWithFailureGroupNames
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.gimrDG.disksWithFailureGroupNames=' replace='oracle.install.asm.gimrDG.disksWithFailureGroupNames={{ GIMR_FAILURE_GROUP_NAMES }}'
- name: change response file for oracle.install.asm.gimrDG.disks
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.gimrDG.disks=' replace='oracle.install.asm.gimrDG.disks={{ GIMR_ASM_DISKGROUPS }}'
- name: change response file for oracle.install.asm.configureAFD
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.asm.configureAFD=' replace='oracle.install.asm.configureAFD=false'
- name: change response file for oracle.install.crs.configureRHPS
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.configureRHPS=' replace='oracle.install.crs.configureRHPS=false'
################################################################################
# SECTION H - UPGRADE #
################################################################################
- name: change response file for the auto-updates option
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.config.ignoreDownNodes=' replace='oracle.install.crs.config.ignoreDownNodes=false'
################################################################################
# MANAGEMENT OPTIONS #
################################################################################
- name: change response file for the management option
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.config.managementOption=' replace='oracle.install.config.managementOption=NONE'
- name: change response file for the oracle.install.config.omsPort
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.config.omsPort=' replace='oracle.install.config.omsPort=0'
################################################################################
# Root script execution configuration #
################################################################################
- name: change response file for oracle.install.crs.rootconfig.executeRootScript
replace: dest={{ TMP_DIR }}/grid.rsp regexp='^oracle.install.crs.rootconfig.executeRootScript=false'
- name: execute grid installation
shell: su grid -c "{{ ORACLE_HOME }}/gridSetup.sh -silent -responseFile {{ TMP_DIR }}/grid.rsp -ignorePrereqFailure -waitForCompletion"
[root@ansible]#
実行はWARNINGで中断となるけど、成功している。。。動き側変わったんだな
[root@ansible]# ansible-playbook 05_install_grid_infrastructure_19cR3.yml
PLAY [host01] *************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************
ok: [host01]
TASK [change dir / files permission] ******************************************************************************************************************
changed: [host01]
TASK [command] ****************************************************************************************************************************************
[WARNING]: Consider using yum, dnf or zypper module rather than running rpm
ok: [host01]
TASK [stop auto start a avahi-daemon] *****************************************************************************************************************
changed: [host01]
TASK [stop avahi-daemon] ******************************************************************************************************************************
changed: [host01]
TASK [remove response file] ***************************************************************************************************************************
[WARNING]: Consider using file module with state=absent rather than running rm
changed: [host01]
TASK [copy response file] *****************************************************************************************************************************
changed: [host01]
TASK [chenge owner for response file] *****************************************************************************************************************
[WARNING]: Consider using file module with owner rather than running chown
changed: [host01]
TASK [change response file for ORACLE_HOSTNAME] *******************************************************************************************************
ok: [host01]
TASK [change response file for INVENTORY_LOCATION] ****************************************************************************************************
changed: [host01]
TASK [change response file for SELECTED_LANGUAGES] ****************************************************************************************************
ok: [host01]
TASK [change response file for oracle.install.option] *************************************************************************************************
changed: [host01]
TASK [change response file for ORACLE_BASE] ***********************************************************************************************************
changed: [host01]
TASK [change response file for ORACLE_HOME] ***********************************************************************************************************
ok: [host01]
TASK [change response file for oracle.install.asm.OSDBA] **********************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.OSOPER] *********************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.OSASM] **********************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.config.scanType] ************************************************************************************
changed: [host01]
TASK [change response file for SCAN] ******************************************************************************************************************
changed: [host01]
TASK [change response file for SCAN service] **********************************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.config.ClusterConfiguration] ************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.config.configureAsExtendedCluster] ******************************************************************
changed: [host01]
TASK [change response file for the Cluster you are creating] ******************************************************************************************
changed: [host01]
TASK [change response file for Grid Naming Service(GNS)] **********************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.config.autoConfigureClusterNodeVIP] *****************************************************************
changed: [host01]
TASK [change response file for public node names, and virtual hostnames] ******************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.config.networkInterfaceList] ************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.configureGIMR] **************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.configureGIMRDataDG] ********************************************************************************
changed: [host01]
TASK [change response file for Oracle Cluster Registry(OCR) and Voting Disks files] *******************************************************************
changed: [host01]
TASK [change response file for IMPI] ******************************************************************************************************************
changed: [host01]
TASK [change responce file for for SYSASM user of the ASM instance] ***********************************************************************************
changed: [host01]
TASK [change response file for ASM DiskGroup] *********************************************************************************************************
changed: [host01]
TASK [change response file for Redundancy level to be used by ASM] ************************************************************************************
changed: [host01]
TASK [change response file for Allocation unit size to be used by ASM] ********************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.diskGroup.disksWithFailureGroupNames] ***************************************************************
changed: [host01]
TASK [change response file for List of disks to create a ASM DiskGroup] *******************************************************************************
changed: [host01]
TASK [change response file for The disk discovery string] *********************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.monitorPassword] ************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.gimrDG.name] ****************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.gimrDG.redundancy] **********************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.gimrDG.AUSize] **************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.gimrDG.disksWithFailureGroupNames] ******************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.gimrDG.disks] ***************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.asm.configureAFD] ***************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.configureRHPS] **************************************************************************************
changed: [host01]
TASK [change response file for the auto-updates option] ***********************************************************************************************
changed: [host01]
TASK [change response file for the management option] *************************************************************************************************
changed: [host01]
TASK [change response file for the oracle.install.config.omsPort] *************************************************************************************
changed: [host01]
TASK [change response file for oracle.install.crs.rootconfig.executeRootScript] ***********************************************************************
ok: [host01]
TASK [execute grid installation] **********************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running su
fatal: [host01]: FAILED! => {"changed": true, "cmd": "su grid -c \"/u01/app/19.3.0/grid/gridSetup.sh -silent -responseFile /tmp/grid.rsp -ignorePrereqFailure -waitForCompletion\"", "delta": "0:05:37.542290", "end": "2019-05-11 20:59:03.040958", "failed": true, "rc": 6, "start": "2019-05-11 20:53:25.498668", "stderr": "", "stderr_lines": [], "stdout": "Oracle Grid Infrastructure設定ウィザードを起動中...\n\n[WARNING] [INS-13013] ターゲット環境は、いくつかの必須要件を満たしていません。\n 原因: 一部の必須前提条件が満たされていません。詳細はログを参照してください。/tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log\n アクション: ログから失敗した前提条件チェックのリストを確認します: /tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log。次に、ログ・ファイルまたはインストレーション・マニュアルのいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。\nこのセッションのレスポンス・ファイルは次の場所にあります:\n /u01/app/19.3.0/grid/install/response/grid_2019-05-11_08-53-25PM.rsp\n\nこのインストール・セッションのログは次の場所にあります:\n /tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log\n\nrootユーザーとして次のスクリプトを実行します:\n\t1. /u01/app/oraInventory/orainstRoot.sh\n\t2. /u01/app/19.3.0/grid/root.sh\n\n次のノードで/u01/app/oraInventory/orainstRoot.shを実行してください: \n[host01, host02]\n次のノードで/u01/app/19.3.0/grid/root.shを実行してください: \n[host01, host02]\n\nまず、ローカル・ノードでスクリプトを実行してください。正常に完了したら、その他すべてのノードで、スクリプトを並行して開始できます。\n\n\nSuccessfully Setup Software with warning(s).\nインストール・ユーザーとして、次のコマンドを実行して構成を完了します。\n\t/u01/app/19.3.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/grid.rsp [-silent]\n\n\nインストール・セッション・ログの移動先:\n /u01/app/oraInventory/logs/GridSetupActions2019-05-11_08-53-25PM", "stdout_lines": ["Oracle Grid Infrastructure設定ウィザードを起動中...", "", "[WARNING] [INS-13013] ターゲット環境は、いくつかの必須要件を満たしていません。", " 原因: 一部の必須前提条件が満たされていません。詳細はログを参照してください。/tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log", " アクション: ログから失敗した前提条件チェックのリストを確認します: /tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log。次に、ログ・ファイルまたはインストレーション・マニュアルのいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。", "このセッションのレスポンス・ファイルは次の場所にあります:", " /u01/app/19.3.0/grid/install/response/grid_2019-05-11_08-53-25PM.rsp", "", "このインストール・セッションのログは次の場所にあります:", " /tmp/GridSetupActions2019-05-11_08-53-25PM/gridSetupActions2019-05-11_08-53-25PM.log", "", "rootユーザーとして次のスクリプトを実行します:", "\t1. /u01/app/oraInventory/orainstRoot.sh", "\t2. /u01/app/19.3.0/grid/root.sh", "", "次のノードで/u01/app/oraInventory/orainstRoot.shを実行してください: ", "[host01, host02]", "次のノードで/u01/app/19.3.0/grid/root.shを実行してください: ", "[host01, host02]", "", "まず、ローカル・ノードでスクリプトを実行してください。正常に完了したら、その他すべてのノードで、スクリプトを並行して開始できます。", "", "", "Successfully Setup Software with warning(s).", "インストール・ユーザーとして、次のコマンドを実行して構成を完了します。", "\t/u01/app/19.3.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/grid.rsp [-silent]", "", "", "インストール・セッション・ログの移動先:", " /u01/app/oraInventory/logs/GridSetupActions2019-05-11_08-53-25PM"]}
NO MORE HOSTS LEFT ************************************************************************************************************************************
NO MORE HOSTS LEFT ************************************************************************************************************************************
to retry, use: --limit @/etc/ansible/05_install_grid_infrastructure_19cR3.retry
PLAY RECAP ********************************************************************************************************************************************
host01 : ok=48 changed=43 unreachable=0 failed=1
[root@ansible]#
node1
[root@host01 ~]# /u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。
グループ名の変更 /u01/app/oraInventory 宛先 oinstall.
スクリプトの実行が完了しました。
[root@host01 ~]# /u01/app/19.3.0/grid/root.sh
Check /u01/app/19.3.0/grid/install/root_host01.oratest.jp_2019-05-11_21-03-11-530653564.log for the output of root script
[root@host01 ~]# tail /u01/app/19.3.0/grid/install/root_host01.oratest.jp_2019-05-11_21-03-11-530653564.log
3の投票ディスクを検出しました。
2019/05/11 21:07:27 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2019/05/11 21:08:33 CLSRSC-343: Successfully started Oracle Clusterware stack
2019/05/11 21:08:33 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2019/05/11 21:09:52 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
[INFO] [DBT-30001] ディスク・グループは正常に作成されました。詳細は、/u01/app/grid/cfgtoollogs/asmca/asmca-190511午後090956.logを参照してください。
2019/05/11 21:10:35 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded[root@host01 ~]# /u01/app/19.3.0/grid/bin/crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@host01 ~]#
node2
[root@host02 ~]# /u01/app/oraInventory/orainstRoot.sh
権限を変更中 /u01/app/oraInventory.
グループの読取り/書込み権限を追加中。
全ユーザーの読取り/書込み/実行権限を削除中。
グループ名の変更 /u01/app/oraInventory 宛先 oinstall.
スクリプトの実行が完了しました。
[root@host02 ~]# /u01/app/19.3.0/grid/root.sh
Check /u01/app/19.3.0/grid/install/root_host02.oratest.jp_2019-05-11_21-11-55-943926069.log for the output of root script
[root@host02 ~]# tail /u01/app/19.3.0/grid/install/root_host02.oratest.jp_2019-05-11_21-11-55-943926069.log
2019/05/11 21:12:34 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2019/05/11 21:12:50 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2019/05/11 21:12:51 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2019/05/11 21:12:52 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2019/05/11 21:12:53 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2019/05/11 21:13:01 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2019/05/11 21:13:50 CLSRSC-343: Successfully started Oracle Clusterware stack
2019/05/11 21:13:50 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2019/05/11 21:14:02 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2019/05/11 21:14:06 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[root@host02 ~]#
[root@host02 ~]# /u01/app/19.3.0/grid/bin/crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@host02 ~]#
事後処理
[grid@host01 ~]$ /u01/app/19.3.0/grid/gridSetup.sh -executeConfigTools -responseFile /tmp/grid.rsp -silent -all
Oracle Grid Infrastructure設定ウィザードを起動中...
このセッションのログは次の場所にあります:
/u01/app/oraInventory/logs/GridSetupActions2019-05-12_00-02-45AM
このインストール・セッションのログは次の場所にあります:
/u01/app/oraInventory/logs/UpdateNodeList2019-05-12_00-02-45AM.log
Configuration failed.
[WARNING] [INS-43080] 一部のコンフィギュレーション・アシスタントが失敗したか取り消された、またはスキップされました。
アクション: ログを参照するか、Oracleサポート・サービスに連絡してください。
[grid@host01 ~]$ ps -ef | grep pmon
grid 9959 790 0 01:37 pts/1 00:00:00 grep --color=auto pmon
grid 17645 1 0 5月11 ? 00:00:00 asm_pmon_+ASM1
grid 28499 1 0 00:23 ? 00:00:00 mdb_pmon_-MGMTDB
[grid@host01 ~]$
Warningだけど、MGMTDB作成できているし、起動もログインもできるからよしとしよう
gridの環境変数を設定
[root@ansible]# cat 06_after_other_node_19cR3.yml
- hosts: oracle19cR3-servers
vars:
ORACLE_BASE: /u01/app/grid
ORACLE_HOME: /u01/app/19.3.0/grid
tasks:
- name: add bash_profile for grid
lineinfile: dest=/home/grid/.bash_profile line='{{ item.line }}'
with_items:
- line: "export ORACLE_BASE={{ ORACLE_BASE }}"
- line: "export ORACLE_HOME={{ ORACLE_HOME }}"
- line: "export PATH=$ORACLE_HOME/bin:$PATH"
[root@ansible]#
[root@ansible]# ansible-playbook 06_after_other_node_19cR3.yml
PLAY [oracle19cR3-servers] ****************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************
ok: [host01]
ok: [host02]
TASK [add bash_profile for grid] **********************************************************************************************************************
changed: [host02] => (item={u'line': u'export ORACLE_BASE=/u01/app/grid'})
changed: [host01] => (item={u'line': u'export ORACLE_BASE=/u01/app/grid'})
changed: [host02] => (item={u'line': u'export ORACLE_HOME=/u01/app/19.3.0/grid'})
changed: [host01] => (item={u'line': u'export ORACLE_HOME=/u01/app/19.3.0/grid'})
changed: [host02] => (item={u'line': u'export PATH=$ORACLE_HOME/bin:$PATH'})
changed: [host01] => (item={u'line': u'export PATH=$ORACLE_HOME/bin:$PATH'})
PLAY RECAP ********************************************************************************************************************************************
host01 : ok=2 changed=1 unreachable=0 failed=0
host02 : ok=2 changed=1 unreachable=0 failed=0
[root@ansible]#
ASM DiskGroup Configurationを実施
[root@ansible]# cat 07_after_configuration_19cR3.yml
- hosts: host01
vars:
ORACLE_HOME: /u01/app/19.3.0/grid
NETCA_DIR: /assistants/netca
DATA_DISKGROUP01: /dev/storage01_19CR3_DATA01
DATA_DISKGROUP02: /dev/storage02_19CR3_DATA01
DATA_DISKGROUP03: /dev/storage03_19CR3_DATA01
ASM_COMPATIBLE: 19.0.0.0.0
RDBMS_COMPATIBLE: 19.0.0.0.0
tasks:
- name: make file for oraInst.loc
lineinfile: dest=/etc/oraInst.loc create=yes line='{{ item.line }}'
with_items:
- line: "inventory_loc=/u01/app/oraInventory"
- line: "inst_group=oinstall"
- name: make response file for configuration
lineinfile: dest=/home/grid/cfgrsp.properties create=yes line='{{ item.line }}'
with_items:
- line: "oracle.assistants.asm|S_ASMPASSWORD=Welcome1"
- line: "oracle.assistants.asm|S_ASMMONITORPASSWORD=Welcome1"
- line: "oracle.crs|S_BMCPASSWORD="
- name: change owner
shell: chown grid:oinstall /home/grid/cfgrsp.properties
- name: change permission
shell: chmod 600 /home/grid/cfgrsp.properties
- name: execute configuration
shell: su grid -c "{{ ORACLE_HOME }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/home/grid/cfgrsp.properties"
register: execute_configuration_check
failed_when: execute_configuration_check.rc not in [3]
- name: create diskgroup
shell: su grid -c "{{ ORACLE_HOME }}/bin/asmca -silent -createDiskGroup -diskGroupName DATA -disk '{{ DATA_DISKGROUP01 }}' -disk '{{ DATA_DISKGROUP02 }}' -disk '{{ DATA_DISKGROUP03 }}' -redundancy NORMAL -au_size 1 -compatible.asm '{{ ASM_COMPATIBLE }}' -compatible.rdbms '{{ RDBMS_COMPATIBLE }}'"
# - name: create diskgroup for RECO
# shell: su grid -c "{{ ORACLE_HOME }}/bin/asmca -silent -createDiskGroup -diskGroupName RECO -disk '{{ RECO_DISKGROUP01 }}' -disk '{{ RECO_DISKGROUP02 }}' -disk '{{ RECO_DISKGROUP03 }}' -redundancy NORMAL -au_size 1 -compatible.asm '{{ ASM_COMPATIBLE }}' -compatible.rdbms '{{ RDBMS_COMPATIBLE }}'"
[root@ansible]#
[root@ansible]# ansible-playbook 07_after_configuration_19cR3.yml
PLAY [host01] *************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************
ok: [host01]
TASK [make file for oraInst.loc] **********************************************************************************************************************
ok: [host01] => (item={u'line': u'inventory_loc=/u01/app/oraInventory'})
ok: [host01] => (item={u'line': u'inst_group=oinstall'})
TASK [make response file for configuration] ***********************************************************************************************************
changed: [host01] => (item={u'line': u'oracle.assistants.asm|S_ASMPASSWORD=Welcome1'})
changed: [host01] => (item={u'line': u'oracle.assistants.asm|S_ASMMONITORPASSWORD=Welcome1'})
changed: [host01] => (item={u'line': u'oracle.crs|S_BMCPASSWORD='})
TASK [change owner] ***********************************************************************************************************************************
[WARNING]: Consider using file module with owner rather than running chown
changed: [host01]
TASK [change permission] ******************************************************************************************************************************
[WARNING]: Consider using file module with mode rather than running chmod
changed: [host01]
TASK [execute configuration] **************************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running su
changed: [host01]
TASK [create diskgroup] *******************************************************************************************************************************
changed: [host01]
PLAY RECAP ********************************************************************************************************************************************
host01 : ok=7 changed=5 unreachable=0 failed=0
[root@ansible]#
Oracle Databaseのインストール
[root@ansible]# cat 08_install_oracle_database_19cR3.yml
- hosts: host01
vars:
TMP_DIR: /tmp
HOST_NAME1: host01
HOST_NAME2: host02
DOMAIN_NAME: oratest.jp
ORACLE_BASE: /u01/app/oracle
ORACLE_HOME: /u01/app/oracle/product/19.3.0/dbhome
tasks:
- name: create directory for grid home
shell: mkdir -p {{ ORACLE_HOME }}
- name: copy and unzip file
unarchive: src=/tmp/LINUX.X64_193000_db_home.zip dest={{ ORACLE_HOME }}
- name: change dir / files permission
file: path={{ ORACLE_BASE }} owner=oracle group=oinstall mode=0755 recurse=yes state=directory
- name: remove response file
shell: rm -f {{ TMP_DIR }}/db.rsp
- name: copy response file
shell: cp {{ ORACLE_HOME }}/install/response/db_install.rsp {{ TMP_DIR }}/db.rsp
- name: chenge owner for response file
shell: chown oracle:oinstall {{ TMP_DIR }}/db.rsp
- name: change response file for installation option
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.option=' replace='oracle.install.option=INSTALL_DB_SWONLY'
- name: change response file for Unix group
replace: dest={{ TMP_DIR }}/db.rsp regexp='^UNIX_GROUP_NAME=' replace='UNIX_GROUP_NAME=oinstall'
- name: change response file for inventory file
replace: dest={{ TMP_DIR }}/db.rsp regexp='^INVENTORY_LOCATION=' replace='INVENTORY_LOCATION=/u01/app/oraInventory'
- name: change response file for ORACLE_HOME
replace: dest={{ TMP_DIR }}/db.rsp regexp='^ORACLE_HOME=' replace='ORACLE_HOME={{ ORACLE_HOME }}'
- name: change response file for inventory file
replace: dest={{ TMP_DIR }}/db.rsp regexp='^ORACLE_BASE=' replace='ORACLE_BASE={{ ORACLE_BASE }}'
- name: change response file for Install Edition
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.InstallEdition=' replace='oracle.install.db.InstallEdition=EE'
###############################################################################
# PRIVILEGED OPERATING SYSTEM GROUPS #
###############################################################################
- name: change response file for OSDBA_GROUP
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSDBA_GROUP=' replace='oracle.install.db.OSDBA_GROUP=dba'
- name: change response file for OSOPER_GROUP
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSOPER_GROUP=' replace='oracle.install.db.OSOPER_GROUP=oper'
- name: change response file for OSBACKUPDBA
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSBACKUPDBA_GROUP=' replace='oracle.install.db.OSBACKUPDBA_GROUP=backupdba'
- name: change response file for OSDGDBA
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSDGDBA_GROUP=' replace='oracle.install.db.OSDGDBA_GROUP=dgdba'
- name: change response file for OSKMDBA
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSKMDBA_GROUP=' replace='oracle.install.db.OSKMDBA_GROUP=kmdba'
- name: change response file for OSRACDBA
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.OSRACDBA_GROUP=' replace='oracle.install.db.OSRACDBA_GROUP=racdba'
################################################################################
# Root script execution configuration #
################################################################################
- name: change response file for executeRootScript
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.rootconfig.executeRootScript=' replace='oracle.install.db.rootconfig.executeRootScript=false'
###############################################################################
# Grid Options #
###############################################################################
- name: change response file for CLUSTER_NODES
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.CLUSTER_NODES=' replace='oracle.install.db.CLUSTER_NODES={{ HOST_NAME1 }},{{ HOST_NAME2 }}'
###############################################################################
# Database Configuration Options #
###############################################################################
- name: change response file for the_type_of_Real_Application_Cluster_Database
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.rac.configurationType=' replace='oracle.install.db.rac.configurationType=ADMIN_MANAGED'
- name: change response file for Database to create
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.config.starterdb.type=' replace='oracle.install.db.config.starterdb.type=GENERAL_PURPOSE'
- name: change response file for
replace: dest={{ TMP_DIR }}/db.rsp regexp='^oracle.install.db.ConfigureAsContainerDB=' replace='oracle.install.db.ConfigureAsContainerDB=false'
###############################################################################
# Passwords can be supplied for the following four schemas in the #
###############################################################################
###############################################################################
# SPECIFY RECOVERY OPTIONS #
###############################################################################
- name: execute database installation
shell: su oracle -c "{{ ORACLE_HOME }}/runInstaller -silent -noconfig -ignoreInternalDriverError -waitforcompletion -responseFile {{ TMP_DIR }}/db.rsp"
- name: orainstRoot.sh script for node1
shell: /u01/app/oraInventory/orainstRoot.sh
- name: root.sh script for node1
shell: "{{ ORACKE_HOME }}/root.sh"
- name: add bash_profile for oracle
lineinfile: dest=/home/oracle/.bash_profile line='{{ item.line }}'
with_items:
- line: "export ORACLE_BASE={{ ORACLE_BASE }}"
- line: "export ORACLE_HOME={{ ORACLE_HOME }}"
- line: "export PATH=$ORACLE_HOME/bin:$PATH"
[root@ansible]#
[root@ansible]# ansible-playbook 08_install_oracle_database_19cR3.yml
PLAY [host01] *************************************************************************************************************************************
TASK [Gathering Facts] ********************************************************************************************************************************
ok: [host01]
TASK [create directory for grid home] *****************************************************************************************************************
[WARNING]: Consider using file module with state=directory rather than running mkdir
changed: [host01]
TASK [change dir / files permission] ******************************************************************************************************************
changed: [host01]
TASK [remove response file] ***************************************************************************************************************************
[WARNING]: Consider using file module with state=absent rather than running rm
changed: [host01]
TASK [copy response file] *****************************************************************************************************************************
changed: [host01]
TASK [chenge owner for response file] *****************************************************************************************************************
[WARNING]: Consider using file module with owner rather than running chown
changed: [host01]
TASK [change response file for installation option] ***************************************************************************************************
changed: [host01]
TASK [change response file for Unix group] ************************************************************************************************************
changed: [host01]
TASK [change response file for inventory file] ********************************************************************************************************
changed: [host01]
TASK [change response file for ORACLE_HOME] ***********************************************************************************************************
changed: [host01]
TASK [change response file for inventory file] ********************************************************************************************************
changed: [host01]
TASK [change response file for Install Edition] *******************************************************************************************************
changed: [host01]
TASK [change response file for OSDBA_GROUP] ***********************************************************************************************************
changed: [host01]
TASK [change response file for OSOPER_GROUP] **********************************************************************************************************
changed: [host01]
TASK [change response file for OSBACKUPDBA] ***********************************************************************************************************
changed: [host01]
TASK [change response file for OSDGDBA] ***************************************************************************************************************
changed: [host01]
TASK [change response file for OSKMDBA] ***************************************************************************************************************
changed: [host01]
TASK [change response file for OSRACDBA] **************************************************************************************************************
changed: [host01]
TASK [change response file for executeRootScript] *****************************************************************************************************
changed: [host01]
TASK [change response file for CLUSTER_NODES] *********************************************************************************************************
changed: [host01]
TASK [change response file for the_type_of_Real_Application_Cluster_Database] *************************************************************************
ok: [host01]
TASK [change response file for Database to create] ****************************************************************************************************
changed: [host01]
TASK [change response file for] ***********************************************************************************************************************
changed: [host01]
TASK [execute database installation] ******************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running su
fatal: [host01]: FAILED! => {"changed": true, "cmd": "su oracle -c \"/u01/app/oracle/product/19.3.0/dbhome/runInstaller -silent -noconfig -ignoreInternalDriverError -waitforcompletion -responseFile /tmp/db.rsp\"", "delta": "0:12:18.009291", "end": "2019-05-12 23:22:12.280792", "failed": true, "rc": 6, "start": "2019-05-12 23:09:54.271501", "stderr": "", "stderr_lines": [], "stdout": "Oracle Database設定ウィザードを起動中...\n\n[WARNING] [INS-13014] ターゲット環境は、いくつかのオプションの要件を満たしていません。\n 原因: 一部のオプションの前提条件が満たされていません。詳細はログを参照してください。/u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log\n アクション: ログから失敗した前提条件チェックのリストを確認します: /u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log。次に、ログ・ファイルまたはインストレーション・マニュアルのいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。\nこのセッションのレスポンス・ファイルは次の場所にあります:\n /u01/app/oracle/product/19.3.0/dbhome/install/response/db_2019-05-12_11-09-54PM.rsp\n\nこのインストール・セッションのログは次の場所にあります:\n /u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log\n\nrootユーザーとして次のスクリプトを実行します:\n\t1. /u01/app/oracle/product/19.3.0/dbhome/root.sh\n\n次のノードで/u01/app/oracle/product/19.3.0/dbhome/root.shを実行してください: \n[host01, host02]\n\n\nSuccessfully Setup Software with warning(s).", "stdout_lines": ["Oracle Database設定ウィザードを起動中...", "", "[WARNING] [INS-13014] ターゲット環境は、いくつかのオプションの要件を満たしていません。", " 原因: 一部のオプションの前提条件が満たされていません。詳細はログを参照してください。/u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log", " アクション: ログから失敗した前提条件チェックのリストを確認します: /u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log。次に、ログ・ファイルまたはインストレーション・マニュアルのいずれかから、前提条件を満たす適切な構成を見つけ、手動で修正してください。", "このセッションのレスポンス・ファイルは次の場所にあります:", " /u01/app/oracle/product/19.3.0/dbhome/install/response/db_2019-05-12_11-09-54PM.rsp", "", "このインストール・セッションのログは次の場所にあります:", " /u01/app/oraInventory/logs/InstallActions2019-05-12_11-09-54PM/installActions2019-05-12_11-09-54PM.log", "", "rootユーザーとして次のスクリプトを実行します:", "\t1. /u01/app/oracle/product/19.3.0/dbhome/root.sh", "", "次のノードで/u01/app/oracle/product/19.3.0/dbhome/root.shを実行してください: ", "[host01, host02]", "", "", "Successfully Setup Software with warning(s)."]}
to retry, use: --limit @/etc/ansible/08_install_oracle_database_19cR3.retry
PLAY RECAP ********************************************************************************************************************************************
host01 : ok=24 changed=21 unreachable=0 failed=1
前提条件のエラーチェックで引っかかっているけど、インストールは完了
root.shの自動実行を入れておけばあとはおk
dbcaでお試しDBを作成
途中で失敗した場合は、クラスタから削除
なぜか、CRSDとEVmanagerが停止して、crsctl stop crs -fでも停止できなくてOS再起動
dbcaでDB作成
[root@ansible]# cat create_oracle_database_13cR3.yml
- hosts: host01
vars:
NODELIST: host01,host02
ORACLE_HOME: /u01/app/oracle/product/19.3.0/dbhome
DB_UNIQUE_NAME: testdb
LOCATION: .loc.a
ORAPASSWD: emoclew1
tasks:
- name: remove response file
shell: rm -f {{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp
- name: cope response file
shell: cp {{ ORACLE_HOME }}/assistants/dbca/dbca.rsp {{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp
- name: chenge owner for response file
shell: chown oracle:oinstall {{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp
- name: change response file for GDBNAME
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^gdbName=' replace='gdbName={{ DB_UNIQUE_NAME }}{{ LOCATION }}'
- name: change response file for SID
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^sid=' replace='sid={{ DB_UNIQUE_NAME }}'
- name: change response file for DATABASECONFTYPE
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^databaseConfigType=' replace='databaseConfigType=RAC'
- name: change response file for CREATEASCONTAINERDATABASE
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^createAsContainerDatabase=' replace='createAsContainerDatabase=true'
- name: change response file for NUMBEROFPDBS
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^numberOfPDBs=' replace='numberOfPDBs=1'
- name: change response file for PDBNAME
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^pdbName=' replace='pdbName=PDB_{{ DB_UNIQUE_NAME }}'
- name: change response file for PDBADMINPASSWORD
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^pdbAdminPassword=' replace='pdbAdminPassword={{ ORAPASSWD }}'
- name: change response file for NODELIST
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^nodelist=' replace='nodelist={{ NODELIST }}'
- name: change response file for templateName
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^templateName=' replace='templateName={{ ORACLE_HOME }}/assistants/dbca/templates/General_Purpose.dbc'
- name: change response file for SYSPASSWORD
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^sysPassword=' replace='sysPassword={{ ORAPASSWD }}'
- name: change response file for SYSTEMPASSWORD
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^systemPassword=' replace='systemPassword={{ ORAPASSWD }}'
- name: change response file for DBSNMPPASSWORD
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^dbsnmpPassword=' replace='dbsnmpPassword={{ ORAPASSWD }}'
- name: change response file for STORAGETYPE
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^storageType=' replace='storageType=ASM'
- name: change response file for DISKGROUPNAME
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^diskGroupName=' replace='diskGroupName=DATA'
- name: change response file for ASMSNMP_PASSWORD
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^asmsnmpPassword=' replace='asmsnmpPassword={{ ORAPASSWD }}'
# - name: change response file for RECOVERYGROUPNAME
# replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^recoveryGroupName=' replace='recoveryGroupName=RECO'
- name: change response file for CHARACTERSET
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^characterSet=' replace='characterSet=AL32UTF8'
- name: change response file for NATIONALCHARACTERSET
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='^nationalCharacterSet=' replace='nationalCharacterSet=AL16UTF16'
- name: change response file for AUTOMATICMEMORYMANAGEMENT
replace: dest={{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME}}.rsp regexp='automaticMemoryManagement=' replace='automaticMemoryManagement=FALSE'
- name: create database
shell: su oracle -c "{{ ORACLE_HOME }}/bin/dbca -silent -createDatabase -responseFile {{ ORACLE_HOME }}/assistants/dbca/{{ DB_UNIQUE_NAME }}.rsp"
[root@ansible]#
実行
[root@ansible]# ansible-playbook create_oracle_database_13cR3.yml
PLAY [host01] *******************************************************************************************************************************************************************
TASK [Gathering Facts] **************************************************************************************************************************************************************
ok: [host01]
TASK [remove response file] *********************************************************************************************************************************************************
[WARNING]: Consider using file module with state=absent rather than running rm
changed: [host01]
TASK [cope response file] ***********************************************************************************************************************************************************
changed: [host01]
TASK [chenge owner for response file] ***********************************************************************************************************************************************
[WARNING]: Consider using file module with owner rather than running chown
changed: [host01]
TASK [change response file for GDBNAME] *********************************************************************************************************************************************
changed: [host01]
TASK [change response file for SID] *************************************************************************************************************************************************
changed: [host01]
TASK [change response file for DATABASECONFTYPE] ************************************************************************************************************************************
changed: [host01]
TASK [change response file for CREATEASCONTAINERDATABASE] ***************************************************************************************************************************
changed: [host01]
TASK [change response file for NUMBEROFPDBS] ****************************************************************************************************************************************
changed: [host01]
TASK [change response file for PDBNAME] *********************************************************************************************************************************************
changed: [host01]
TASK [change response file for PDBADMINPASSWORD] ************************************************************************************************************************************
changed: [host01]
TASK [change response file for NODELIST] ********************************************************************************************************************************************
changed: [host01]
TASK [change response file for templateName] ****************************************************************************************************************************************
changed: [host01]
TASK [change response file for SYSPASSWORD] *****************************************************************************************************************************************
changed: [host01]
TASK [change response file for SYSTEMPASSWORD] **************************************************************************************************************************************
changed: [host01]
TASK [change response file for DBSNMPPASSWORD] **************************************************************************************************************************************
changed: [host01]
TASK [change response file for STORAGETYPE] *****************************************************************************************************************************************
changed: [host01]
TASK [change response file for DISKGROUPNAME] ***************************************************************************************************************************************
changed: [host01]
TASK [change response file for ASMSNMP_PASSWORD] ************************************************************************************************************************************
changed: [host01]
TASK [change response file for CHARACTERSET] ****************************************************************************************************************************************
changed: [host01]
TASK [change response file for NATIONALCHARACTERSET] ********************************************************************************************************************************
changed: [host01]
TASK [change response file for AUTOMATICMEMORYMANAGEMENT] ***************************************************************************************************************************
changed: [host01]
TASK [create database] **************************************************************************************************************************************************************
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running su
changed: [host01]
PLAY RECAP **************************************************************************************************************************************************************************
host01 : ok=23 changed=22 unreachable=0 failed=0
[root@ansible]#
確認
[oracle@host01 ~]$ srvctl status database -d testdb -v
インスタンスtestdb1がノードhost0101で稼動しています。インスタンスのステータス: Open。
インスタンスtestdb2がノードhost0102で稼動しています。インスタンスのステータス: Open。
[oracle@host01 ~]$
ということで、ざっくりと流れは掴んだ