-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild-db-estate.yml
169 lines (149 loc) · 6.22 KB
/
build-db-estate.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
---
# Set the environment variables
- name: build-db-estate | Load environment-specific variables
hosts: dbservers
gather_facts: no
tasks:
- name: Show environment file name
debug:
msg: "Loading environment variables from: group_vars/{{ db_env }}.yml"
when: db_env is defined
run_once: true
- name: Include environment-specific group vars
include_vars:
file: "group_vars/{{ db_env }}.yml"
# Perform RDBMS PreInstall Validations
- name: build-db-estate | Preinstall Validations
hosts: primary:standby ## play needs to run on both primary and standby
pre_tasks:
- name: Check to run play db-rdbms-install-pre
block:
- name: display skip play db-rdbms-install-pre
debug:
msg: "Skipping rdbms preinstall validations because install_rdbms is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-rdbms-install-pre if install_rdbms is false
meta: end_play
when: install_rdbms is not defined or not install_rdbms
run_once: true
roles:
- db-rdbms-install-pre
# Install Oracle RDBMS with RU
- name: build-db-estate | Install RDBMS
hosts: primary:standby ## play needs to run on both primary and standby
pre_tasks:
- name: Check to run play db-rdbms-install
block:
- name: display skip play db-rdbms-install
debug:
msg: "Skipping rdbms install validations because install_rdbms is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-rdbms-install if install_rdbms is false
meta: end_play
when: install_rdbms is not defined or not install_rdbms
run_once: true
roles:
- db-rdbms-install
# Validate and Create Listeners
- name: build-db-estate | Create Listeners
hosts: primary:standby ## play needs to run on both primary and standby
pre_tasks:
- name: Check to run play lsnr-create
block:
- name: display skip play lsnr-create
debug:
msg: "Skipping listener create because create_listener is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play lsnr-create if create_listener is false
meta: end_play
when: create_listener is not defined or not create_listener
run_once: true
roles:
- lsnr-create
# Create Primary database
- name: build-db-estate | Create primary db
hosts: primary ## play needs to run only on primary
pre_tasks:
- name: Check to run play db-create
block:
- name: display skip play db-create
debug:
msg: "Skipping primary db create because create_db is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-create if create_db is false
meta: end_play
when: create_db is not defined or not create_db
run_once: true
roles:
- db-create
# Create Standby database
- name: build-db-estate | Build standby db
hosts: primary:standby ## play needs to run on both primary and standby
pre_tasks:
- name: Check to run play db-standby-create
block:
- name: display skip play db-standby-create
debug:
msg: "Skipping standby db create because create_standby_db is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-standby-create if create_standby_db is false
meta: end_play
when: create_standby_db is not defined or not create_standby_db
run_once: true
roles:
- db-standby-create
# Perform Oracle Client PreInstall Validations
- name: build-db-estate | Client Preinstall Validations
hosts: observer ## play needs to run only on observer
pre_tasks:
- name: Check to run play client-install-pre
block:
- name: display skip play client-install-pre
debug:
msg: "Skipping oracle client install prevalidations because observer_install_client is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play client-install-pre if observer_install_client is false
meta: end_play
when: observer_install_client is not defined or not observer_install_client
run_once: true
roles:
- client-install-pre
# Install Oracle Client
- name: build-db-estate | Install Client
hosts: observer ## play needs to run only on observer
pre_tasks:
- name: Check to run play client-install
block:
- name: display skip play client-install
debug:
msg: "Skipping oracle client install because observer_install_client is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play client-install if observer_install_client is false
meta: end_play
when: observer_install_client is not defined or not observer_install_client
run_once: true
roles:
- client-install
# Configure DataGurad Broker and enable FSFO
- name: build-db-estate | Configure DG Broker
hosts: dbservers ## play needs to run on primary, standby and few steps in observer servers
pre_tasks:
- name: Check to run play db-dgbroker-config
block:
- name: display skip play db-dgbroker-config
debug:
msg: "Skipping DG broker configuration because configure_dgbroker is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-dgbroker-config if configure_dgbroker is false
meta: end_play
when: configure_dgbroker is not defined or not configure_dgbroker
run_once: true
roles:
- db-dgbroker-config
# Configure RMAN Properties
- name: build-db-estate | Configure RMAN
hosts: primary:standby ## play needs to run on both primary and standby
pre_tasks:
- name: Check to run play db-rman-config
block:
- name: display skip play db-rman-config
debug:
msg: "Skipping RMAN property configuration because configure_rman_property is set to false in environment file group_vars/{{ db_env }}.yml"
- name: skip play db-rman-config if configure_rman_property is false
meta: end_play
when: configure_rman_property is not defined or not configure_rman_property
run_once: true
roles:
- db-rman-config