├── .ansible-lint
├── .gitignore
├── .pre-commit-config.yaml
├── LICENSE
├── README.adoc
├── ansible-navigator.yml
├── ansible.cfg
├── ansible.sh
├── docker
├── Dockerfile
└── docker-compose.yml
├── install_ansible.sh
├── inventory
├── dbfs
│ ├── group_vars
│ │ ├── all
│ │ │ ├── db-homes.yml
│ │ │ ├── db-profiles.yml
│ │ │ ├── dev-sec.yml
│ │ │ ├── host.yml
│ │ │ ├── passwords.yml
│ │ │ ├── software_src.yml
│ │ │ └── sqlnet.yml
│ │ └── dbfs
│ │ │ ├── database_DB1.yml
│ │ │ ├── db-wallet.yml
│ │ │ ├── listener.yml
│ │ │ ├── passwords.yml
│ │ │ └── tnsnames.yml
│ ├── host_vars
│ │ └── dbfs161-192-168-56-161.nip.io
│ │ │ ├── ansible.yml
│ │ │ └── databases.yml
│ └── hosts.yml
├── has
│ ├── group_vars
│ │ ├── all
│ │ │ ├── db-homes.yml
│ │ │ ├── db-profiles.yml
│ │ │ ├── dev-sec.yml
│ │ │ ├── gi-homes.yml
│ │ │ ├── host.yml
│ │ │ ├── software_src.yml
│ │ │ └── sqlnet.yml
│ │ ├── has19c
│ │ │ ├── asm.yml
│ │ │ └── database_DB1.yml
│ │ └── has21c
│ │ │ ├── asm.yml
│ │ │ └── database_DB1.yml
│ ├── host_vars
│ │ ├── dbrestart162
│ │ │ └── databases.yml
│ │ ├── has19c-192-168-56-162.nip.io
│ │ │ ├── ansible.yml
│ │ │ └── databases.yml
│ │ └── has21c-192-168-56-163.nip.io
│ │ │ └── databases.yml
│ └── hosts.yml
├── local_dbfs
│ ├── group_vars
│ │ ├── all
│ │ │ ├── all.yml
│ │ │ ├── db-homes.yml
│ │ │ ├── db-profiles.yml
│ │ │ ├── dev-sec.yml
│ │ │ ├── host.yml
│ │ │ ├── passwords.yml
│ │ │ ├── software_src.yml
│ │ │ └── sqlnet.yml
│ │ └── dbfs
│ │ │ ├── database_DB1.yml
│ │ │ ├── listener.yml
│ │ │ ├── passwords.yml
│ │ │ └── tnsnames.yml
│ ├── host_vars
│ │ └── dbfs161-192-168-56-161.nip.io
│ │ │ ├── ansible.yml
│ │ │ └── databases.yml
│ └── hosts.yml
├── local_has
│ ├── group_vars
│ │ ├── all
│ │ │ ├── db-homes.yml
│ │ │ ├── db-profiles.yml
│ │ │ ├── dev-sec.yml
│ │ │ ├── gi-homes.yml
│ │ │ ├── host.yml
│ │ │ ├── software_src.yml
│ │ │ └── sqlnet.yml
│ │ ├── has19c
│ │ │ ├── asm.yml
│ │ │ └── database_DB1.yml
│ │ └── has21c
│ │ │ ├── asm.yml
│ │ │ └── database_DB1.yml
│ ├── host_vars
│ │ ├── dbrestart162
│ │ │ └── databases.yml
│ │ ├── has19c-192-168-56-162.nip.io
│ │ │ ├── ansible.yml
│ │ │ └── databases.yml
│ │ └── has21c-192-168-56-163.nip.io
│ │ │ └── databases.yml
│ └── hosts.yml
├── patch_download
│ ├── 19.18
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts.yml
│ ├── 19.19
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts.yml
│ ├── 21.10
│ │ ├── group_vars
│ │ │ └── all.yml
│ │ └── hosts.yml
│ └── 21.9
│ │ ├── group_vars
│ │ └── all.yml
│ │ └── hosts.yml
└── racattack
│ ├── group_vars
│ ├── all
│ │ ├── asm.yml
│ │ ├── db-homes.yml
│ │ ├── db-profiles.yml
│ │ ├── dev-sec.yml
│ │ ├── gi-homes.yml
│ │ ├── gi.yml
│ │ ├── host.yml
│ │ └── software_src.yml
│ └── db19
│ │ ├── database_DBR1.yml
│ │ └── databases.yml
│ ├── host_vars
│ ├── collabn1-192-168-56-171.nip.io
│ │ └── gi.yml
│ └── collabn2-192-168-56-172.nip.io
│ │ └── gi.yml
│ └── hosts.yml
├── navigator
└── replay
│ └── .gitkeep
├── playbooks
├── ahf.yml
├── db-facts.yml
├── dev-sec.yml
├── gi_facts.yml
├── golden_images.yml
├── list_playhosts.yml
├── manage-db.yml
├── manage_wallet.yml
├── ocenv.yml
├── opatch.yml
├── os.yml
├── os_racattack.yml
├── os_update_reboot.yml
├── os_vagrant.yml
├── patch_download.yml
├── racattackl-install.yml
├── single-instance-asm.yml
├── single-instance-fs.yml
├── sql-zauberkastern.yml
├── swdb.yml
└── swgi.yml
├── requirements.yml
├── requirements_development.yml
├── templates
└── 19c_custom_dbca.dbt
├── vagrant
├── ansible
│ └── Vagrantfile
├── dbfs161
│ └── Vagrantfile
├── has19c-162
│ └── Vagrantfile
├── has21c-163
│ └── Vagrantfile
└── racattack
│ └── Vagrantfile
└── vscode
└── aoansible.code-workspace
/.ansible-lint:
--------------------------------------------------------------------------------
1 | ---
2 | use_default_rules: true
3 |
4 | # skip_list:
5 |
6 | exclude_paths:
7 | - .github
8 | - playbooks
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .vagrant
2 | *.vdi
3 | *.log
4 | *.html
5 | id_rsa.pub
6 | playbooks/collections
7 | ansible-navigator.log
8 | navigator/replay/*json
9 |
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | # See https://pre-commit.com for more information
3 | # See https://pre-commit.com/hooks.html for more hooks
4 | repos:
5 | - repo: https://github.com/pre-commit/pre-commit-hooks
6 | rev: v4.3.0
7 | hooks:
8 | - id: trailing-whitespace
9 | - id: end-of-file-fixer
10 | - id: check-yaml
11 | - id: check-symlinks
12 | - id: check-added-large-files
13 | - id: check-merge-conflict
14 | - id: detect-private-key
15 | - id: forbid-new-submodules
16 | - id: check-executables-have-shebangs
17 | - id: no-commit-to-branch
18 |
19 | - repo: https://github.com/ansible-community/ansible-lint.git
20 | rev: v6.14.4
21 | hooks:
22 | - id: ansible-lint
23 | entry: ansible-lint --force-color -p
24 | files: \.(yaml|yml)$
25 | pass_filenames: false
26 | always_run: true
27 | verbose: true
28 |
--------------------------------------------------------------------------------
/README.adoc:
--------------------------------------------------------------------------------
1 | _This document is currently work in progress!_
2 |
3 | _Breaking Change in July 2022 for `ansible` and `dbfs161` vagrant box. The boxes were renamed and require a local destory+up._
4 |
5 | :toc:
6 | :toc-placement!:
7 | toc::[]
8 |
9 | ## ansible-oracle - preparation
10 |
11 | ### Important note for Ansible 2.9
12 |
13 | Ansible 2.9 has incomplete support for Collections.
14 |
15 | IMPORTANT:
16 | The following steps are only needed, when working with Ansible 2.9.
17 |
18 |
19 | .remove git from requirements.yml
20 | ----
21 | ----
22 |
23 | ### Development for ansible-oracle
24 |
25 | Please execute `install_ansible.sh` once, when developing for `ansible-oracle` is planned.
26 | That will install `anbsible-lint` and `git pre-commit`, who are mandatory for a Pull-Request.
27 |
28 | ### Start Ansible-Container
29 |
30 | Ansible is started inside a Container. There is no local installation of Ansible in the OS anymore. This allows an easy change between different versions of Ansible.
31 |
32 | The Container is started with the following command:
33 |
34 | IMPORTANT:
35 | `ansible-oracle` is tested with Ansible 2.9-2.12 at the moment.
36 |
37 |
38 | ----
39 | ./ansible.sh
40 | ----
41 |
42 |
43 | ### How to download patches with getMOSPatch
44 |
45 | #### Preparation
46 |
47 | There is a really nice offline downloader:
48 |
49 | Due to license restriction, the tool could not be part of this repository. Download it with wget:
50 |
51 | ----
52 | wget https://github.com/MarisElsins/getMOSPatch/raw/master/getMOSPatch.jar
53 | ----
54 |
55 | Java from openJDK 11 could be used.
56 |
57 | #### Examples
58 |
59 | Please read the documentation for more details:
60 |
61 |
62 |
63 | Download latest version of AHF for Linux-x86_64
64 |
65 | ----
66 | java -jar getMOSPatch.jar MOSUser= platform=226P download=all patch=30166242
67 | ----
68 |
69 | Download latest version of OPatch for Linux-x86_64. You get asked for the file to download. download=all will download all versions.
70 |
71 | ----
72 | java -jar getMOSPatch.jar MOSUser= platform=226P patch=6880880
73 | ----
74 |
75 | ### Oracle Installationmedias & Patches
76 |
77 | Inventory variable in Ansible:
78 |
79 | ----
80 | oracle_stage_remote: /sw/oracle/linux64
81 | ----
82 |
83 | The following examples are based on the directory `/sw/oracle/linux64`
84 |
85 | The zip archives for the installation media or Golden-Images areexpected in the upper most directory:
86 |
87 | #### Installation medias
88 |
89 | ----
90 | /sw/oracle/linux64/LINUX.X64_193000_db_home.zip
91 | /sw/oracle/linux64/LINUX.X64_193000_grid_home.zip
92 | /sw/oracle/linux64/db_home_19.11.zip
93 | /sw/oracle/linux64/linuxx64_12201_database.zip
94 | ----
95 |
96 | #### OPatch
97 |
98 | The OPatch archive is searched in same directory as the medias:
99 |
100 | ----
101 | /sw/oracle/linux64/p6880880_190000_Linux-x86-64.zip
102 | ----
103 |
104 | #### RUs/PSUs OneOff-Patches
105 |
106 | Ansible-oracle searches patches by default
107 |
108 | ---
109 |
110 | ## List of Vagrant-Boxes
111 |
112 | ### Ansible-Controller
113 |
114 | [cols="1,1,3",options="header",]
115 | |===
116 | | Name | IP | Description
117 | | ansible | 192.168.56.99 | Ansible Controller for ansible-oracle
118 | |===
119 |
120 | ### Oracle Single Instance Filesystem
121 |
122 | [cols="1,1,3",options="header",]
123 | |===
124 | | Name | IP | Description
125 | | dbfs161 | 192.168.56.161 | Oracle DB 19c
126 | |===
127 |
128 | #### Playbook for dbfs161
129 |
130 | ansible-playbook -i inventory/dbfs/hosts.yml os_vagrant.yml single-instance-fs.yml -e hostgorup=dbfs
131 |
132 | ### Oracle Restart
133 |
134 | [cols="1,1,3",options="header",]
135 | |===
136 | | Name | IP | Description
137 | | has19c-162 | 192.168.56.162 | Oracle Restart 19c + DB 19c
138 | | has21c-163 | 192.168.56.163 | Oracle Restart 21c + DB 21c
139 | |===
140 |
141 | #### Playbook for has19c-162
142 |
143 | ----
144 | ansible-playbook -i inventory/has/hosts.yml -e hostgroup=has19c playbooks/os_vagrant.yml playbooks/single-instance-asm.yml
145 | ----
146 |
147 | #### Playbook for has21c-163
148 |
149 | ----
150 | ansible-playbook -i inventory/has/hosts.yml -e hostgroup=has21c playbooks/os_vagrant.yml playbooks/single-instance-asm.yml
151 | ----
152 |
153 | ### Racattack
154 |
155 | [cols="1,1,1,3,1,1,1,3",options="header",]
156 | |===
157 | | Boxname | Cores | RAM |DNS | IP | VIP | Interconnect | Description
158 | | collabn1 | 2 | 7GB | collabn1-192-168-56-171.nip.io | 192.168.56.171 | 192.168.56.181 | 192.168.57.171 | OracleLinux 7.x + Grid-Infrastructure 19c + DB 19c
159 | | collabn2 | 2 | 7GB | collabn1-192-168-56-171.nip.io | 192.168.56.172 | 192.168.56.182 | 192.168.57.172 | OracleLinux 7.x + Grid-Infrastructure 19c + DB 19c
160 | |===
161 |
162 | [cols="1,1",options="header",]
163 | |===
164 | | SCAN | IP
165 | | scan-192-168-56-171.nip.io | 192.168.56.171
166 | |===
167 |
168 | #### Playbook for Racattack
169 |
170 | ----
171 | ansible-playbook -i inventory/racattack/hosts.yml -e hostgroup=collabn racattackl-install.yml --skip-tags redolog
172 | ----
173 |
174 | ## Vagrant
175 |
176 | ### Mandatory Environment Variables
177 |
178 | The installation media and patches are directly attached via a vboxsf mouninto the VM. The Vagrantfile use the following environment Variable to point to the local directory on the host.
179 |
180 | ----
181 | VAGRANT_ANSIBLE_ORACLE_SW
182 | ----
183 |
184 | Make sure that this variable is definedbefore starting the VM; and pointing to a directory on your local machine.
185 |
186 | Example:
187 |
188 | ----
189 | SET VAGRANT_ANSIBLE_ORACLE_SW=E:\Oracle\sw
190 | ----
191 |
192 | Tip:
193 | Define the Variable as an evnironment Variable for persistency in Windows .
194 |
195 | ### Environment preparation
196 |
197 | Vagrant is mostly used on Windows. To install everything as easy as possible the following steps are recommended:
198 |
199 | #### Install chocolatey
200 |
201 |
202 | Open a powershell.exe with administrative priviledges:
203 |
204 | ----
205 | Get-ExecutionPolicy
206 | ----
207 |
208 | If it returns Restricted, then run
209 |
210 | ----
211 | Set-ExecutionPolicy AllSigned
212 | ----
213 |
214 | or
215 |
216 | ----
217 | Set-ExecutionPolicy Bypass -Scope Process.
218 |
219 | Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
220 | ----
221 |
222 | #### Install Vagrant, VirtualBox
223 |
224 | ----
225 | choco install vagrant virtbox
226 | ----
227 |
228 | ### Important info for 1st start of a VM
229 |
230 | The 1st start of a vagrant box needs an environment variable to create the addional disks for Oracle.
231 |
232 | ----
233 | VAGRANT_EXPERIMENTAL=disks vagrant up
234 | ----
235 |
236 | This feauture is only supported with Virtualbox (July 20121)!
237 |
238 | This is only needed once. All other starts could be done with:
239 |
240 | ----
241 | vagrant up
242 | ----
243 |
244 | ### Known issues with VBoxAddions
245 |
246 | The rebuild of VirtualBox Additions sometimes fail during 1st build of Vagrantbox.
247 | Try the following command:
248 |
249 | ----
250 | /sbin/rcvboxadd quicksetup all
251 | ----
252 |
253 | If this fails, the reinstallation from VDROM is needed. Add the cd as device inside VirtualBox, mount it and execute the following command:
254 |
255 | ----
256 | mount /dev/cdrom /mnt/
257 | /mnt/VBoxLinuxAdditions.run
258 | ----
259 |
260 | ## Development
261 |
262 | ### VS Code Integration
263 |
264 | #### VS Code: Using added Workspace
265 |
266 | The `ansible-oracle-inventory` includes an example Workspace configuration for easy usage of VS Code with ansible-oracle.
267 |
268 | The following connection is used by VSCode:
269 |
270 | ----
271 | vagrant@aoansible-192.168.56.99.nip.io
272 | ----
273 |
274 | ##### Install VS COde on your local machine
275 |
276 | Nothing really special here.
277 |
278 | ##### Start VS Code with the Workspace file
279 |
280 | The start depends on the SSH setup of youR environment.
281 | Do not forget to start an ssh-agent, when dedicated keys are used. Otherwise code could not connect to the VM.
282 |
283 | `code vscode/aoansible.code-workspace`
284 |
285 | All configured plugins are automatically installed on the target.
286 |
287 | ### ansible-lint and yaml-lint
288 |
289 | Both linters are installed with the execution of ```install_ansible.sh```
290 |
291 | ### git pre-commit setup
292 |
293 | This part is a little bit tricky, because ansible-lint needs an envronment variable from Ansible to work with ansible-oracle-inventory.
294 |
295 | Please add the following entry to ```.bashrc```
296 |
297 | ----
298 | export ANSIBLE_DUPLICATE_YAML_DICT_KEY=ignore
299 | ----
300 |
--------------------------------------------------------------------------------
/ansible-navigator.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ansible-navigator:
3 | # ansible-runner:
4 | # artifact-dir: navigator
5 | # rotate-artifacts-count: 20
6 | execution-environment:
7 | enabled: true
8 | environment-variables:
9 | set:
10 | ANSIBLE_CONFIG: ansible.cfg
11 | volume-mounts:
12 | - src: "/vagrant"
13 | dest: "/vagrant"
14 | options: "Z"
15 | logging:
16 | level: warning
17 | mode: stdout
18 | playbook-artifact:
19 | enable: true
20 | replay: "{playbook_dir}/../navigator/replay/{playbook_name}-{time_stamp}.json"
21 | save-as: "{playbook_dir}/../navigator/replay/{playbook_name}-{time_stamp}.json"
22 |
--------------------------------------------------------------------------------
/ansible.cfg:
--------------------------------------------------------------------------------
1 | [defaults]
2 |
3 | # following entries are only needed when working with ansible < 2.9
4 | # roles_path = ${PWD}/../ansible-oracle/roles/
5 | # library = ${PWD}/../ansible-oracle/library/, ${PWD}/../ansible-oracle/plugins/modules
6 |
7 | host_key_checking = False
8 | display_skipped_hosts = false
9 | duplicate_dict_key = ignore
10 |
11 | nocolor = 1
12 | retry_files_enabled = False
13 |
14 | enable_plugins = aws_ec2
15 | # interpreter_python = auto_legacy_silent
16 |
17 | [ssh_connection]
18 | pipelining = True
19 |
20 | # needed for devsec ssh-role
21 | scp_if_ssh = True
22 |
--------------------------------------------------------------------------------
/ansible.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | set -euo pipefail
4 | #
5 | cd $(dirname $0)
6 |
7 | if [ -z "${SSH_AUTH_SOCK:-}" ] ; then
8 | echo "SSH_AUTH_SOCK not set! Please start an ssh-agent before executing docker-compose.sh:"
9 |
10 | # shellcheck disable=SC2016
11 | echo 'eval $(ssh-agent)'
12 | exit 1
13 | fi
14 |
15 | # docker-compose run --rm ansible bash ./ansible-galaxy.sh
16 | docker-compose -f docker/docker-compose.yml run --rm ansible ansible-galaxy collection install -r /git/ansible-oracle-inventory/requirements.yml
17 | docker-compose -f docker/docker-compose.yml run --rm ansible bash "$@"
18 |
--------------------------------------------------------------------------------
/docker/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM docker.io/library/python:3.10-slim-buster
2 |
3 | ARG ansible_version
4 |
5 | ENV LC_ALL=C.UTF-8
6 | ENV LANG=C.UTF-8
7 | ENV DEBIAN_FRONTEND=noninteractive
8 | ENV TZ=Etc/UTC
9 |
10 | # group 999 is needed for docker in docker
11 | RUN groupadd -g 999 docker && useradd -m -u 1000 -G 999 ansible
12 |
13 | RUN apt-get update -y &&\
14 | apt-get install -y \
15 | curl \
16 | net-tools \
17 | iputils-ping \
18 | lsb-release \
19 | openssh-client \
20 | sshpass \
21 | socat \
22 | git \
23 | tar \
24 | unzip \
25 | jq \
26 | less
27 |
28 | RUN python3 -m pip install --upgrade pip
29 |
30 | RUN pip3 install ansible===${ansible_version} && \
31 | apt-get clean autoclean && \
32 | apt-get autoremove --yes && \
33 | rm -rf /var/lib/{apt,dpkg,cache,log}/ && \
34 | rm -rf /root/.local /root/.cache && \
35 | mkdir /git && chown ansible /git
36 |
37 | USER root
38 |
39 | # Please add following ENV to docker for Ansible
40 | # ANSIBLE_COLLECTIONS_PATHS=/ansible/galaxy
41 | RUN mkdir -p /ansible/galaxy && chown ansible /ansible/galaxy
42 |
43 | USER ansible
44 |
--------------------------------------------------------------------------------
/docker/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3.3'
2 | services:
3 | ansible:
4 | build:
5 | context: .
6 | dockerfile: Dockerfile
7 | args:
8 | ansible_version: 5.8.0
9 | # ansible_version: 2.9.26
10 | # container_name: ansible-oracle-2.9.26
11 | # image: ansible:2.9.26
12 | container_name: ansible-oracle-2.12.6
13 | image: ansible:2.12.6
14 | hostname: ansible-oracle
15 | mem_limit: 1000m
16 | privileged: true
17 | working_dir: /git/ansible-oracle-inventory
18 | volumes:
19 | # binding for workdir
20 | - type: bind
21 | source: ${GIT_SOURCE_FOLDER-./../..}
22 | target: /git
23 | - ${SSH_AUTH_SOCK}:/ssh-agent:ro
24 | - ansible_galaxy:/ansible/galaxy:rw
25 | environment:
26 | - "PS1=$$(hostname):$$(pwd) $$ "
27 | - SSH_AUTH_SOCK=/ssh-agent
28 | - ANSIBLE_COLLECTIONS_PATHS=/ansible/galaxy
29 | volumes:
30 | ansible_galaxy:
31 |
--------------------------------------------------------------------------------
/install_ansible.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | #
4 |
5 |
6 | sudo apt install -y python3-pip pre-commit
7 |
8 | # https://github.com/ansible/ansible-lint/issues/1795
9 | # pip3 install --user "rich>=10.0.0,<11.0.0"
10 |
11 | pip3 install --user "yamllint==1.26.3"
12 | pip3 install --user "ansible-lint==6.3.0"
13 |
14 | # git pre-commit setup
15 | pip3 install --user pre-commit
16 | pre-commit install
17 | pre-commit install --install-hooks
18 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/db-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | apply_patches_db: true
3 | db_homes_config:
4 | db1919-si-ee: &db1919-si-ee
5 | version: 19.3.0.0
6 | oracle_home: /u01/app/oracle/product/19/db1919-si-ee
7 | edition: EE
8 | opatch_minversion: 12.2.0.1.36
9 | opatch:
10 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
11 | - patchid: 35042068
12 | # Database Release Update 19.19.0.0.230418
13 | stop_processes: true
14 | state: present
15 | path: 19.19.0.0.230418/gi/35037840/35037840/35042068
16 | - patchid: 35050331
17 | # OCW Release Update 19.19.0.0.230418
18 | stop_processes: true
19 | state: present
20 | path: 19.19.0.0.230418/gi/35037840/35037840/35050331
21 | - patchid: 35050341
22 | # Oracle JavaVM Component Release Update (OJVM RU) 19.19.0.0.230418
23 | stop_processes: true
24 | state: present
25 | path: 19.19.0.0.230418/ojvm/p35050341_190000_Linux-x86-64.zip
26 |
27 | db1917-si-ee: &db1917-si-ee
28 | version: 19.3.0.0
29 | oracle_home: /u01/app/oracle/product/19/db1917-si-ee
30 | edition: EE
31 | opatch_minversion: 12.2.0.1.32
32 | opatch:
33 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
34 | # - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
35 | # New Patches
36 | - patchid: 34419443
37 | # Database Release Update 19.17.0.0.221018
38 | patchversion: 19.17.0.0.221018
39 | stop_processes: true
40 | state: present
41 | path: 19.17.0.0.221018/dbru/34419443/34419443
42 | - patchid: 34444834
43 | # OCW Release Update 19.17.0.0.221018
44 | stop_processes: true
45 | state: present
46 | path: 19.17.0.0.221018/gi/34416665/34444834
47 | - patchid: 34411846
48 | # Oracle JavaVM Component Release Update (OJVM RU) 19.17.0.0.221018
49 | stop_processes: true
50 | state: present
51 | path: 19.17.0.0.221018/ojvm/p34411846_190000_Linux-x86-64.zip
52 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
53 |
54 | db1915-si-ee: &db1915-si-ee
55 | version: 19.3.0.0
56 | oracle_home: /u01/app/oracle/product/19/db1915-si-ee
57 | edition: EE
58 | opatch_minversion: 12.2.0.1.28
59 | opatch:
60 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
61 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
62 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
63 | # - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
64 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
65 | - {patchid: 32522300, state: absent, stop_processes: true}
66 | - {patchid: 31143146, state: absent, stop_processes: true}
67 | - {patchid: 32919937, state: absent, stop_processes: true}
68 | - {patchid: 33144001, state: absent, stop_processes: true}
69 | # New Patches
70 | - patchid: 33806152
71 | # Database Release Update 19.15.0.0.220419
72 | patchversion: 19.15.0.0.220419
73 | stop_processes: true
74 | state: present
75 | path: 19.15.0.0.220419/gi/33803476/33803476/33806152
76 | - patchid: 33815596
77 | # OCW Release Update 19.15.0.0.220419
78 | stop_processes: true
79 | state: present
80 | path: 19.15.0.0.220419/gi/33803476/33803476/33815596
81 | - patchid: 33808367
82 | # Oracle JavaVM Component Release Update (OJVM RU) 19.15.0.0.220419
83 | stop_processes: true
84 | state: present
85 | path: 19.15.0.0.220419/ojvm/p33808367_190000_Linux-x86-64.zip
86 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
87 |
88 | db1913-si-ee: &db1913-si-ee
89 | version: 19.3.0.0
90 | oracle_home: /u01/app/oracle/product/19/db1913-si-ee
91 | edition: EE
92 | opatch_minversion: 12.2.0.1.25
93 | opatch:
94 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
95 | - {patchid: 29213893, state: absent, excludeUPI: 24384541, stop_processes: true}
96 | - {patchid: 30978304, state: absent, excludeUPI: 24384338, stop_processes: true}
97 | # - {patchid: 31602782, state: absent, excludeUPI: 24384398, stop_processes: true}
98 | - {patchid: 33121934, state: absent, excludeUPI: 24407586, stop_processes: true}
99 | - {patchid: 32522300, state: absent, stop_processes: true}
100 | - {patchid: 31143146, state: absent, stop_processes: true}
101 | - {patchid: 32919937, state: absent, stop_processes: true}
102 | - {patchid: 33144001, state: absent, stop_processes: true}
103 | # New Patches
104 | - patchid: 33192793
105 | # Database Release Update 19.13.0.0.211019
106 | patchversion: 19.13.0.0.211019
107 | stop_processes: true
108 | state: present
109 | path: 19.13.0.0.211019/gi/33182768/33182768/33192793
110 | - patchid: 33208123
111 | # OCW Release Update 19.13.0.0.211019
112 | stop_processes: true
113 | state: present
114 | path: 19.13.0.0.211019/gi/33182768/33182768/33208123
115 | - patchid: 32876380
116 | # Oracle JavaVM Component Release Update (OJVM RU) 19.13.0.0.211019
117 | stop_processes: true
118 | state: present
119 | path: 19.13.0.0.211019/ojvm/p33192694_190000_Linux-x86-64.zip
120 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
121 | - {patchid: 29213893, path: 19.13.0.0.211019/p29213893_1913000DBRU_Generic.zip, state: present, stop_processes: true}
122 | - {patchid: 30978304, path: 19.13.0.0.211019/p30978304_1913000DBRU_Generic.zip, state: present, stop_processes: true}
123 | # Contention on "CURSOR: PIN S WAIT ON X" when PQ slave's execution plan does not match with QC
124 | # conflicts with 33121934 ...
125 | # - {patchid: 31602782, path: 19.13.0.0.211019/p31602782_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
126 | # Library cache lock / load lock / mutex x during connection storm
127 | - {patchid: 33121934, path: 19.13.0.0.211019/p33121934_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
128 |
129 | db1912-si-ee: &db1912-si-ee
130 | version: 19.3.0.0
131 | oracle_home: /u01/app/oracle/product/19/db1912-si-ee
132 | edition: EE
133 | opatch_minversion: 12.2.0.1.25
134 | opatch:
135 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
136 | - {patchid: 32522300, state: absent, stop_processes: true}
137 | - {patchid: 31143146, state: absent, stop_processes: true}
138 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
139 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
140 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
141 | # New Patches
142 | - patchid: 32904851
143 | # Database Release Update 19.12.0.0.210720
144 | patchversion: 19.12.0.0.210720
145 | stop_processes: true
146 | state: present
147 | path: 19.12.0.0.210720/gi/32895426/32904851
148 | - patchid: 32916816
149 | # OCW Release Update 19.12.0.0.210720
150 | stop_processes: true
151 | state: present
152 | path: 19.12.0.0.210720/gi/32895426/32916816
153 | - patchid: 32876380
154 | # Oracle JavaVM Component Release Update (OJVM RU) 19.12.0.0.210720
155 | stop_processes: true
156 | state: present
157 | path: 19.12.0.0.210720/ojvm/p32876380_190000_Linux-x86-64.zip
158 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
159 | - {patchid: 31602782, path: 19.12.0.0.210720/p31602782_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
160 | - {patchid: 32919937, path: 19.12.0.0.210720/p32919937_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
161 | - {patchid: 33144001, path: 19.12.0.0.210720/p33144001_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
162 |
163 | db1911-si-ee: &db1911-si-ee
164 | version: 19.3.0.0
165 | oracle_home: /u01/app/oracle/product/19/db1911-si-ee
166 | edition: EE
167 | opatch_minversion: 12.2.0.1.24
168 | opatch:
169 | - patchid: 32545013
170 | # Database Release Update 19.11.0.0.210420
171 | patchversion: 19.11.0.0.210420
172 | stop_processes: true
173 | state: present
174 | path: 19.11.0.0.210420/gi/32545008/32545013
175 | - patchid: 32579761
176 | # OCW Release Update 19.11.0.0.210420
177 | stop_processes: true
178 | state: present
179 | path: 19.11.0.0.210420/gi/32545008/32579761
180 | - patchid: 32399816
181 | # Oracle JavaVM Component Release Update (OJVM RU) 19.7.0.0.200414
182 | stop_processes: true
183 | state: present
184 | path: 19.11.0.0.210420/ojvm/p32399816_190000_Linux-x86-64.zip
185 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
186 | - {patchid: 32522300, path: 19.11.0.0.210420/p32522300_1911000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
187 | - {patchid: 31143146, path: 19.11.0.0.210420/p31143146_1911000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
188 | - {patchid: 31602782, path: 19.11.0.0.210420/p31602782_1911000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
189 | - {patchid: 32919937, path: 19.11.0.0.210420/p32919937_1911000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
190 |
191 | db1814-si-ee: &db1814-si-ee
192 | version: 18.3.0.0
193 | oracle_home: /u01/app/oracle/product/18/db1814-si-ee
194 | edition: EE
195 | opatch_minversion: 12.2.0.1.19
196 | opatch:
197 | # JOB PROCESSES FILL THE FILESYSTEM WITH TRACE FILES AFTER INSTALLING BUG 29541742
198 | - {patchid: 30352715, state: absent, excludeUPI: 24122032, stop_processes: true}
199 | - patchid: 32524155
200 | # Database Release Update 18.14.0.0.210420
201 | patchversion: 18.14.0.0.210420
202 | stop_processes: true
203 | state: present
204 | path: 18.14/dbru/32524155
205 | - patchid: 32552752
206 | # Oracle JavaVM Component Release Update (OJVM RU) 19.7.0.0.200414
207 | stop_processes: true
208 | state: present
209 | path: 18.14/ojvm/p32552752_180000_Linux-x86-64.zip
210 | # JOB PROCESSES FILL THE FILESYSTEM WITH TRACE FILES AFTER INSTALLING BUG 29541742
211 | - {patchid: 30352715, state: present, stop_processes: true, path: 18.14/p30352715_1814000DBRU_Linux-x86-64.zip}
212 |
213 | db1813-si-ee: &db1813-si-ee
214 | version: 18.3.0.0
215 | oracle_home: /u01/app/oracle/product/18/db1813-si-ee
216 | edition: EE
217 | opatch_minversion: 12.2.0.1.19
218 | opatch:
219 | - patchid: 32204699
220 | patchversion: 18.13.0.0.210119
221 | stop_processes: true
222 | state: present
223 | path: 18.13/dbru/32204699
224 | - patchid: 30352715
225 | # Oracle JavaVM Component Release Update (OJVM RU) 19.7.0.0.200414
226 | patchversion: 18.13.0.0.210119
227 | stop_processes: true
228 | state: present
229 | path: 18.13/p30352715_1813000DBRU_Linux-x86-64.zip
230 | # JOB PROCESSES FILL THE FILESYSTEM WITH TRACE FILES AFTER INSTALLING BUG 29541742
231 | - {patchid: 30352715, state: present, stop_processes: true, path: 18.13/p30352715_1813000DBRU_Linux-x86-64.zip}
232 |
233 | db12201-si-ee:
234 | version: 12.2.0.1
235 | oracle_home: /u01/app/oracle/product/12.2.0.1/db12201-si-ee
236 | edition: EE
237 | dnfs: true
238 | opatch_minversion: 12.2.0.1.13
239 |
240 | db12102-si-ee:
241 | # home: db12102-si-ee
242 | version: 12.1.0.2
243 | oracle_home: /u01/app/oracle/product/12.1.0.2/db12102-si-ee
244 | edition: EE
245 | dnfs: true
246 | opatch_minversion: 12.2.0.1.13
247 |
248 | db11204-si-ee:
249 | version: 11.2.0.4
250 | oracle_home: /u01/app/oracle/product/11.2.0.4/db11204-si-ee
251 | edition: EE
252 | opatch_minversion: 11.2.0.3.20
253 |
254 | # Current Mapping of ORACLE_HOMEs
255 | # use this mapping for fast change between the Release Updates
256 | # <<: * => merge values from alias and overwrite oracle_home + home
257 | db19-si-ee:
258 | <<: *db1919-si-ee
259 | # imagename: db_home_19.13.zip
260 | oracle_home: /u01/app/oracle/product/19/db1
261 | oracle_home_name: db19_si_ee
262 | readonly_home: true
263 | db18-si-ee:
264 | <<: *db1814-si-ee
265 | # oracle_home: /u01/app/oracle/product/18/db1
266 |
267 | db_homes_installed:
268 | - home: db19-si-ee
269 | apply_patches: true
270 | state: present
271 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/db-profiles.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # global Defaults for Database-Profiles
3 |
4 | oracle_default_profiles:
5 | - name: DEFAULT
6 | state: present
7 | attributes:
8 | - {name: password_life_time, value: unlimited}
9 | - name: PW_UNLIMIT
10 | state: present
11 | attributes:
12 | - {name: password_life_time, value: "UNLIMITED"}
13 | - {name: password_grace_time, value: "7"}
14 | - {name: password_lock_time, value: "1"}
15 | - {name: password_verify_function, value: "null"}
16 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Oracle gets problems, when root processes are not visible
3 | hidepid_option: 0
4 |
5 | os_security_kernel_enable_module_loading: true
6 |
7 | sysctl_overwrite:
8 | network_ipv6_enable: false
9 | fs.protected_regular: 0 # needed for opatchauto ...
10 |
11 | # ssh settings
12 | ssh_print_last_log: true
13 | ssh_allow_agent_forwarding: false
14 | ssh_permit_tunnel: false
15 | ssh_allow_tcp_forwarding: 'no'
16 | ssh_max_auth_retries: 3
17 |
18 | ssh_allow_users: vagrant ansible
19 |
20 | # disable some ansible-oracle options
21 | disable_selinux: false
22 | configure_oracle_sudo: false
23 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/host.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_public_yum_repo: false
3 | configure_motd: false
4 |
5 | configure_cluster: false
6 | role_separation: false
7 | configure_oracle_sudo: true
8 |
9 | # yamllint disable-line rule:var-naming
10 | disable_ee_options: true
11 |
12 | control_management_pack_access: NONE
13 |
14 | autostartup_service: true
15 |
16 | configure_hugepages_by: memory
17 |
18 | # disable hugepages on small systems
19 | # don't forget to enable use_large_pages in oracle parameter
20 | # size_in_gb_hugepages: 2
21 | size_in_gb_hugepages: 0
22 |
23 | oracle_stage: /u01/stage
24 |
25 | configure_host_disks: true
26 |
27 | host_fs_layout:
28 | - vgname: vgora
29 | state: present
30 | filesystem:
31 | - {mntp: /u01, lvname: lvorabase, lvsize: 25G, fstype: xfs}
32 | - {mntp: /u02, lvname: lvoradata, lvsize: 25G, fstype: xfs, fsopts: "-m reflink=1 -m crc=1"}
33 | - {mntp: swap, lvname: swaplv, lvsize: 16g, fstype: swap}
34 | disk:
35 | - {device: /dev/sdb, pvname: /dev/sdb1}
36 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/passwords.yml:
--------------------------------------------------------------------------------
1 | ---
2 | #
3 | # IMPORTANT!!!!
4 | #
5 | # Do not forget to encrypt this file or entries with ansible-vault.
6 | #
7 | default_dbpass: Oracle_123
8 |
9 | dbpasswords:
10 | DB1:
11 | sys: Oracle_123
12 | system: Oracle_123
13 | dbsnmp: Oracle_456
14 | pdbadmin: Oracle_456
15 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/software_src.yml:
--------------------------------------------------------------------------------
1 | ---
2 | is_sw_source_local: true
3 | oracle_sw_copy: false
4 | oracle_sw_unpack: false
5 |
6 | oracle_stage_remote: /sw/oracle/linux64
7 |
8 | golden_image_dest: /u01/golden
9 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/all/sqlnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_tnsnames_config:
4 | dg19_orclpdb:
5 | connect:
6 | service_name: orclpdb
7 | address:
8 | - host: oradg1
9 | - host: oradg2
10 |
11 | dg19_db19dg1:
12 | connect:
13 | service_name: db19u1_DGMGRL
14 | address:
15 | - host: oradg1
16 |
17 | dg19_db19dg2:
18 | connect:
19 | service_name: db19u2_DGMGRL
20 | address:
21 | - host: oradg2
22 |
23 | sqlnet_installed:
24 | - home: db19-si-ee
25 | sqlnet: sqlnetalias1
26 | state: present
27 |
28 | sqlnet_config:
29 | sqlnetalias1:
30 | - {name: "ADR_BASE", value: "/u01/app/oracle/"}
31 | - {name: "SQLNET.ALLOWED_LOGON_VERSION_CLIENT", value: 12}
32 |
33 | # tnsnames_installed must be defined for oradb_rman role
34 | tnsnames_installed: []
35 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/dbfs/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db19-si-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | # is_container: false
11 | # Example custom DBCA-Template, usable for CDB and nonCDB
12 | # dbca_templatename: 19c_custom_dbca.dbt
13 | storage_type: FS # Database storage to be used. ASM or FS.
14 | oracle_db_mem_totalmb: 1024 # Amount of RAM to be used for SGA
15 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
16 | redolog_size: 75M
17 | redolog_groups: 3
18 | datafile_dest: /u02/oradata
19 | recoveryfile_dest: /u02/fra
20 | listener_name: LISTENER # This home will have a listener configured
21 | listener_port: &cdb_listener_port 1521
22 | # *local_listener is used in initparam as an achor
23 | local_listener: &local_listener "{{ ansible_hostname }}:1521"
24 | archivelog: false
25 | flashback: false
26 | force_logging: true
27 | state: present
28 | statspack:
29 | purgedays: 14
30 | snaplevel: 5
31 | state: present
32 | tablespaces:
33 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
34 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
36 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
37 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
38 | init_parameters:
39 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
40 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
41 | - {name: local_listener, value: *local_listener, scope: both, state: present}
42 | - {name: archive_lag_target, value: '900', scope: both, state: present}
43 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
44 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
45 | - {name: db_files, value: '200', scope: spfile, state: present}
46 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
47 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
48 | - {name: job_queue_processes, value: '10', scope: both, state: present}
49 | # Disable forcing hugepages on really small systems
50 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
51 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
52 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
53 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
54 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
55 | - {name: pga_aggregate_target, value: '200M', scope: both, state: present, dbca: false}
56 | - {name: sga_target, value: '1800M', scope: spfile, state: present, dbca: false}
57 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
58 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
59 | - {name: streams_pool_size, value: '152M', scope: spfile, state: present}
60 | # "_cursor_obsolete_threshold" for 12.2+
61 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
62 | - {name: max_pdbs, value: '3', scope: both, state: present}
63 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
64 | - {name: db_create_file_dest, value: '/u02/oradata', scope: both, state: present}
65 | - {name: db_create_online_log_dest_1, value: '/u02/oradata', scope: both, state: present}
66 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
67 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
68 |
69 | profiles:
70 | - name: DEFAULT
71 | state: present
72 | attributes:
73 | - {name: password_life_time, value: unlimited}
74 |
75 | - name: "C##CMK_MONITORING"
76 | state: present
77 | attributes:
78 | - {name: password_life_time, value: unlimited}
79 | - {name: sessions_per_user, value: 5}
80 | - {name: password_grace_time, value: 7}
81 | - {name: password_lock_time, value: 1}
82 | - {name: password_verify_function, value: "NULL"}
83 |
84 | users:
85 | - schema: dbsnmp
86 | state: unlocked
87 | update_password: always
88 | - schema: c##check_mk
89 | grants:
90 | - select_catalog_role
91 | - create session
92 | state: present
93 |
94 | rman_jobs:
95 | - {name: parameter}
96 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
97 |
98 | oracle_pdb_db1_orclpdb:
99 | home: *db_config_home
100 | listener_port: *cdb_listener_port
101 | cdb: *oracle_db_name
102 | pdb_name: ORCLPDB
103 | state: present
104 | profiles: "{{ oracle_default_profiles }}"
105 | statspack:
106 | purgedays: 14
107 | snaplevel: 7
108 | state: present
109 |
110 | tablespaces:
111 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
112 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
113 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
114 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
115 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
116 | # init_parameters:
117 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
118 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/dbfs/db-wallet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_wallet_config:
3 | - name: wallet1
4 | home: db19-si-ee
5 | path: /u01/app/oracle/wallet
6 | state: present
7 | # mode: g+rx
8 | dbcredentials:
9 | - tns_name: orclpdb_checkmk
10 | db_name: db1
11 | db_user: C##CMK_MONITORING
12 | state: present
13 | - tns_name: orclpdb_dbsnmp
14 | db_name: db1
15 | db_user: DBSNMP
16 | state: present
17 |
18 | oracle_wallet_password:
19 | wallet1: Oracle_987
20 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/dbfs/listener.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_listeners_config:
4 | LISTENER:
5 | home: &listener_home db19-si-ee
6 | address:
7 | - host: "{{ ansible_hostname }}"
8 | protocol: TCP
9 | port: 1521
10 |
11 | listener_installed:
12 | - home: *listener_home
13 | listener_name: LISTENER
14 | state: present
15 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/dbfs/passwords.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # GI
3 | default_gipass: Oracle123
4 | sysasmpassword: Oracle_123
5 | asmmonitorpassword: Oracle_123
6 |
7 | # DB
8 | # default_dbpass: Oracle123
9 | dbpasswords:
10 | DB1:
11 | system: Oracle_123
12 | sys: Oracle_123
13 | dbsnmp: Oracle_123
14 | pdbadmin: Oracle_456
15 | ORCLPDB:
16 | pdbadmin: Oracle_456
17 | appuser: appuser123
18 |
--------------------------------------------------------------------------------
/inventory/dbfs/group_vars/dbfs/tnsnames.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Example configuration
3 | oracle_tnsnames_config:
4 | orclpdb:
5 | alias:
6 | - orclpdb_dbsnmp
7 | - orclpdb_checkmk
8 | connect:
9 | service_name: orclpdb
10 | address:
11 | - host: localhost
12 |
13 | tnsnames_installed:
14 | - home: db19-si-ee
15 | tnsname: orclpdb
16 | state: present
17 |
--------------------------------------------------------------------------------
/inventory/dbfs/host_vars/dbfs161-192-168-56-161.nip.io/ansible.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ansible_python_interpreter: /usr/bin/python2
3 |
--------------------------------------------------------------------------------
/inventory/dbfs/host_vars/dbfs161-192-168-56-161.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | oracle_databases:
10 | - "{{ oracle_database_db1 }}"
11 |
12 | oracle_pdbs:
13 | - "{{ oracle_pdb_db1_orclpdb }}"
14 |
--------------------------------------------------------------------------------
/inventory/dbfs/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/db-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | apply_patches_db: true
3 | db_homes_config:
4 |
5 | db2110-gi-ee: &db2110-gi-ee
6 | home: db2110-gi-ee
7 | version: 21.3.0.0
8 | oracle_home: /u01/app/oracle/product/21/db2110-gi-ee
9 | edition: EE
10 | opatch_minversion: 12.2.0.1.29
11 | opatchauto:
12 | - patchid: 35132566
13 | patchversion: 21.10.0.0.230418
14 | state: present
15 | path: 21.10.0.0.230418/gi/35132566/35132566/
16 | subpatches:
17 | - 35134943 # OCW Release Update 21.10.0.0.230418
18 | - 35134934 # Database Release Update 21.10.0.0.230418
19 |
20 | db2106-gi-ee: &db2106-gi-ee
21 | home: db2106-gi-ee
22 | version: 21.3.0.0
23 | oracle_home: /u01/app/oracle/product/21/db2106-gi-ee
24 | edition: EE
25 | opatch_minversion: 12.2.0.1.29
26 | opatchauto:
27 | - patchid: 33250101
28 | patchversion: 21.6.0.0.220419
29 | state: present
30 | path: 21.6.0.0.220419/gi/33859395/33859395/
31 | subpatches:
32 | - 33853705 # OCW Release Update 21.6.0.0.220419
33 | - 33843745 # Database Release Update 21.6.0.0.220419
34 |
35 | db2104-gi-ee: &db2104-gi-ee
36 | home: db2104-gi-ee
37 | version: 21.3.0.0
38 | oracle_home: /u01/app/oracle/product/21/db2104-gi-ee
39 | edition: EE
40 | opatch_minversion: 12.2.0.1.28
41 | opatchauto:
42 | - patchid: 33250101
43 | patchversion: 21.4.0.0.211019
44 | state: present
45 | path: 21.4.0.0.211019/gi/33250101/33250101/
46 | subpatches:
47 | - 33271793 # OCW Release Update 21.4.0.0.211019
48 | - 33239276 # Database Release Update 21.4.0.0.211019
49 |
50 | db2103-gi-ee: &db2103-gi-ee
51 | home: db2103-gi-ee
52 | version: 21.3.0.0
53 | oracle_home: /u01/app/oracle/product/21/db2103-gi-ee
54 | edition: EE
55 | opatch_minversion: 12.2.0.1.24
56 |
57 | db1915-gi-ee: &db1915-gi-ee
58 | home: db1915-si-ee
59 | version: 19.3.0.0
60 | oracle_home: /u01/app/oracle/product/19/db1915-si-ee
61 | edition: EE
62 | opatch_minversion: 12.2.0.1.27
63 | opatchauto:
64 | - patchid: 33803476
65 | patchversion: 19.15.0.0.220419
66 | state: present
67 | path: ./19.15.0.0.220419/gi/33803476/33803476
68 | subpatches:
69 | - 33815596 # OCW Release Update 19.15.0.0.220419
70 | - 33575402 # DBWLM Release Update
71 | - 33806152 # Database Release Update 19.15.0.0.220419
72 | opatch:
73 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
74 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
75 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
76 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
77 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
78 | - {patchid: 32522300, state: absent, stop_processes: true}
79 | - {patchid: 31143146, state: absent, stop_processes: true}
80 | - {patchid: 32919937, state: absent, stop_processes: true}
81 | - {patchid: 33144001, state: absent, stop_processes: true}
82 | - patchid: 33808367
83 | # Oracle JavaVM Component Release Update (OJVM RU) 19.15.0.0.220419
84 | stop_processes: true
85 | state: present
86 | path: 19.15.0.0.220419/ojvm/p33808367_190000_Linux-x86-64.zip
87 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
88 |
89 | db1913-gi-ee: &db1913-gi-ee
90 | home: db1913-si-ee
91 | version: 19.3.0.0
92 | oracle_home: /u01/app/oracle/product/19/db1913-si-ee
93 | edition: EE
94 | opatch_minversion: 12.2.0.1.27
95 | opatchauto:
96 | - patchid: 33182768
97 | patchversion: 19.13.0.0.211019
98 | state: present
99 | path: ./19.13.0.0.211019/gi/33182768/33182768
100 | subpatches:
101 | - 33208123 # OCW Release Update 19.13.0.0.211019
102 | - 32585572 # DBWLM Release Update
103 | - 33192793 # Database Release Update 19.13.0.0.211019
104 | opatch:
105 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
106 | - {patchid: 29213893, state: absent, excludeUPI: 24384541, stop_processes: true}
107 | - {patchid: 30978304, state: absent, excludeUPI: 24384338, stop_processes: true}
108 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
109 | - {patchid: 33121934, state: absent, excludeUPI: 24407586, stop_processes: true}
110 | - {patchid: 32522300, state: absent, stop_processes: true}
111 | - {patchid: 31143146, state: absent, stop_processes: true}
112 | - {patchid: 32919937, state: absent, stop_processes: true}
113 | - {patchid: 33144001, state: absent, stop_processes: true}
114 | - patchid: 32876380
115 | # Oracle JavaVM Component Release Update (OJVM RU) 19.13.0.0.211019
116 | stop_processes: true
117 | state: present
118 | path: 19.13.0.0.211019/ojvm/p33192694_190000_Linux-x86-64.zip
119 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
120 | - {patchid: 29213893, path: 19.13.0.0.211019/p29213893_1913000DBRU_Generic.zip, state: present, stop_processes: true}
121 | - {patchid: 30978304, path: 19.13.0.0.211019/p30978304_1913000DBRU_Generic.zip, state: present, stop_processes: true}
122 | # Contention on "CURSOR: PIN S WAIT ON X" when PQ slave's execution plan does not match with QC
123 | # conflicts with 33121934 ...
124 | # - {patchid: 31602782, path: 19.13.0.0.211019/p31602782_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
125 | # Library cache lock / load lock / mutex x during connection storm
126 | - {patchid: 33121934, path: 19.13.0.0.211019/p33121934_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
127 |
128 | db1912-gi-ee: &db1912-gi-ee
129 | home: db1912-si-ee
130 | version: 19.3.0.0
131 | oracle_home: /u01/app/oracle/product/19/db1912-si-ee
132 | edition: EE
133 | opatch_minversion: 12.2.0.1.25
134 | opatchauto:
135 | - patchid: 30899722
136 | patchversion: 19.12.0.0.200414
137 | state: present
138 | path: 19.12.0.0.210720/gi/32895426
139 | subpatches:
140 | - 32916816 # OCW Release Update 19.12.0.0.210720
141 | - 32904851 # Database Release Update 19.12.0.0.210720
142 | opatch:
143 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
144 | - {patchid: 32522300, state: absent, stop_processes: true}
145 | - {patchid: 31143146, state: absent, stop_processes: true}
146 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
147 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
148 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
149 | # New Patches
150 |
151 | db1911-gi-ee: &db1911-gi-ee
152 | home: db1911-gi-ee
153 | version: 19.3.0.0
154 | oracle_home: /u01/app/oracle/product/19/db1911-gi-ee
155 | edition: EE
156 | opatch_minversion: 12.2.0.1.24
157 |
158 | db1814-gi-ee: &db1814-gi-ee
159 | home: db1814-gi-ee
160 | version: 18.3.0.0
161 | oracle_home: /u01/app/oracle/product/18/db1814-gi-ee
162 | edition: EE
163 | opatch_minversion: 12.2.0.1.19
164 |
165 | db12201-gi-ee:
166 | home: db12201-gi-ee
167 | version: 12.2.0.1
168 | oracle_home: /u01/app/oracle/product/12.2.0.1/db12201-gi-ee
169 | edition: EE
170 | dnfs: true
171 | opatch_minversion: 12.2.0.1.13
172 |
173 | db12102-gi-ee:
174 | home: db12102-gi-ee
175 | version: 12.1.0.2
176 | oracle_home: /u01/app/oracle/product/12.1.0.2/db12102-gi-ee
177 | edition: EE
178 | dnfs: true
179 | opatch_minversion: 12.2.0.1.13
180 |
181 | db11204-gi-ee:
182 | home: db11204-gi-ee
183 | version: 11.2.0.4
184 | oracle_home: /u01/app/oracle/product/11.2.0.4/db11204-gi-ee
185 | edition: EE
186 | opatch_minversion: 11.2.0.3.20
187 |
188 | # Current Mapping of ORACLE_HOMEs
189 | # use this mapping for fast change between the Release Updates
190 | # <<: * => merge values from alias and overwrite oracle_home + home
191 | db21-gi-ee:
192 | <<: *db2110-gi-ee
193 | oracle_home: /u01/app/oracle/product/21/db1
194 | home: db21-gi-ee
195 | db19-gi-ee:
196 | <<: *db1915-gi-ee
197 | # imagename: db_home_19.15.zip
198 | oracle_home: /u01/app/oracle/product/19/db1
199 | home: db19-gi-ee
200 | db18-gi-ee:
201 | <<: *db1814-gi-ee
202 | # oracle_home: /u01/app/oracle/product/18/db1
203 | # home: db18-gi-ee
204 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/db-profiles.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # global Defaults for Database-Profiles
3 |
4 | oracle_default_profiles:
5 | - name: DEFAULT
6 | state: present
7 | attributes:
8 | - {name: password_life_time, value: unlimited}
9 | - name: PW_UNLIMIT
10 | state: present
11 | attributes:
12 | - {name: password_life_time, value: "UNLIMITED"}
13 | - {name: password_grace_time, value: 7}
14 | - {name: password_lock_time, value: 1}
15 | - {name: password_verify_function, value: "null"}
16 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Oracle gets problems, when root processes are not visible
3 | hidepid_option: 0
4 |
5 | os_security_kernel_enable_module_loading: true
6 |
7 | sysctl_overwrite:
8 | network_ipv6_enable: false
9 | fs.protected_regular: 0 # needed for opatchauto ...
10 |
11 | # ssh settings
12 | ssh_print_last_log: true
13 | ssh_allow_agent_forwarding: false
14 | ssh_permit_tunnel: false
15 | ssh_allow_tcp_forwarding: 'no'
16 | ssh_max_auth_retries: 3
17 |
18 | ssh_allow_users: vagrant ansible
19 |
20 | # disable some ansible-oracle options
21 | disable_selinux: false
22 | configure_oracle_sudo: false
23 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/gi-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This configuration file is used as a global default
3 | # The variable gi_patches_config is not part of ansible-oracle. It is
4 | # referenced from other structures in the Inventory.
5 |
6 | oraswgi_golen_image_create: true
7 |
8 | grid_user: oracle
9 |
10 | gi_patches_config:
11 |
12 | 21.10.0.0.230418:
13 | 21.3.0.0: # Base Release
14 | opatch_minversion: 12.2.0.1.29
15 | opatchauto:
16 | - patchid: 35132566
17 | patchversion: 21.4.0.0.211019
18 | state: present
19 | path: 21.10.0.0.230418/gi/35132566/35132566/
20 | subpatches:
21 | - 35134943 # OCW Release Update 21.10.0.0.230418
22 | - 35134934 # Database Release Update 21.10.0.0.230418
23 |
24 | 21.6.0.0.220419:
25 | 21.3.0.0: # Base Release
26 | opatch_minversion: 12.2.0.1.29
27 | opatchauto:
28 | - patchid: 33859395
29 | patchversion: 21.4.0.0.211019
30 | state: present
31 | path: 21.6.0.0.220419/gi/33859395/33859395/
32 | subpatches:
33 | - 33853705 # OCW Release Update 21.6.0.0.220419
34 | - 33843745 # Database Release Update 21.6.0.0.220419
35 |
36 | 21.4.0.0.211019:
37 | 21.3.0.0: # Base Release
38 | opatch_minversion: 12.2.0.1.27
39 | opatchauto:
40 | - patchid: 33250101
41 | patchversion: 21.4.0.0.211019
42 | state: present
43 | path: 21.4.0.0.211019/gi/33250101/33250101/
44 | subpatches:
45 | - 33271793 # OCW Release Update 21.4.0.0.211019
46 | - 33239276 # Database Release Update 21.4.0.0.211019
47 |
48 | 19.21.0.0.231017:
49 | 19.3.0.0: # Base Release
50 | opatch_minversion: 12.2.0.1.37
51 | opatchauto:
52 | - patchid: 35642822
53 | patchversion: 19.21.0.0.231017
54 | state: present
55 | path: ./19.21.0.0.231017/gi/35642822/35642822
56 | subpatches:
57 | - 35655527 # OCW Release Update
58 | - 33575402 # DBWLM Release Update
59 | - 35652062 # ACFS Release Update
60 | - 35553096 # TOMCAT RELEASE UPDATE 19.0.0.0.0
61 | - 35643107 # Database Release Update
62 |
63 | 19.16.0.0.220719:
64 | 19.3.0.0: # Base Release
65 | opatch_minversion: 12.2.0.1.30
66 | opatchauto:
67 | - patchid: 34130714
68 | patchversion: 19.16.0.0.220719
69 | state: present
70 | path: ./19.16.0.0.220719/gi/34130714/34130714
71 | subpatches:
72 | - 34160635 # OCW Release Update 19.16.0.0.220719
73 | - 33575402 # DBWLM Release Update
74 | - 34139601 # ACFS Release Update 19.16.0.0.220719
75 | - 34318175 # TOMCAT RELEASE UPDATE 19.0.0.0.0
76 | - 34133642 # Database Release Update 19.16.0.0.220719
77 | opatch:
78 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
79 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
80 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
81 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
82 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
83 | - {patchid: 32522300, state: absent, stop_processes: true}
84 | - {patchid: 31143146, state: absent, stop_processes: true}
85 | - {patchid: 32919937, state: absent, stop_processes: true}
86 | - {patchid: 33144001, state: absent, stop_processes: true}
87 | - patchid: 34086870
88 | # Oracle JavaVM Component Release Update (OJVM RU) 19.16.0.0.220719
89 | stop_processes: true
90 | state: present
91 | path: 19.16.0.0.220719/ojvm/p34086870_190000_Linux-x86-64.zip
92 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
93 |
94 | 19.15.0.0.220419:
95 | 19.3.0.0: # Base Release
96 | opatch_minversion: 12.2.0.1.29
97 | opatchauto:
98 | - patchid: 33803476
99 | patchversion: 19.15.0.0.220419
100 | state: present
101 | path: ./19.15.0.0.220419/gi/33803476/33803476
102 | subpatches:
103 | - 33815596 # OCW Release Update 19.15.0.0.220419
104 | - 33575402 # DBWLM Release Update
105 | - 33806152 # Database Release Update 19.15.0.0.220419
106 | opatch:
107 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
108 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
109 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
110 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
111 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
112 | - {patchid: 32522300, state: absent, stop_processes: true}
113 | - {patchid: 31143146, state: absent, stop_processes: true}
114 | - {patchid: 32919937, state: absent, stop_processes: true}
115 | - {patchid: 33144001, state: absent, stop_processes: true}
116 | - patchid: 33808367
117 | # Oracle JavaVM Component Release Update (OJVM RU) 19.15.0.0.220419
118 | stop_processes: true
119 | state: present
120 | path: 19.15.0.0.220419/ojvm/p33808367_190000_Linux-x86-64.zip
121 |
122 | 19.13.0.0.211019:
123 | 19.3.0.0: # Base Release
124 | opatch_minversion: 12.2.0.1.27
125 | opatchauto:
126 | - patchid: 33182768
127 | patchversion: 19.13.0.0.211019
128 | state: present
129 | path: ./19.13.0.0.211019/gi/33182768/33182768
130 | subpatches:
131 | - 33208123 # OCW Release Update 19.13.0.0.211019
132 | - 32585572 # DBWLM Release Update
133 | - 33192793 # Database Release Update 19.13.0.0.211019
134 | opath:
135 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
136 | - {patchid: 32522300, state: absent, stop_processes: true}
137 | - {patchid: 31143146, state: absent, stop_processes: true}
138 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
139 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
140 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
141 | - patchid: 32876380
142 | # Oracle JavaVM Component Release Update (OJVM RU) 19.12.0.0.210720
143 | stop_processes: true
144 | state: present
145 | path: 19.12.0.0.210720/ojvm/p32876380_190000_Linux-x86-64.zip
146 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
147 | - {patchid: 31602782, path: 19.12.0.0.210720/p31602782_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
148 | - {patchid: 32919937, path: 19.12.0.0.210720/p32919937_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
149 | - {patchid: 33144001, path: 19.12.0.0.210720/p33144001_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
150 |
151 | 19.12.0.0.210720:
152 | 19.3.0.0: # Base Release
153 | opatch_minversion: 12.2.0.1.25
154 | opatchauto:
155 | - patchid: 32895426
156 | patchversion: 19.12.0.0.210720
157 | state: present
158 | path: 19.12.0.0.210720/gi/32895426
159 | subpatches:
160 | - 32916816 # OCW Release Update 19.12.0.0.210720
161 | - 32585572 # DBWLM Release Update
162 | - 32904851 # Database Release Update 19.12.0.0.210720
163 |
164 | # 19.11 is an example based on a GoldenImage with RU 19.11
165 | # Please add following variable:
166 | # oracle_install_image_gi: restart_home_19.16.zip
167 | 19.11.0.0.210720:
168 | 19.3.0.0: # Base Release
169 | opatch_minversion: 12.2.0.1.25
170 |
171 | 19.4.0.0.190716:
172 | 19.3.0.0: # Base Release
173 | opatch_minversion: 12.2.0.1.17
174 | opatchauto:
175 | - patchid: 29252072
176 | patchversion: 19.4.0.0.190716
177 | state: present
178 | path: 29708769/29708769
179 | subpatches:
180 | - 29834717
181 | - 29850993
182 | - 29851014
183 | - 29401763
184 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/host.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_public_yum_repo: false
3 | configure_motd: false
4 |
5 | configure_cluster: false
6 | role_separation: false
7 | configure_oracle_sudo: true
8 | disable_ee_options: true
9 | autostartup_service: true
10 |
11 | control_management_pack_access: NONE
12 |
13 | configure_hugepages_by: memory
14 |
15 | # disable hugepages on small systems
16 | # don't forget to enable use_large_pages in oracle parameter
17 | # size_in_gb_hugepages: 2
18 | size_in_gb_hugepages: 0
19 |
20 | oracle_stage: /u01/stage
21 |
22 | configure_host_disks: true
23 |
24 | host_fs_layout:
25 | - vgname: oravg
26 | state: present
27 | filesystem:
28 | - {mntp: /u01, lvname: orabaselv, lvsize: 40G, fstype: xfs}
29 | - {mntp: swap, lvname: swaplv, lvsize: 16g, fstype: swap}
30 | disk:
31 | - {device: /dev/sdb, pvname: /dev/sdb1}
32 | - vgname: rootvg
33 | state: present
34 | filesystem:
35 | - {mntp: /tmp, lvname: tmplv, lvsize: 1200m, fstype: ext4}
36 | disk:
37 | - {device: /dev/sda, pvname: /dev/sda2}
38 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/software_src.yml:
--------------------------------------------------------------------------------
1 | ---
2 | is_sw_source_local: true
3 | oracle_sw_copy: false
4 | oracle_sw_unpack: false
5 |
6 | oracle_stage_remote: /sw/oracle/linux64
7 |
8 | golden_image_dest: /u01/golden
9 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/all/sqlnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_tnsnames_config:
4 | dg19_orclpdb:
5 | connect:
6 | service_name: orclpdb
7 | address:
8 | - host: oradg1
9 | - host: oradg2
10 |
11 | dg19_db19dg1:
12 | connect:
13 | service_name: db19u1_DGMGRL
14 | address:
15 | - host: oradg1
16 |
17 | dg19_db19dg2:
18 | connect:
19 | service_name: db19u2_DGMGRL
20 | address:
21 | - host: oradg2
22 |
23 | # sqlnet_installed:
24 | # - home: db19-si-ee
25 | # sqlnet: sqlnetalias1
26 | # state: present
27 |
28 | sqlnet_config:
29 | sqlnetalias1:
30 | - {name: "ADR_BASE", value: "/u01/app/oracle/"}
31 | - {name: "SQLNET.ALLOWED_LOGON_VERSION_CLIENT", value: "12"}
32 |
33 | # tnsnames_installed must be defined for oradb_rman role
34 | tnsnames_installed: []
35 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/has19c/asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_install_option_gi: HA_CONFIG
3 | oracle_install_version_gi: 19.3.0.0
4 | oracle_home_gi: /u01/app/oracle/19/grid
5 |
6 | oracle_install_image_gi: restart_home_19.16.zip
7 |
8 | apply_patches_gi: true
9 | gi_patches:
10 | # "{{ gi_patches_config['19.16.0.0.220719'] }}"
11 | "{{ gi_patches_config['19.21.0.0.231017'] }}"
12 |
13 | # ASMlib Configuration
14 | device_persistence: asmlib
15 | oracle_asm_disk_string: ORCL:*
16 |
17 | # ASMFD Configuration
18 | # device_persistence: asmfd
19 | # oracle_asmfd_disk_string: /dev/sd*
20 | # oracle_asm_disk_string: AFD:*
21 |
22 | oracle_asm_init_dg: data
23 |
24 | asm_diskgroups: # ASM Diskgroups used for DB-storage. Should map to dict asm_storage_layout.
25 | - diskgroup: data
26 | state: present
27 | properties:
28 | - {redundancy: external, ausize: 4}
29 | attributes:
30 | - {name: compatible.rdbms, value: 11.2.0.4.0}
31 | - {name: compatible.asm, value: "19.0.0.0.0"}
32 | disk:
33 | - {device: /dev/sdc, asmlabel: data01}
34 | - diskgroup: fra
35 | state: present
36 | properties:
37 | - {redundancy: external, ausize: 4}
38 | attributes:
39 | - {name: compatible.rdbms, value: 11.2.0.4.0}
40 | - {name: compatible.asm, value: "19.0.0.0.0"}
41 | disk:
42 | - {device: /dev/sdd, asmlabel: fra01}
43 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/has19c/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db19-gi-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | storage_type: ASM # Database storage to be used. ASM or FS.
11 | oracle_db_mem_totalmb: 1536 # Amount of RAM to be used for SGA
12 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
13 | redolog_size: 75M
14 | redolog_groups: 3
15 | datafile_dest: +DATA
16 | recoveryfile_dest: +FRA
17 | # listener_name: LISTENER # This home will have a listener configured
18 | listener_port: &cdb_listener_port 1521
19 | # *local_listener is used in initparam as an achor
20 | local_listener: &local_listener "'{{ ansible_hostname }}:1521'"
21 | archivelog: false
22 | flashback: false
23 | force_logging: true
24 | state: present
25 | statspack:
26 | purgedays: 14
27 | snaplevel: 5
28 | state: present
29 | tablespaces:
30 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
31 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
32 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
33 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
34 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | init_parameters:
36 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
37 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
38 | # - {name: local_listener, value: *local_listener, scope: both, state: present}
39 | - {name: archive_lag_target, value: '900', scope: both, state: present}
40 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
41 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
42 | - {name: db_files, value: '200', scope: spfile, state: present}
43 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
44 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
45 | - {name: job_queue_processes, value: '10', scope: both, state: present}
46 | # Disable forcing hugepages on really small systems
47 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
48 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
49 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
50 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
51 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
52 | - {name: pga_aggregate_target, value: '160M', scope: both, state: present, dbca: false}
53 | - {name: sga_target, value: '1895825408', scope: spfile, state: present, dbca: false}
54 | - {name: shared_pool_size, value: '768M', scope: both, state: present, dbca: true}
55 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
56 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
57 | - {name: streams_pool_size, value: '117440512', scope: spfile, state: present}
58 | # "_cursor_obsolete_threshold" for 12.2+
59 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
60 | - {name: max_pdbs, value: '3', scope: both, state: present}
61 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
62 | - {name: db_create_file_dest, value: '+DATA', scope: both, state: present}
63 | - {name: db_create_online_log_dest_1, value: '+DATA', scope: both, state: present}
64 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
65 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
66 |
67 | profiles:
68 | - name: DEFAULT
69 | state: present
70 | attributes:
71 | - {name: password_life_time, value: unlimited}
72 |
73 | - name: "C##CMK_MONITORING"
74 | state: present
75 | attributes:
76 | - {name: password_life_time, value: unlimited}
77 | - {name: sessions_per_user, value: 5}
78 | - {name: password_grace_time, value: 7}
79 | - {name: password_lock_time, value: 1}
80 | - {name: password_verify_function, value: "NULL"}
81 |
82 | users:
83 | - schema: dbsnmp
84 | state: unlocked
85 | update_password: always
86 | - schema: c##check_mk
87 | grants:
88 | - select_catalog_role
89 | - create session
90 | state: present
91 |
92 | rman_jobs:
93 | - {name: parameter}
94 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
95 |
96 | oracle_pdb_db1_orclpdb:
97 | home: *db_config_home
98 | listener_port: *cdb_listener_port
99 | cdb: *oracle_db_name
100 | pdb_name: ORCLPDB
101 | state: present
102 | profiles: "{{ oracle_default_profiles }}"
103 | statspack:
104 | purgedays: 14
105 | snaplevel: 7
106 | state: present
107 |
108 | tablespaces:
109 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
110 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
111 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
112 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
113 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
114 | # init_parameters:
115 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
116 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/has21c/asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_install_option_gi: HA_CONFIG
3 | oracle_install_version_gi: 21.3.0.0
4 | oracle_home_gi: /u01/app/oracle/21/grid
5 |
6 | oracle_install_image_gi: restart_home_21.10.zip
7 |
8 | apply_patches_gi: true
9 | gi_patches:
10 | "{{ gi_patches_config['21.10.0.0.230418'] }}"
11 |
12 | # ASMlib Configuration
13 | # device_persistence: asmlib
14 | # oracle_asm_disk_string: ORCL:*
15 |
16 | # ASMFD Configuration
17 | device_persistence: asmfd
18 | oracle_asmfd_disk_string: /dev/sd*
19 | oracle_asm_disk_string: AFD:*
20 |
21 | oracle_asm_init_dg: data
22 | asm_diskgroups: # ASM Diskgroups used for DB-storage. Should map to dict asm_storage_layout.
23 | - diskgroup: data
24 | state: present
25 | properties:
26 | - {redundancy: external, ausize: 4}
27 | attributes:
28 | - {name: compatible.rdbms, value: 19.0.0.0.0}
29 | - {name: compatible.asm, value: "21.0.0.0.0"}
30 | disk:
31 | - {device: /dev/sdc, asmlabel: data01}
32 | - diskgroup: fra
33 | state: present
34 | properties:
35 | - {redundancy: external, ausize: 4}
36 | attributes:
37 | - {name: compatible.rdbms, value: 19.0.0.0.0}
38 | - {name: compatible.asm, value: 21.0.0.0.0}
39 | disk:
40 | - {device: /dev/sdd, asmlabel: fra01}
41 |
--------------------------------------------------------------------------------
/inventory/has/group_vars/has21c/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db21-gi-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | storage_type: ASM # Database storage to be used. ASM or FS.
11 | oracle_db_mem_totalmb: 1536 # Amount of RAM to be used for SGA
12 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
13 | redolog_size: 75M
14 | redolog_groups: 3
15 | datafile_dest: +DATA
16 | recoveryfile_dest: +FRA
17 | # listener_name: LISTENER # This home will have a listener configured
18 | listener_port: &cdb_listener_port 1521
19 | # *local_listener is used in initparam as an achor
20 | local_listener: &local_listener "'{{ ansible_hostname }}:1521'"
21 | archivelog: false
22 | flashback: false
23 | force_logging: true
24 | state: present
25 | statspack:
26 | purgedays: 14
27 | snaplevel: 5
28 | state: present
29 | tablespaces:
30 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
31 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
32 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
33 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
34 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | init_parameters:
36 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
37 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
38 | # - {name: local_listener, value: *local_listener, scope: both, state: present}
39 | - {name: archive_lag_target, value: '900', scope: both, state: present}
40 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
41 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
42 | - {name: db_files, value: '200', scope: spfile, state: present}
43 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
44 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
45 | - {name: job_queue_processes, value: '10', scope: both, state: present}
46 | # Disable forcing hugepages on really small systems
47 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
48 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
49 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
50 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
51 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
52 | - {name: pga_aggregate_target, value: '160M', scope: both, state: present, dbca: false}
53 | - {name: sga_target, value: '1808M', scope: spfile, state: present, dbca: false}
54 | - {name: shared_pool_size, value: '768M', scope: both, state: present, dbca: true}
55 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
56 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
57 | - {name: streams_pool_size, value: '160M', scope: spfile, state: present}
58 | # "_cursor_obsolete_threshold" for 12.2+
59 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
60 | - {name: max_pdbs, value: '3', scope: both, state: present}
61 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
62 | - {name: db_create_file_dest, value: '+DATA', scope: both, state: present}
63 | - {name: db_create_online_log_dest_1, value: '+DATA', scope: both, state: present}
64 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
65 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
66 |
67 | profiles:
68 | - name: DEFAULT
69 | state: present
70 | attributes:
71 | - {name: password_life_time, value: unlimited}
72 |
73 | - name: "C##CMK_MONITORING"
74 | state: present
75 | attributes:
76 | - {name: password_life_time, value: unlimited}
77 | - {name: sessions_per_user, value: 5}
78 | - {name: password_grace_time, value: 7}
79 | - {name: password_lock_time, value: 1}
80 | - {name: password_verify_function, value: "NULL"}
81 |
82 | users:
83 | - schema: dbsnmp
84 | state: unlocked
85 | update_password: always
86 | - schema: c##check_mk
87 | grants:
88 | - select_catalog_role
89 | - create session
90 | state: present
91 |
92 | rman_jobs:
93 | - {name: parameter}
94 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
95 |
96 | oracle_pdb_db1_orclpdb:
97 | home: *db_config_home
98 | listener_port: *cdb_listener_port
99 | cdb: *oracle_db_name
100 | pdb_name: ORCLPDB
101 | state: present
102 | profiles: "{{ oracle_default_profiles }}"
103 | statspack:
104 | purgedays: 14
105 | snaplevel: 7
106 | state: present
107 |
108 | tablespaces:
109 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
110 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
111 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
112 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
113 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
114 | # init_parameters:
115 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
116 |
--------------------------------------------------------------------------------
/inventory/has/host_vars/dbrestart162/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | oracle_databases:
10 | - "{{ oracle_database_db1 }}"
11 |
12 | oracle_pdbs:
13 | - "{{ oracle_pdb_db1_orclpdb }}"
14 |
--------------------------------------------------------------------------------
/inventory/has/host_vars/has19c-192-168-56-162.nip.io/ansible.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ansible_python_interpreter: /usr/bin/python3.6
3 |
--------------------------------------------------------------------------------
/inventory/has/host_vars/has19c-192-168-56-162.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | db_homes_installed:
10 | - home: db19-gi-ee
11 | apply_patches: true
12 | state: present
13 |
14 | oracle_databases:
15 | - "{{ oracle_database_db1 }}"
16 |
17 | oracle_pdbs:
18 | - "{{ oracle_pdb_db1_orclpdb }}"
19 |
--------------------------------------------------------------------------------
/inventory/has/host_vars/has21c-192-168-56-163.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | db_homes_installed:
10 | - home: db21-gi-ee
11 | apply_patches: true
12 | state: present
13 |
14 | oracle_databases:
15 | - "{{ oracle_database_db1 }}"
16 |
17 | oracle_pdbs:
18 | - "{{ oracle_pdb_db1_orclpdb }}"
19 |
--------------------------------------------------------------------------------
/inventory/has/hosts.yml:
--------------------------------------------------------------------------------
1 | ---
2 | all:
3 | children:
4 | has19c:
5 | hosts:
6 | has19c-192-168-56-162.nip.io:
7 | ansible_connection: ssh
8 | ansible_ssh_user: vagrant
9 | # ansible_ssh_pass: vagrant
10 |
11 | has21c:
12 | hosts:
13 | has21c-192-168-56-163.nip.io:
14 | ansible_connection: ssh
15 | ansible_ssh_user: vagrant
16 | # ansible_ssh_pass: vagrant
17 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/all.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_patch_download_dir: /vagrant
3 |
4 | # mos_login:
5 | # mos_password:
6 |
7 | oracle_sw_patches:
8 | - filename: p34762026_190000_Linux-x86-64.zip
9 | patchid: 35042068
10 | version: 19.3.0.0
11 | patchversion: 19.18.0.0.230117
12 | description: GI Release Update 19.18.0.0.230117 (REL-JAN230131)
13 |
14 | - filename: p34786990_190000_Linux-x86-64.zip
15 | patchid: 35050341
16 | version: 19.3.0.0
17 | patchversion: 19.18.0.0.230117
18 | description: OJVM RELEASE UPDATE 19.18.0.0.0
19 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/db-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | apply_patches_db: true
3 | db_homes_config:
4 | db1920_si_ee: &db1920_si_ee
5 | version: 19.3.0.0
6 | oracle_home: /u01/app/oracle/product/19/db1920-si-ee
7 | edition: EE
8 | opatch_minversion: 12.2.0.1.36
9 | state: present
10 | opatchauto: []
11 | opatch:
12 | - patchid: 35320081
13 | # Database Release Update 19.20.0.0.230718
14 | patchversion: 19.20.0.0.230718
15 | stop_processes: true
16 | state: present
17 | - patchid: 35354406
18 | # Oracle JavaVM Component Release Update (OJVM RU) 19.20.0.0.230718
19 | stop_processes: true
20 | state: present
21 | - patchid: 35512813
22 | # DATAPUMP BUNDLE PATCH 19.20.0.0.0
23 | stop_processes: true
24 | state: present
25 |
26 | db1919_si_ee: &db1919_si_ee
27 | version: 19.3.0.0
28 | oracle_home: /u01/app/oracle/product/19/db1919-si-ee
29 | edition: EE
30 | opatch_minversion: 12.2.0.1.36
31 | state: present
32 | opatchauto: []
33 | opatch:
34 | - patchid: 35042068
35 | # Database Release Update 19.19.0.0.230418
36 | patchversion: 19.19.0.0.230418
37 | stop_processes: true
38 | state: present
39 | - patchid: 35050341
40 | # Oracle JavaVM Component Release Update (OJVM RU) 19.19.0.0.230418
41 | stop_processes: true
42 | state: present
43 | - patchid: 35261302
44 | # DATAPUMP BUNDLE PATCH 19.19.0.0.0
45 | stop_processes: true
46 | state: present
47 |
48 | # Current Mapping of ORACLE_HOMEs
49 | # use this mapping for fast change between the Release Updates
50 | # <<: * => merge values from alias and overwrite oracle_home + home
51 | db19-si-ee:
52 | <<: *db1920_si_ee
53 | # imagename: db_home_19.13.zip
54 | oracle_home: /u01/app/oracle/product/19/db1
55 | oracle_home_name: db19_si_ee
56 | readonly_home: true
57 |
58 | db_homes_installed:
59 | - home: db19-si-ee
60 | apply_patches: true
61 | state: present
62 |
63 | oracle_sw_patches:
64 | - filename: p35320081_190000_Linux-x86-64.zip
65 | patchid: 35320081
66 | version: 19.3.0.0
67 | description: Database Release Update 19.20.0.0.230718
68 | creates: 35320081/README.txt
69 | - filename: p35354406_190000_Linux-x86-64.zip
70 | patchid: 35354406
71 | version: 19.3.0.0
72 | description: OJVM RELEASE UPDATE 19.20.0.0.0
73 | creates: 35354406/README.txt
74 | - filename: p35512813_1920000DBRU_Generic.zip
75 | patchid: 35512813
76 | version: 19.3.0.0
77 | description: DATAPUMP BUNDLE PATCH 19.20.0.0.0
78 | creates: 35512813/README.txt
79 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/db-profiles.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # global Defaults for Database-Profiles
3 |
4 | oracle_default_profiles:
5 | - name: DEFAULT
6 | state: present
7 | attributes:
8 | - {name: password_life_time, value: unlimited}
9 | - name: PW_UNLIMIT
10 | state: present
11 | attributes:
12 | - {name: password_life_time, value: "UNLIMITED"}
13 | - {name: password_grace_time, value: "7"}
14 | - {name: password_lock_time, value: "1"}
15 | - {name: password_verify_function, value: "null"}
16 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Oracle gets problems, when root processes are not visible
3 | hidepid_option: 0
4 |
5 | os_security_kernel_enable_module_loading: true
6 |
7 | sysctl_overwrite:
8 | network_ipv6_enable: false
9 | fs.protected_regular: 0 # needed for opatchauto ...
10 |
11 | # ssh settings
12 | ssh_print_last_log: true
13 | ssh_allow_agent_forwarding: false
14 | ssh_permit_tunnel: false
15 | ssh_allow_tcp_forwarding: 'no'
16 | ssh_max_auth_retries: 3
17 |
18 | ssh_allow_users: vagrant ansible
19 |
20 | # disable some ansible-oracle options
21 | disable_selinux: false
22 | configure_oracle_sudo: false
23 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/host.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_public_yum_repo: false
3 | configure_motd: false
4 |
5 | configure_cluster: false
6 | role_separation: false
7 | configure_oracle_sudo: true
8 |
9 | disable_ee_options: true
10 |
11 | control_management_pack_access: NONE
12 |
13 | autostartup_service: true
14 |
15 | configure_hugepages_by: memory
16 |
17 | # disable hugepages on small systems
18 | # don't forget to enable use_large_pages in oracle parameter
19 | # size_in_gb_hugepages: 2
20 | size_in_gb_hugepages: 0
21 |
22 | oracle_stage: /u01/stage
23 |
24 | configure_host_disks: true
25 |
26 | # /var needs free space for ansible
27 | # Golden-Images and Patches are copied from /var/tmp to /u01/stage
28 | host_fs_layout:
29 | - vgname: rootvg
30 | state: present
31 | filesystem:
32 | - {mntp: /var, lvname: varlv, lvsize: 6G, fstype: ext4}
33 | disk:
34 | - {device: /dev/sda, pvname: /dev/sda2}
35 | - vgname: vgora
36 | state: present
37 | filesystem:
38 | - {mntp: /u01, lvname: lvorabase, lvsize: 25G, fstype: xfs}
39 | - {mntp: /u02, lvname: lvoradata, lvsize: 25G, fstype: xfs, fsopts: "-m reflink=1 -m crc=1"}
40 | disk:
41 | - {device: /dev/sdb, pvname: /dev/sdb1}
42 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/passwords.yml:
--------------------------------------------------------------------------------
1 | ---
2 | #
3 | # IMPORTANT!!!!
4 | #
5 | # Do not forget to encrypt this file or entries with ansible-vault.
6 | #
7 | default_dbpass: Oracle_123
8 |
9 | dbpasswords:
10 | DB1:
11 | sys: Oracle_123
12 | system: Oracle_123
13 | dbsnmp: Oracle_456
14 | pdbadmin: Oracle_456
15 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/software_src.yml:
--------------------------------------------------------------------------------
1 | ---
2 | is_sw_source_local: true
3 | oracle_sw_copy: true
4 | oracle_sw_unpack: true
5 |
6 | oracle_stage_remote: /sw/oracle/linux64
7 | oracle_sw_source_local: /vagrant
8 |
9 | golden_image_dest: /u01/golden
10 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/all/sqlnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_tnsnames_config:
4 | dg19_orclpdb:
5 | connect:
6 | service_name: orclpdb
7 | address:
8 | - host: oradg1
9 | - host: oradg2
10 |
11 | dg19_db19dg1:
12 | connect:
13 | service_name: db19u1_DGMGRL
14 | address:
15 | - host: oradg1
16 |
17 | dg19_db19dg2:
18 | connect:
19 | service_name: db19u2_DGMGRL
20 | address:
21 | - host: oradg2
22 |
23 | # sqlnet_installed:
24 | # - home: db19-si-ee
25 | # sqlnet: sqlnetalias1
26 | # state: present
27 |
28 | sqlnet_config:
29 | sqlnetalias1:
30 | - {name: "ADR_BASE", value: "/u01/app/oracle/"}
31 | - {name: "SQLNET.ALLOWED_LOGON_VERSION_CLIENT", value: 12}
32 |
33 | # tnsnames_installed must be defined for oradb_rman role
34 | tnsnames_installed: []
35 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/dbfs/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db19-si-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | # is_container: false
11 | # Example custom DBCA-Template, usable for CDB and nonCDB
12 | # dbca_templatename: 19c_custom_dbca.dbt
13 | storage_type: FS # Database storage to be used. ASM or FS.
14 | oracle_db_mem_totalmb: 1024 # Amount of RAM to be used for SGA
15 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
16 | redolog_size: 75M
17 | redolog_groups: 3
18 | datafile_dest: /u02/oradata
19 | recoveryfile_dest: /u02/fra
20 | listener_name: LISTENER # This home will have a listener configured
21 | listener_port: &cdb_listener_port 1521
22 | # *local_listener is used in initparam as an achor
23 | local_listener: &local_listener "{{ ansible_hostname }}:1521"
24 | archivelog: false
25 | flashback: false
26 | force_logging: true
27 | state: present
28 | statspack:
29 | purgedays: 14
30 | snaplevel: 5
31 | state: present
32 | tablespaces:
33 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
34 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
36 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
37 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
38 | init_parameters:
39 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
40 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
41 | - {name: local_listener, value: *local_listener, scope: both, state: present}
42 | - {name: archive_lag_target, value: '900', scope: both, state: present}
43 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
44 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
45 | - {name: db_files, value: '200', scope: spfile, state: present}
46 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
47 | - {name: db_domain, value: 'local', scope: spfile, state: present}
48 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
49 | - {name: job_queue_processes, value: '10', scope: both, state: present}
50 | # Disable forcing hugepages on really small systems
51 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
52 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
53 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
54 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
55 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
56 | - {name: pga_aggregate_target, value: '160M', scope: both, state: present, dbca: false}
57 | - {name: sga_target, value: '1808M', scope: spfile, state: present, dbca: false}
58 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
59 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
60 | - {name: streams_pool_size, value: '160M', scope: spfile, state: present}
61 | # "_cursor_obsolete_threshold" for 12.2+
62 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
63 | - {name: max_pdbs, value: '3', scope: both, state: present}
64 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
65 | - {name: db_create_file_dest, value: '/u02/oradata', scope: both, state: present}
66 | - {name: db_create_online_log_dest_1, value: '/u02/oradata', scope: both, state: present}
67 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
68 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
69 |
70 | profiles:
71 | - name: DEFAULT
72 | state: present
73 | attributes:
74 | - {name: password_life_time, value: unlimited}
75 |
76 | - name: "C##CMK_MONITORING"
77 | state: present
78 | attributes:
79 | - {name: password_life_time, value: unlimited}
80 | - {name: sessions_per_user, value: 5}
81 | - {name: password_grace_time, value: 7}
82 | - {name: password_lock_time, value: 1}
83 | - {name: password_verify_function, value: "NULL"}
84 |
85 | users:
86 | - schema: dbsnmp
87 | state: unlocked
88 | update_password: always
89 | - schema: c##check_mk
90 | grants:
91 | - select_catalog_role
92 | - create session
93 | state: present
94 | roles:
95 | - name: c##testrole
96 | state: present
97 |
98 | # services:
99 | # - name: cdbsrv
100 | # state: present
101 |
102 | rman_jobs:
103 | - {name: parameter}
104 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
105 |
106 | oracle_pdb_db1_orclpdb:
107 | home: *db_config_home
108 | listener_port: *cdb_listener_port
109 | cdb: *oracle_db_name
110 | pdb_name: ORCLPDB
111 | state: present
112 | profiles: "{{ oracle_default_profiles }}"
113 | statspack:
114 | purgedays: 14
115 | snaplevel: 7
116 | state: present
117 | users:
118 | - schema: check_mk
119 | grants:
120 | - select_catalog_role
121 | - create session
122 | state: present
123 | roles:
124 | - name: testrole
125 | state: present
126 | tablespaces:
127 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
128 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
129 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
130 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
131 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
132 | init_parameters:
133 | - {name: open_cursors, value: '2000', scope: spfile, state: present}
134 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/dbfs/listener.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_listeners_config:
4 | LISTENER:
5 | home: &listener_home db19-si-ee
6 | address:
7 | - host: "{{ ansible_hostname }}"
8 | protocol: TCP
9 | port: 1521
10 |
11 | listener_installed:
12 | - home: *listener_home
13 | listener_name: LISTENER
14 | state: present
15 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/dbfs/passwords.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # GI
3 | default_gipass: Oracle123
4 | sysasmpassword: Oracle_123
5 | asmmonitorpassword: Oracle_123
6 |
7 | # DB
8 | # default_dbpass: Oracle123
9 | dbpasswords:
10 | DB1:
11 | system: Oracle_123
12 | sys: Oracle_123
13 | dbsnmp: Oracle_123
14 | pdbadmin: Oracle_456
15 | ORCLPDB:
16 | pdbadmin: Oracle_456
17 | appuser: appuser123
18 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/group_vars/dbfs/tnsnames.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Example configuration
3 | # oracle_tnsnames_config:
4 | # orclpdb:
5 | # connect:
6 | # service_name: orclpdb
7 | # address:
8 | # - host: localhost
9 |
10 | # tnsnames_installed:
11 | # - home: db19-si-ee
12 | # tnsname: orclpdb
13 | # state: present
14 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/host_vars/dbfs161-192-168-56-161.nip.io/ansible.yml:
--------------------------------------------------------------------------------
1 | ---
2 | ansible_python_interpreter: /usr/bin/python2
3 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/host_vars/dbfs161-192-168-56-161.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | # restart_spparameter_changed: true
10 |
11 | oracle_databases:
12 | - "{{ oracle_database_db1 }}"
13 |
14 | oracle_pdbs:
15 | - "{{ oracle_pdb_db1_orclpdb }}"
16 |
--------------------------------------------------------------------------------
/inventory/local_dbfs/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/db-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oraswdb_golen_image_create: true
3 |
4 | apply_patches_db: true
5 | db_homes_config:
6 |
7 | db2110-gi-ee: &db2110-gi-ee
8 | home: db2110-gi-ee
9 | version: 21.3.0.0
10 | oracle_home: /u01/app/oracle/product/21/db2110-gi-ee
11 | edition: EE
12 | opatch_minversion: 12.2.0.1.29
13 | opatchauto:
14 | - patchid: 35132566
15 | patchversion: 21.10.0.0.230418
16 | state: present
17 | path: 21.10.0.0.230418/gi/35132566/35132566/
18 | subpatches:
19 | - 35134943 # OCW Release Update 21.10.0.0.230418
20 | - 35134934 # Database Release Update 21.10.0.0.230418
21 |
22 | db2106-gi-ee: &db2106-gi-ee
23 | home: db2106-gi-ee
24 | version: 21.3.0.0
25 | oracle_home: /u01/app/oracle/product/21/db2106-gi-ee
26 | edition: EE
27 | opatch_minversion: 12.2.0.1.29
28 | opatchauto:
29 | - patchid: 33250101
30 | patchversion: 21.6.0.0.220419
31 | state: present
32 | path: 21.6.0.0.220419/gi/33859395/33859395/
33 | subpatches:
34 | - 33853705 # OCW Release Update 21.6.0.0.220419
35 | - 33843745 # Database Release Update 21.6.0.0.220419
36 |
37 | db2104-gi-ee: &db2104-gi-ee
38 | home: db2104-gi-ee
39 | version: 21.3.0.0
40 | oracle_home: /u01/app/oracle/product/21/db2104-gi-ee
41 | edition: EE
42 | opatch_minversion: 12.2.0.1.28
43 | opatchauto:
44 | - patchid: 33250101
45 | patchversion: 21.4.0.0.211019
46 | state: present
47 | path: 21.4.0.0.211019/gi/33250101/33250101/
48 | subpatches:
49 | - 33271793 # OCW Release Update 21.4.0.0.211019
50 | - 33239276 # Database Release Update 21.4.0.0.211019
51 |
52 | db2103-gi-ee: &db2103-gi-ee
53 | home: db2103-gi-ee
54 | version: 21.3.0.0
55 | oracle_home: /u01/app/oracle/product/21/db2103-gi-ee
56 | edition: EE
57 | opatch_minversion: 12.2.0.1.24
58 |
59 | db1915-gi-ee: &db1915-gi-ee
60 | home: db1915-si-ee
61 | version: 19.3.0.0
62 | oracle_home: /u01/app/oracle/product/19/db1915-si-ee
63 | edition: EE
64 | opatch_minversion: 12.2.0.1.27
65 | opatchauto:
66 | - patchid: 33803476
67 | patchversion: 19.15.0.0.220419
68 | state: present
69 | path: ./19.15.0.0.220419/gi/33803476/33803476
70 | subpatches:
71 | - 33815596 # OCW Release Update 19.15.0.0.220419
72 | - 33575402 # DBWLM Release Update
73 | - 33806152 # Database Release Update 19.15.0.0.220419
74 | opatch:
75 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
76 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
77 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
78 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
79 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
80 | - {patchid: 32522300, state: absent, stop_processes: true}
81 | - {patchid: 31143146, state: absent, stop_processes: true}
82 | - {patchid: 32919937, state: absent, stop_processes: true}
83 | - {patchid: 33144001, state: absent, stop_processes: true}
84 | - patchid: 33808367
85 | # Oracle JavaVM Component Release Update (OJVM RU) 19.15.0.0.220419
86 | stop_processes: true
87 | state: present
88 | path: 19.15.0.0.220419/ojvm/p33808367_190000_Linux-x86-64.zip
89 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
90 |
91 | db1913-gi-ee: &db1913-gi-ee
92 | home: db1913-si-ee
93 | version: 19.3.0.0
94 | oracle_home: /u01/app/oracle/product/19/db1913-si-ee
95 | edition: EE
96 | opatch_minversion: 12.2.0.1.27
97 | opatchauto:
98 | - patchid: 33182768
99 | patchversion: 19.13.0.0.211019
100 | state: present
101 | path: ./19.13.0.0.211019/gi/33182768/33182768
102 | subpatches:
103 | - 33208123 # OCW Release Update 19.13.0.0.211019
104 | - 32585572 # DBWLM Release Update
105 | - 33192793 # Database Release Update 19.13.0.0.211019
106 | opatch:
107 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
108 | - {patchid: 29213893, state: absent, excludeUPI: 24384541, stop_processes: true}
109 | - {patchid: 30978304, state: absent, excludeUPI: 24384338, stop_processes: true}
110 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
111 | - {patchid: 33121934, state: absent, excludeUPI: 24407586, stop_processes: true}
112 | - {patchid: 32522300, state: absent, stop_processes: true}
113 | - {patchid: 31143146, state: absent, stop_processes: true}
114 | - {patchid: 32919937, state: absent, stop_processes: true}
115 | - {patchid: 33144001, state: absent, stop_processes: true}
116 | - patchid: 32876380
117 | # Oracle JavaVM Component Release Update (OJVM RU) 19.13.0.0.211019
118 | stop_processes: true
119 | state: present
120 | path: 19.13.0.0.211019/ojvm/p33192694_190000_Linux-x86-64.zip
121 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
122 | - {patchid: 29213893, path: 19.13.0.0.211019/p29213893_1913000DBRU_Generic.zip, state: present, stop_processes: true}
123 | - {patchid: 30978304, path: 19.13.0.0.211019/p30978304_1913000DBRU_Generic.zip, state: present, stop_processes: true}
124 | # Contention on "CURSOR: PIN S WAIT ON X" when PQ slave's execution plan does not match with QC
125 | # conflicts with 33121934 ...
126 | # - {patchid: 31602782, path: 19.13.0.0.211019/p31602782_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
127 | # Library cache lock / load lock / mutex x during connection storm
128 | - {patchid: 33121934, path: 19.13.0.0.211019/p33121934_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
129 |
130 | db1912-gi-ee: &db1912-gi-ee
131 | home: db1912-si-ee
132 | version: 19.3.0.0
133 | oracle_home: /u01/app/oracle/product/19/db1912-si-ee
134 | edition: EE
135 | opatch_minversion: 12.2.0.1.25
136 | opatchauto:
137 | - patchid: 30899722
138 | patchversion: 19.12.0.0.200414
139 | state: present
140 | path: 19.12.0.0.210720/gi/32895426
141 | subpatches:
142 | - 32916816 # OCW Release Update 19.12.0.0.210720
143 | - 32904851 # Database Release Update 19.12.0.0.210720
144 | opatch:
145 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
146 | - {patchid: 32522300, state: absent, stop_processes: true}
147 | - {patchid: 31143146, state: absent, stop_processes: true}
148 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
149 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
150 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
151 | # New Patches
152 |
153 | db1911-gi-ee: &db1911-gi-ee
154 | home: db1911-gi-ee
155 | version: 19.3.0.0
156 | oracle_home: /u01/app/oracle/product/19/db1911-gi-ee
157 | edition: EE
158 | opatch_minversion: 12.2.0.1.24
159 |
160 | db1814-gi-ee: &db1814-gi-ee
161 | home: db1814-gi-ee
162 | version: 18.3.0.0
163 | oracle_home: /u01/app/oracle/product/18/db1814-gi-ee
164 | edition: EE
165 | opatch_minversion: 12.2.0.1.19
166 |
167 | db12201-gi-ee:
168 | home: db12201-gi-ee
169 | version: 12.2.0.1
170 | oracle_home: /u01/app/oracle/product/12.2.0.1/db12201-gi-ee
171 | edition: EE
172 | dnfs: true
173 | opatch_minversion: 12.2.0.1.13
174 |
175 | db12102-gi-ee:
176 | home: db12102-gi-ee
177 | version: 12.1.0.2
178 | oracle_home: /u01/app/oracle/product/12.1.0.2/db12102-gi-ee
179 | edition: EE
180 | dnfs: true
181 | opatch_minversion: 12.2.0.1.13
182 |
183 | db11204-gi-ee:
184 | home: db11204-gi-ee
185 | version: 11.2.0.4
186 | oracle_home: /u01/app/oracle/product/11.2.0.4/db11204-gi-ee
187 | edition: EE
188 | opatch_minversion: 11.2.0.3.20
189 |
190 | # Current Mapping of ORACLE_HOMEs
191 | # use this mapping for fast change between the Release Updates
192 | # <<: * => merge values from alias and overwrite oracle_home + home
193 | db21-gi-ee:
194 | <<: *db2110-gi-ee
195 | oracle_home: /u01/app/oracle/product/21/db1
196 | home: db21-gi-ee
197 | db19-gi-ee:
198 | <<: *db1915-gi-ee
199 | # imagename: db_home_19.15.zip
200 | oracle_home: /u01/app/oracle/product/19/db1
201 | home: db19-gi-ee
202 | db18-gi-ee:
203 | <<: *db1814-gi-ee
204 | # oracle_home: /u01/app/oracle/product/18/db1
205 | # home: db18-gi-ee
206 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/db-profiles.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # global Defaults for Database-Profiles
3 |
4 | oracle_default_profiles:
5 | - name: DEFAULT
6 | state: present
7 | attributes:
8 | - {name: password_life_time, value: unlimited}
9 | - name: PW_UNLIMIT
10 | state: present
11 | attributes:
12 | - {name: password_life_time, value: "UNLIMITED"}
13 | - {name: password_grace_time, value: 7}
14 | - {name: password_lock_time, value: 1}
15 | - {name: password_verify_function, value: "null"}
16 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Oracle gets problems, when root processes are not visible
3 | hidepid_option: 0
4 |
5 | os_security_kernel_enable_module_loading: true
6 |
7 | sysctl_overwrite:
8 | network_ipv6_enable: false
9 | fs.protected_regular: 0 # needed for opatchauto ...
10 |
11 | # ssh settings
12 | ssh_print_last_log: true
13 | ssh_allow_agent_forwarding: false
14 | ssh_permit_tunnel: false
15 | ssh_allow_tcp_forwarding: 'no'
16 | ssh_max_auth_retries: 3
17 |
18 | ssh_allow_users: vagrant ansible
19 |
20 | # disable some ansible-oracle options
21 | disable_selinux: false
22 | configure_oracle_sudo: false
23 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/gi-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This configuration file is used as a global default
3 | # The variable gi_patches_config is not part of ansible-oracle. It is
4 | # referenced from other structures in the Inventory.
5 |
6 | oraswgi_golen_image_create: true
7 |
8 | grid_user: oracle
9 |
10 | gi_patches_config:
11 |
12 | 21.10.0.0.230418:
13 | 21.3.0.0: # Base Release
14 | opatch_minversion: 12.2.0.1.29
15 | opatchauto:
16 | - patchid: 35132566
17 | patchversion: 21.4.0.0.211019
18 | state: present
19 | path: 21.10.0.0.230418/gi/35132566/35132566/
20 | subpatches:
21 | - 35134943 # OCW Release Update 21.10.0.0.230418
22 | - 35134934 # Database Release Update 21.10.0.0.230418
23 |
24 | 21.6.0.0.220419:
25 | 21.3.0.0: # Base Release
26 | opatch_minversion: 12.2.0.1.29
27 | opatchauto:
28 | - patchid: 33859395
29 | patchversion: 21.4.0.0.211019
30 | state: present
31 | path: 21.6.0.0.220419/gi/33859395/33859395/
32 | subpatches:
33 | - 33853705 # OCW Release Update 21.6.0.0.220419
34 | - 33843745 # Database Release Update 21.6.0.0.220419
35 |
36 | 21.4.0.0.211019:
37 | 21.3.0.0: # Base Release
38 | opatch_minversion: 12.2.0.1.27
39 | opatchauto:
40 | - patchid: 33250101
41 | patchversion: 21.4.0.0.211019
42 | state: present
43 | path: 21.4.0.0.211019/gi/33250101/33250101/
44 | subpatches:
45 | - 33271793 # OCW Release Update 21.4.0.0.211019
46 | - 33239276 # Database Release Update 21.4.0.0.211019
47 |
48 | 19.20.0.0.230718:
49 | 19.3.0.0: # Base Release
50 | opatch_minversion: 12.2.0.1.30
51 | opatchauto:
52 | - patchid: 35319490
53 | patchversion: 19.20.0.0.230718
54 | state: present
55 | # path: ./19.20.0.0.230718/gi/35319490/35319490
56 | subpatches:
57 | - 35320149 # OCW Release Update 19.20.0.0.230718
58 | - 33575402 # DBWLM Release Update
59 | - 35332537 # ACFS Release Update 19.20.0.0.230718
60 | - 35553096 # TOMCAT RELEASE UPDATE 19.0.0.0.0
61 | - 35320081 # Database Release Update 19.20.0.0.230718
62 |
63 | 19.16.0.0.220719:
64 | 19.3.0.0: # Base Release
65 | opatch_minversion: 12.2.0.1.30
66 | opatchauto:
67 | - patchid: 34130714
68 | patchversion: 19.16.0.0.220719
69 | state: present
70 | path: ./19.16.0.0.220719/gi/34130714/34130714
71 | subpatches:
72 | - 34160635 # OCW Release Update 19.16.0.0.220719
73 | - 33575402 # DBWLM Release Update
74 | - 34139601 # ACFS Release Update 19.16.0.0.220719
75 | - 34318175 # TOMCAT RELEASE UPDATE 19.0.0.0.0
76 | - 34133642 # Database Release Update 19.16.0.0.220719
77 | # opatch:
78 | # # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
79 | # - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
80 | # - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
81 | # - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
82 | # - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
83 | # - {patchid: 32522300, state: absent, stop_processes: true}
84 | # - {patchid: 31143146, state: absent, stop_processes: true}
85 | # - {patchid: 32919937, state: absent, stop_processes: true}
86 | # - {patchid: 33144001, state: absent, stop_processes: true}
87 | # - patchid: 34086870
88 | # # Oracle JavaVM Component Release Update (OJVM RU) 19.16.0.0.220719
89 | # stop_processes: true
90 | # state: present
91 | # path: 19.16.0.0.220719/ojvm/p34086870_190000_Linux-x86-64.zip
92 | # # patchversion: 19.16.0.0.220719
93 | # # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
94 | # - patchid: 29213893
95 | # # DBMS_STATS FAILING WITH ERROR ORA-01422
96 | # stop_processes: true
97 | # state: present
98 | # path: 19.16.0.0.220719/p29213893_1916000DBRU_Generic.zip
99 | # # patchversion: 19.16.0.0.220719
100 |
101 | 19.15.0.0.220419:
102 | 19.3.0.0: # Base Release
103 | opatch_minversion: 12.2.0.1.29
104 | opatchauto:
105 | - patchid: 33803476
106 | patchversion: 19.15.0.0.220419
107 | state: present
108 | path: ./19.15.0.0.220419/gi/33803476/33803476
109 | subpatches:
110 | - 33815596 # OCW Release Update 19.15.0.0.220419
111 | - 33575402 # DBWLM Release Update
112 | - 33806152 # Database Release Update 19.15.0.0.220419
113 | opatch:
114 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
115 | - {patchid: 29213893, state: absent, excludeUPI: 1, stop_processes: true}
116 | - {patchid: 30978304, state: absent, excludeUPI: 1, stop_processes: true}
117 | - {patchid: 31602782, state: absent, excludeUPI: 1, stop_processes: true}
118 | - {patchid: 33121934, state: absent, excludeUPI: 1, stop_processes: true}
119 | - {patchid: 32522300, state: absent, stop_processes: true}
120 | - {patchid: 31143146, state: absent, stop_processes: true}
121 | - {patchid: 32919937, state: absent, stop_processes: true}
122 | - {patchid: 33144001, state: absent, stop_processes: true}
123 | - patchid: 33808367
124 | # Oracle JavaVM Component Release Update (OJVM RU) 19.15.0.0.220419
125 | stop_processes: true
126 | state: present
127 | path: 19.15.0.0.220419/ojvm/p33808367_190000_Linux-x86-64.zip
128 |
129 | 19.13.0.0.211019:
130 | 19.3.0.0: # Base Release
131 | opatch_minversion: 12.2.0.1.27
132 | opatchauto:
133 | - patchid: 33182768
134 | patchversion: 19.13.0.0.211019
135 | state: present
136 | path: ./19.13.0.0.211019/gi/33182768/33182768
137 | subpatches:
138 | - 33208123 # OCW Release Update 19.13.0.0.211019
139 | - 32585572 # DBWLM Release Update
140 | - 33192793 # Database Release Update 19.13.0.0.211019
141 | opath:
142 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
143 | - {patchid: 32522300, state: absent, stop_processes: true}
144 | - {patchid: 31143146, state: absent, stop_processes: true}
145 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
146 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
147 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
148 | - patchid: 32876380
149 | # Oracle JavaVM Component Release Update (OJVM RU) 19.12.0.0.210720
150 | stop_processes: true
151 | state: present
152 | path: 19.12.0.0.210720/ojvm/p32876380_190000_Linux-x86-64.zip
153 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
154 | - {patchid: 31602782, path: 19.12.0.0.210720/p31602782_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
155 | - {patchid: 32919937, path: 19.12.0.0.210720/p32919937_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
156 | - {patchid: 33144001, path: 19.12.0.0.210720/p33144001_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
157 |
158 | 19.12.0.0.210720:
159 | 19.3.0.0: # Base Release
160 | opatch_minversion: 12.2.0.1.25
161 | opatchauto:
162 | - patchid: 32895426
163 | patchversion: 19.12.0.0.210720
164 | state: present
165 | path: 19.12.0.0.210720/gi/32895426
166 | subpatches:
167 | - 32916816 # OCW Release Update 19.12.0.0.210720
168 | - 32585572 # DBWLM Release Update
169 | - 32904851 # Database Release Update 19.12.0.0.210720
170 |
171 | # 19.11 is an example based on a GoldenImage with RU 19.11
172 | # Please add following variable:
173 | # oracle_install_image_gi: restart_home_19.16.zip
174 | 19.11.0.0.210720:
175 | 19.3.0.0: # Base Release
176 | opatch_minversion: 12.2.0.1.25
177 |
178 | 19.4.0.0.190716:
179 | 19.3.0.0: # Base Release
180 | opatch_minversion: 12.2.0.1.17
181 | opatchauto:
182 | - patchid: 29252072
183 | patchversion: 19.4.0.0.190716
184 | state: present
185 | path: 29708769/29708769
186 | subpatches:
187 | - 29834717
188 | - 29850993
189 | - 29851014
190 | - 29401763
191 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/host.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_public_yum_repo: false
3 | configure_motd: false
4 |
5 | role_separation: false
6 | configure_oracle_sudo: true
7 | disable_ee_options: true
8 |
9 | control_management_pack_access: NONE
10 |
11 | configure_hugepages_by: memory
12 |
13 | # disable hugepages on small systems
14 | # don't forget to enable use_large_pages in oracle parameter
15 | # size_in_gb_hugepages: 2
16 | size_in_gb_hugepages: 0
17 |
18 | configure_host_disks: true
19 |
20 | host_fs_layout:
21 | - vgname: oravg
22 | state: present
23 | filesystem:
24 | - {mntp: /u01, lvname: orabaselv, lvsize: 40G, fstype: xfs}
25 | - {mntp: swap, lvname: swaplv, lvsize: 16g, fstype: swap}
26 | disk:
27 | - {device: /dev/sdb, pvname: /dev/sdb1}
28 | - vgname: rootvg
29 | state: present
30 | filesystem:
31 | - {mntp: /tmp, lvname: tmplv, lvsize: 1200m, fstype: ext4}
32 | disk:
33 | - {device: /dev/sda, pvname: /dev/sda2}
34 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/software_src.yml:
--------------------------------------------------------------------------------
1 | ---
2 | is_sw_source_local: false
3 | oracle_sw_copy: false
4 | oracle_sw_unpack: true
5 |
6 | oracle_stage_remote: /sw/oracle/linux64
7 |
8 | oracle_stage: /u01/stage
9 | golden_image_dest: /u01/golden
10 |
11 | # mos_login:
12 | # mos_password:
13 |
14 | oracle_patch_download_dir: /sw/oracle/linux64
15 |
16 | oracle_sw_patches:
17 | - filename: p35319490_190000_Linux-x86-64.zip
18 | patchid: 35319490
19 | version: 19.3.0.0
20 | patchversion: 19.20.0.0.230718
21 | description: GI Release Update 19.20.0.0.230718 (REL-JUL230718)
22 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/all/sqlnet.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | oracle_tnsnames_config:
4 | dg19_orclpdb:
5 | connect:
6 | service_name: orclpdb
7 | address:
8 | - host: oradg1
9 | - host: oradg2
10 |
11 | dg19_db19dg1:
12 | connect:
13 | service_name: db19u1_DGMGRL
14 | address:
15 | - host: oradg1
16 |
17 | dg19_db19dg2:
18 | connect:
19 | service_name: db19u2_DGMGRL
20 | address:
21 | - host: oradg2
22 |
23 | # sqlnet_installed:
24 | # - home: db19-si-ee
25 | # sqlnet: sqlnetalias1
26 | # state: present
27 |
28 | sqlnet_config:
29 | sqlnetalias1:
30 | - {name: "ADR_BASE", value: "/u01/app/oracle/"}
31 | - {name: "SQLNET.ALLOWED_LOGON_VERSION_CLIENT", value: "12"}
32 |
33 | # tnsnames_installed must be defined for oradb_rman role
34 | tnsnames_installed: []
35 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/has19c/asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_install_option_gi: HA_CONFIG
3 | oracle_install_version_gi: 19.3.0.0
4 | oracle_home_gi: /u01/app/oracle/19/grid
5 |
6 | # oracle_install_image_gi: restart_home_19.16.zip
7 |
8 | apply_patches_gi: true
9 | gi_patches:
10 | "{{ gi_patches_config['19.16.0.0.220719'] }}"
11 |
12 | # ASMlib Configuration
13 | device_persistence: asmlib
14 | oracle_asm_disk_string: ORCL:*
15 |
16 | # ASMFD Configuration
17 | # device_persistence: asmfd
18 | # oracle_asmfd_disk_string: /dev/sd*
19 | # oracle_asm_disk_string: AFD:*
20 |
21 | oracle_asm_init_dg: data
22 |
23 | asm_diskgroups: # ASM Diskgroups used for DB-storage. Should map to dict asm_storage_layout.
24 | - diskgroup: data
25 | state: present
26 | properties:
27 | - {redundancy: external, ausize: 4}
28 | attributes:
29 | - {name: compatible.rdbms, value: 11.2.0.4.0}
30 | - {name: compatible.asm, value: "19.0.0.0.0"}
31 | disk:
32 | - {device: /dev/sdc, asmlabel: data01}
33 | - diskgroup: fra
34 | state: present
35 | properties:
36 | - {redundancy: external, ausize: 4}
37 | attributes:
38 | - {name: compatible.rdbms, value: 11.2.0.4.0}
39 | - {name: compatible.asm, value: "19.0.0.0.0"}
40 | disk:
41 | - {device: /dev/sdd, asmlabel: fra01}
42 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/has19c/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db19-gi-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | storage_type: ASM # Database storage to be used. ASM or FS.
11 | oracle_db_mem_totalmb: 1536 # Amount of RAM to be used for SGA
12 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
13 | redolog_size: 75M
14 | redolog_groups: 3
15 | datafile_dest: +DATA
16 | recoveryfile_dest: +FRA
17 | # listener_name: LISTENER # This home will have a listener configured
18 | listener_port: &cdb_listener_port 1521
19 | # *local_listener is used in initparam as an achor
20 | local_listener: &local_listener "'{{ ansible_hostname }}:1521'"
21 | archivelog: false
22 | flashback: false
23 | force_logging: true
24 | state: present
25 | statspack:
26 | purgedays: 14
27 | snaplevel: 5
28 | state: present
29 | tablespaces:
30 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
31 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
32 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
33 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
34 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | init_parameters:
36 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
37 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
38 | # - {name: local_listener, value: *local_listener, scope: both, state: present}
39 | - {name: archive_lag_target, value: '900', scope: both, state: present}
40 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
41 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
42 | - {name: db_files, value: '200', scope: spfile, state: present}
43 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
44 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
45 | - {name: job_queue_processes, value: '10', scope: both, state: present}
46 | # Disable forcing hugepages on really small systems
47 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
48 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
49 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
50 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
51 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
52 | - {name: pga_aggregate_target, value: '160M', scope: both, state: present, dbca: false}
53 | - {name: sga_target, value: '1895825408', scope: spfile, state: present, dbca: false}
54 | - {name: shared_pool_size, value: '768M', scope: both, state: present, dbca: true}
55 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
56 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
57 | - {name: streams_pool_size, value: '117440512', scope: spfile, state: present}
58 | # "_cursor_obsolete_threshold" for 12.2+
59 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
60 | - {name: max_pdbs, value: '3', scope: both, state: present}
61 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
62 | - {name: db_create_file_dest, value: '+DATA', scope: both, state: present}
63 | - {name: db_create_online_log_dest_1, value: '+DATA', scope: both, state: present}
64 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
65 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
66 |
67 | profiles:
68 | - name: DEFAULT
69 | state: present
70 | attributes:
71 | - {name: password_life_time, value: unlimited}
72 |
73 | - name: "C##CMK_MONITORING"
74 | state: present
75 | attributes:
76 | - {name: password_life_time, value: unlimited}
77 | - {name: sessions_per_user, value: 5}
78 | - {name: password_grace_time, value: 7}
79 | - {name: password_lock_time, value: 1}
80 | - {name: password_verify_function, value: "NULL"}
81 |
82 | users:
83 | - schema: dbsnmp
84 | state: unlocked
85 | update_password: always
86 | - schema: c##check_mk
87 | grants:
88 | - select_catalog_role
89 | - create session
90 | state: present
91 |
92 | rman_jobs:
93 | - {name: parameter}
94 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
95 |
96 | oracle_pdb_db1_orclpdb:
97 | home: *db_config_home
98 | listener_port: *cdb_listener_port
99 | cdb: *oracle_db_name
100 | pdb_name: ORCLPDB
101 | state: present
102 | profiles: "{{ oracle_default_profiles }}"
103 | statspack:
104 | purgedays: 14
105 | snaplevel: 7
106 | state: present
107 |
108 | tablespaces:
109 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
110 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
111 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
112 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
113 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
114 | # init_parameters:
115 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
116 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/has21c/asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_install_option_gi: HA_CONFIG
3 | oracle_install_version_gi: 21.3.0.0
4 | oracle_home_gi: /u01/app/oracle/21/grid
5 |
6 | oracle_install_image_gi: restart_home_21.10.zip
7 |
8 | apply_patches_gi: true
9 | gi_patches:
10 | "{{ gi_patches_config['21.10.0.0.230418'] }}"
11 |
12 | # ASMlib Configuration
13 | # device_persistence: asmlib
14 | # oracle_asm_disk_string: ORCL:*
15 |
16 | # ASMFD Configuration
17 | device_persistence: asmfd
18 | oracle_asmfd_disk_string: /dev/sd*
19 | oracle_asm_disk_string: AFD:*
20 |
21 | oracle_asm_init_dg: data
22 | asm_diskgroups: # ASM Diskgroups used for DB-storage. Should map to dict asm_storage_layout.
23 | - diskgroup: data
24 | state: present
25 | properties:
26 | - {redundancy: external, ausize: 4}
27 | attributes:
28 | - {name: compatible.rdbms, value: 19.0.0.0.0}
29 | - {name: compatible.asm, value: "21.0.0.0.0"}
30 | disk:
31 | - {device: /dev/sdc, asmlabel: data01}
32 | - diskgroup: fra
33 | state: present
34 | properties:
35 | - {redundancy: external, ausize: 4}
36 | attributes:
37 | - {name: compatible.rdbms, value: 19.0.0.0.0}
38 | - {name: compatible.asm, value: 21.0.0.0.0}
39 | disk:
40 | - {device: /dev/sdd, asmlabel: fra01}
41 |
--------------------------------------------------------------------------------
/inventory/local_has/group_vars/has21c/database_DB1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_db1:
6 | home: &db_config_home db21-gi-ee
7 | oracle_db_name: &oracle_db_name DB1
8 | oracle_db_type: SI # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | storage_type: ASM # Database storage to be used. ASM or FS.
11 | oracle_db_mem_totalmb: 1536 # Amount of RAM to be used for SGA
12 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
13 | redolog_size: 75M
14 | redolog_groups: 3
15 | datafile_dest: +DATA
16 | recoveryfile_dest: +FRA
17 | # listener_name: LISTENER # This home will have a listener configured
18 | listener_port: &cdb_listener_port 1521
19 | # *local_listener is used in initparam as an achor
20 | local_listener: &local_listener "'{{ ansible_hostname }}:1521'"
21 | archivelog: false
22 | flashback: false
23 | force_logging: true
24 | state: present
25 | statspack:
26 | purgedays: 14
27 | snaplevel: 5
28 | state: present
29 | tablespaces:
30 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
31 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
32 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
33 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
34 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
35 | init_parameters:
36 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
37 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
38 | # - {name: local_listener, value: *local_listener, scope: both, state: present}
39 | - {name: archive_lag_target, value: '900', scope: both, state: present}
40 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
41 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
42 | - {name: db_files, value: '200', scope: spfile, state: present}
43 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
44 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
45 | - {name: job_queue_processes, value: '10', scope: both, state: present}
46 | # Disable forcing hugepages on really small systems
47 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
48 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
49 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
50 | # - {name: log_archive_config , value: 'DG_CONFIG=(db19u1, db19u2)', scope: both, state: present, dbca: False}
51 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
52 | - {name: pga_aggregate_target, value: '160M', scope: both, state: present, dbca: false}
53 | - {name: sga_target, value: '1808M', scope: spfile, state: present, dbca: false}
54 | - {name: shared_pool_size, value: '768M', scope: both, state: present, dbca: true}
55 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
56 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
57 | - {name: streams_pool_size, value: '160M', scope: spfile, state: present}
58 | # "_cursor_obsolete_threshold" for 12.2+
59 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
60 | - {name: max_pdbs, value: '3', scope: both, state: present}
61 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
62 | - {name: db_create_file_dest, value: '+DATA', scope: both, state: present}
63 | - {name: db_create_online_log_dest_1, value: '+DATA', scope: both, state: present}
64 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
65 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
66 |
67 | profiles:
68 | - name: DEFAULT
69 | state: present
70 | attributes:
71 | - {name: password_life_time, value: unlimited}
72 |
73 | - name: "C##CMK_MONITORING"
74 | state: present
75 | attributes:
76 | - {name: password_life_time, value: unlimited}
77 | - {name: sessions_per_user, value: 5}
78 | - {name: password_grace_time, value: 7}
79 | - {name: password_lock_time, value: 1}
80 | - {name: password_verify_function, value: "NULL"}
81 |
82 | users:
83 | - schema: dbsnmp
84 | state: unlocked
85 | update_password: always
86 | - schema: c##check_mk
87 | grants:
88 | - select_catalog_role
89 | - create session
90 | state: present
91 |
92 | rman_jobs:
93 | - {name: parameter}
94 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
95 |
96 | oracle_pdb_db1_orclpdb:
97 | home: *db_config_home
98 | listener_port: *cdb_listener_port
99 | cdb: *oracle_db_name
100 | pdb_name: ORCLPDB
101 | state: present
102 | profiles: "{{ oracle_default_profiles }}"
103 | statspack:
104 | purgedays: 14
105 | snaplevel: 7
106 | state: present
107 |
108 | tablespaces:
109 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
110 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
111 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
112 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
113 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
114 | # init_parameters:
115 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
116 |
--------------------------------------------------------------------------------
/inventory/local_has/host_vars/dbrestart162/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | oracle_databases:
10 | - "{{ oracle_database_db1 }}"
11 |
12 | oracle_pdbs:
13 | - "{{ oracle_pdb_db1_orclpdb }}"
14 |
--------------------------------------------------------------------------------
/inventory/local_has/host_vars/has19c-192-168-56-162.nip.io/ansible.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # for OL7
3 | interpreter_python: /usr/bin/python2
4 | # discovered_interpreter_python: /usr/bin/python2
5 |
--------------------------------------------------------------------------------
/inventory/local_has/host_vars/has19c-192-168-56-162.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | db_homes_installed:
10 | - home: db19-gi-ee
11 | apply_patches: true
12 | state: present
13 |
14 | oracle_databases:
15 | - "{{ oracle_database_db1 }}"
16 |
17 | oracle_pdbs:
18 | - "{{ oracle_pdb_db1_orclpdb }}"
19 |
--------------------------------------------------------------------------------
/inventory/local_has/host_vars/has21c-192-168-56-163.nip.io/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | db_homes_installed:
10 | - home: db21-gi-ee
11 | apply_patches: true
12 | state: present
13 |
14 | oracle_databases:
15 | - "{{ oracle_database_db1 }}"
16 |
17 | oracle_pdbs:
18 | - "{{ oracle_pdb_db1_orclpdb }}"
19 |
--------------------------------------------------------------------------------
/inventory/local_has/hosts.yml:
--------------------------------------------------------------------------------
1 | ---
2 | all:
3 | children:
4 | has19c:
5 | hosts:
6 | has19c-192-168-56-162.nip.io:
7 | ansible_connection: ssh
8 | ansible_ssh_user: vagrant
9 | # ansible_ssh_pass: vagrant
10 |
11 | has21c:
12 | hosts:
13 | has21c-192-168-56-163.nip.io:
14 | ansible_connection: ssh
15 | ansible_ssh_user: vagrant
16 | # ansible_ssh_pass: vagrant
17 |
--------------------------------------------------------------------------------
/inventory/patch_download/19.18/group_vars/all.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_patch_download_dir: /vagrant
3 |
4 | # mos_login:
5 | # mos_password:
6 |
7 | oracle_sw_patches:
8 | - filename: p34762026_190000_Linux-x86-64.zip
9 | patchid: 34762026
10 | version: 19.3.0.0
11 | patchversion: 19.18.0.0.230117
12 | description: GI Release Update 19.18.0.0.230117 (REL-JAN230131)
13 |
14 | - filename: p34786990_190000_Linux-x86-64.zip
15 | patchid: 34786990
16 | version: 19.3.0.0
17 | patchversion: 19.18.0.0.230117
18 | description: OJVM RELEASE UPDATE 19.18.0.0.0
19 |
--------------------------------------------------------------------------------
/inventory/patch_download/19.18/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/patch_download/19.19/group_vars/all.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_patch_download_dir: /vagrant
3 |
4 | # mos_login:
5 | # mos_password:
6 |
7 | oracle_sw_source_local: "{{ oracle_patch_download_dir }}"
8 |
9 | oracle_sw_patches:
10 | - filename: p35037840_190000_Linux-x86-64.zip
11 | patchid: 35037840
12 | version: 19.3.0.0
13 | patchversion: 19.19.0.0.230418
14 | description: GI Release Update 19.19.0.0.230418
15 |
16 | - filename: p35050341_190000_Linux-x86-64.zip
17 | patchid: 35050341
18 | version: 19.3.0.0
19 | patchversion: 19.19.0.0.230418
20 | description: OJVM RELEASE UPDATE 19.19.0.0.230418
21 |
--------------------------------------------------------------------------------
/inventory/patch_download/19.19/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/patch_download/21.10/group_vars/all.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_patch_download_dir: /vagrant
3 |
4 | # mos_login:
5 | # mos_password:
6 |
7 | oracle_sw_source_local: "{{ oracle_patch_download_dir }}"
8 |
9 | oracle_sw_patches:
10 |
11 | - filename: p35132566_210000_Linux-x86-64.zip
12 | patchid: 35132566
13 | version: 21.3.0.0
14 | patchversion: 21.10.0.0.230418
15 | description: GI Release Update 21.10.0.0.230418
16 |
--------------------------------------------------------------------------------
/inventory/patch_download/21.10/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/patch_download/21.9/group_vars/all.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_patch_download_dir: /vagrant
3 |
4 | # mos_login:
5 | # mos_password:
6 |
7 | oracle_sw_patches:
8 |
9 | - filename: p34838415_210000_Linux-x86-64.zip
10 | patchid: 34838415
11 | version: 21.3.0.0
12 | patchversion: 21.9.0.0.230117
13 | description: GI RELEASE UPDATE 21.9.0.0.0
14 |
--------------------------------------------------------------------------------
/inventory/patch_download/21.9/hosts.yml:
--------------------------------------------------------------------------------
1 | all:
2 | children:
3 | dbfs:
4 | hosts:
5 | dbfs161-192-168-56-161.nip.io:
6 | ansible_connection: ssh
7 | ansible_ssh_user: vagrant
8 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # 21c
3 | # oracle_install_version_gi: 21.3.0.0
4 | # oracle_home_gi: /u01/app/gridinfra/21
5 | # # oracle_install_image_gi: grid_home_21.4.zip
6 | # apply_patches_gi: true
7 | # gi_patches:
8 | # "{{ gi_patches_config['21.4.0.0.211019'] }}"
9 |
10 | # 19c
11 | oracle_install_version_gi: 19.3.0.0
12 | oracle_home_gi: /u01/app/gridinfra/19
13 | # oracle_install_image_gi: grid_home_19.13.zip
14 | apply_patches_gi: true
15 | gi_patches:
16 | "{{ gi_patches_config['19.13.0.0.211019'] }}"
17 |
18 | device_persistence: asmlib
19 | oracle_asm_disk_string: /dev/oracleasm/disks/*
20 | oracle_asm_init_dg: data
21 |
22 | asm_diskgroups: # ASM Diskgroups used for DB-storage. Should map to dict asm_storage_layout.
23 | - diskgroup: data
24 | state: present
25 | properties:
26 | - {redundancy: external, ausize: 4}
27 | attributes:
28 | - {name: compatible.rdbms, value: 11.2.0.4.0}
29 | - {name: compatible.asm, value: "19.0.0.0.0"}
30 | disk:
31 | - {device: /dev/sdc, asmlabel: data01}
32 | - diskgroup: fra
33 | state: present
34 | properties:
35 | - {redundancy: external, ausize: 4}
36 | attributes:
37 | - {name: compatible.rdbms, value: 11.2.0.4.0}
38 | - {name: compatible.asm, value: "19.0.0.0.0"}
39 | disk:
40 | - {device: /dev/sdd, asmlabel: fra01}
41 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/db-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | apply_patches_db: true
3 | db_homes_config:
4 |
5 | db2104-gi-ee: &db2104-gi-ee
6 | home: db2104-gi-ee
7 | version: 21.3.0.0
8 | oracle_home: /u01/app/oracle/product/21/db2104-gi-ee
9 | edition: EE
10 | opatch_minversion: 12.2.0.1.27
11 | opatchauto:
12 | - patchid: 33250101
13 | patchversion: 21.4.0.0.211019
14 | state: present
15 | path: 21.4.0.0.211019/gi/33250101/33250101/
16 | subpatches:
17 | - 33271793 # OCW Release Update 21.4.0.0.211019
18 | - 33239276 # Database Release Update 21.4.0.0.211019
19 |
20 | db2103-gi-ee: &db2103-gi-ee
21 | home: db2103-gi-ee
22 | version: 21.3.0.0
23 | oracle_home: /u01/app/oracle/product/21/db2103-gi-ee
24 | edition: EE
25 | opatch_minversion: 12.2.0.1.24
26 |
27 | db1913-gi-ee: &db1913-gi-ee
28 | home: db1912-si-ee
29 | version: 19.3.0.0
30 | oracle_home: /u01/app/oracle/product/19/db1913-si-ee
31 | edition: EE
32 | opatch_minversion: 12.2.0.1.27
33 | opatchauto:
34 | - patchid: 33182768
35 | patchversion: 19.13.0.0.211019
36 | state: present
37 | path: ./19.13.0.0.211019/gi/33182768/33182768
38 | subpatches:
39 | - 33208123 # OCW Release Update 19.13.0.0.211019
40 | - 32585572 # DBWLM Release Update
41 | - 33192793 # Database Release Update 19.13.0.0.211019
42 | opatch:
43 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
44 | - {patchid: 29213893, state: absent, excludeUPI: 24384541, stop_processes: true}
45 | - {patchid: 30978304, state: absent, excludeUPI: 24384338, stop_processes: true}
46 | # - {patchid: 31602782, state: absent, excludeUPI: 24384398, stop_processes: true}
47 | - {patchid: 33121934, state: absent, excludeUPI: 24407586, stop_processes: true}
48 | - {patchid: 32522300, state: absent, stop_processes: true}
49 | - {patchid: 31143146, state: absent, stop_processes: true}
50 | - {patchid: 32919937, state: absent, stop_processes: true}
51 | - {patchid: 33144001, state: absent, stop_processes: true}
52 | - patchid: 32876380
53 | # Oracle JavaVM Component Release Update (OJVM RU) 19.13.0.0.211019
54 | stop_processes: true
55 | state: present
56 | path: 19.13.0.0.211019/ojvm/p33192694_190000_Linux-x86-64.zip
57 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
58 | - {patchid: 29213893, path: 19.13.0.0.211019/p29213893_1913000DBRU_Generic.zip, state: present, stop_processes: true}
59 | - {patchid: 30978304, path: 19.13.0.0.211019/p30978304_1913000DBRU_Generic.zip, state: present, stop_processes: true}
60 | # Contention on "CURSOR: PIN S WAIT ON X" when PQ slave's execution plan does not match with QC
61 | # conflicts with 33121934 ...
62 | # - {patchid: 31602782, path: 19.13.0.0.211019/p31602782_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
63 | # Library cache lock / load lock / mutex x during connection storm
64 | - {patchid: 33121934, path: 19.13.0.0.211019/p33121934_1913000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
65 |
66 | db1912-gi-ee: &db1912-gi-ee
67 | home: db1912-si-ee
68 | version: 19.3.0.0
69 | oracle_home: /u01/app/oracle/product/19/db1912-si-ee
70 | edition: EE
71 | opatch_minversion: 12.2.0.1.25
72 | opatchauto:
73 | - patchid: 30899722
74 | patchversion: 19.12.0.0.200414
75 | state: present
76 | path: 19.12.0.0.210720/gi/32895426
77 | subpatches:
78 | - 32916816 # OCW Release Update 19.12.0.0.210720
79 | - 32904851 # Database Release Update 19.12.0.0.210720
80 | opatch:
81 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
82 | - {patchid: 32522300, state: absent, stop_processes: true}
83 | - {patchid: 31143146, state: absent, stop_processes: true}
84 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
85 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
86 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
87 | # New Patches
88 | # - patchid: 32876380
89 | # # Oracle JavaVM Component Release Update (OJVM RU) 19.12.0.0.210720
90 | # stop_processes: true
91 | # state: present
92 | # path: 19.12.0.0.210720/ojvm/p32876380_190000_Linux-x86-64.zip
93 | # # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
94 | # - {patchid: 31602782, path: 19.12.0.0.210720/p31602782_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
95 | # - {patchid: 32919937, path: 19.12.0.0.210720/p32919937_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
96 | # - {patchid: 33144001, path: 19.12.0.0.210720/p33144001_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
97 |
98 | db1911-gi-ee: &db1911-gi-ee
99 | home: db1911-gi-ee
100 | version: 19.3.0.0
101 | oracle_home: /u01/app/oracle/product/19/db1911-gi-ee
102 | edition: EE
103 | opatch_minversion: 12.2.0.1.24
104 |
105 | db1814-gi-ee: &db1814-gi-ee
106 | home: db1814-gi-ee
107 | version: 18.3.0.0
108 | oracle_home: /u01/app/oracle/product/18/db1814-gi-ee
109 | edition: EE
110 | opatch_minversion: 12.2.0.1.19
111 |
112 | db12201-gi-ee:
113 | home: db12201-gi-ee
114 | version: 12.2.0.1
115 | oracle_home: /u01/app/oracle/product/12.2.0.1/db12201-gi-ee
116 | edition: EE
117 | dnfs: true
118 | opatch_minversion: 12.2.0.1.13
119 |
120 | db12102-gi-ee:
121 | home: db12102-gi-ee
122 | version: 12.1.0.2
123 | oracle_home: /u01/app/oracle/product/12.1.0.2/db12102-gi-ee
124 | edition: EE
125 | dnfs: true
126 | opatch_minversion: 12.2.0.1.13
127 |
128 | db11204-gi-ee:
129 | home: db11204-gi-ee
130 | version: 11.2.0.4
131 | oracle_home: /u01/app/oracle/product/11.2.0.4/db11204-gi-ee
132 | edition: EE
133 | opatch_minversion: 11.2.0.3.20
134 |
135 | # Current Mapping of ORACLE_HOMEs
136 | # use this mapping for fast change between the Release Updates
137 | # <<: * => merge values from alias and overwrite oracle_home + home
138 | db21-gi-ee:
139 | <<: *db2104-gi-ee
140 | # imagename: db_home_21.4.zip
141 | oracle_home: /u01/app/oracle/product/21/db1
142 | home: db21-gi-ee
143 | db19-gi-ee:
144 | <<: *db1913-gi-ee
145 | # imagename: db_home_19.13.zip
146 | oracle_home: /u01/app/oracle/product/19/db1
147 | home: db19-gi-ee
148 | db18-gi-ee:
149 | <<: *db1814-gi-ee
150 | # oracle_home: /u01/app/oracle/product/18/db1
151 | # home: db18-gi-ee
152 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/db-profiles.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # global Defaults for Database-Profiles
3 |
4 | oracle_default_profiles:
5 | - name: DEFAULT
6 | state: present
7 | attributes:
8 | - {name: password_life_time, value: unlimited}
9 | - name: PW_UNLIMIT
10 | state: present
11 | attributes:
12 | - {name: password_life_time, value: "UNLIMITED"}
13 | - {name: password_grace_time, value: 7}
14 | - {name: password_lock_time, value: 1}
15 | - {name: password_verify_function, value: "null"}
16 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # Oracle gets problems, when root processes are not visible
3 | hidepid_option: 0
4 |
5 | os_security_kernel_enable_module_loading: true
6 |
7 | sysctl_overwrite:
8 | network_ipv6_enable: false
9 | fs.protected_regular: 0 # needed for opatchauto ...
10 |
11 | # ssh settings
12 | ssh_print_last_log: true
13 | ssh_allow_agent_forwarding: false
14 | ssh_permit_tunnel: false
15 | ssh_allow_tcp_forwarding: 'no'
16 | ssh_max_auth_retries: 3
17 |
18 | ssh_allow_users: vagrant ansible
19 |
20 | # disable some ansible-oracle options
21 | disable_selinux: false
22 | configure_oracle_sudo: false
23 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/gi-homes.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This configuration file is used as a global default
3 | # The variable gi_patches_config is not part of ansible-oracle. It is
4 | # referenced from other structures in the Inventory.
5 |
6 | gi_patches_config:
7 |
8 | 21.4.0.0.211019:
9 | 21.3.0.0: # Base Release
10 | opatch_minversion: 12.2.0.1.27
11 | opatchauto:
12 | - patchid: 33250101
13 | patchversion: 21.4.0.0.211019
14 | state: present
15 | path: 21.4.0.0.211019/gi/33250101/33250101/
16 | subpatches:
17 | - 33271793 # OCW Release Update 21.4.0.0.211019
18 | - 33239276 # Database Release Update 21.4.0.0.211019
19 | - 33271789 # ACFS Release Update 21.4.0.0.211019
20 | - 33276861 # Tomcat Release Update 21.0.0.0.0
21 |
22 | 19.13.0.0.211019:
23 | 19.3.0.0: # Base Release
24 | opatch_minversion: 12.2.0.1.27
25 | opatchauto:
26 | - patchid: 33182768
27 | patchversion: 19.13.0.0.211019
28 | state: present
29 | path: ./19.13.0.0.211019/gi/33182768/33182768
30 | subpatches:
31 | - 33208123 # OCW Release Update 19.13.0.0.211019
32 | - 32585572 # DBWLM Release Update
33 | - 33208107 # ACFS Release Update 19.13.0.0.211019
34 | - 33239955 # Tomcat Release Update 19.0.0.0.0
35 | - 33192793 # Database Release Update 19.13.0.0.211019
36 | opath:
37 | # Remove Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
38 | - {patchid: 32522300, state: absent, stop_processes: true}
39 | - {patchid: 31143146, state: absent, stop_processes: true}
40 | - {patchid: 31602782, state: absent, excludeUPI: 24359090, stop_processes: true}
41 | - {patchid: 32919937, state: absent, excludeUPI: 24372674, stop_processes: true}
42 | - {patchid: 33144001, state: absent, excludeUPI: 24351857, stop_processes: true}
43 | - patchid: 32876380
44 | # Oracle JavaVM Component Release Update (OJVM RU) 19.12.0.0.210720
45 | stop_processes: true
46 | state: present
47 | path: 19.12.0.0.210720/ojvm/p32876380_190000_Linux-x86-64.zip
48 | # Oracle Database 19c Important Recommended One-off Patches (Doc ID 555.1)
49 | - {patchid: 31602782, path: 19.12.0.0.210720/p31602782_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
50 | - {patchid: 32919937, path: 19.12.0.0.210720/p32919937_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
51 | - {patchid: 33144001, path: 19.12.0.0.210720/p33144001_1912000DBRU_Linux-x86-64.zip, state: present, stop_processes: true}
52 |
53 | 19.12.0.0.210720:
54 | 19.3.0.0: # Base Release
55 | opatch_minversion: 12.2.0.1.25
56 | opatchauto:
57 | - patchid: 32895426
58 | patchversion: 19.12.0.0.210720
59 | state: present
60 | path: 19.12.0.0.210720/gi/32895426
61 | subpatches:
62 | - 32916816 # OCW Release Update 19.12.0.0.210720
63 | - 32585572 # DBWLM Release Update
64 | - 32915586 # ACFS Release Update 19.12.0.0.210720
65 | - 32918050 # Tomcat Release Update 19.0.0.0.0
66 | - 32904851 # Database Release Update 19.12.0.0.210720
67 |
68 | # 19.11 is an example based on a GoldenImage with RU 19.11
69 | # Please add following variable:
70 | # oracle_install_image_gi: grid_home_19.11.zip
71 | 19.11.0.0.210720:
72 | 19.3.0.0: # Base Release
73 | opatch_minversion: 12.2.0.1.25
74 |
75 | 19.4.0.0.190716:
76 | 19.3.0.0: # Base Release
77 | opatch_minversion: 12.2.0.1.17
78 | opatchauto:
79 | - patchid: 29252072
80 | patchversion: 19.4.0.0.190716
81 | state: present
82 | path: 29708769/29708769
83 | subpatches:
84 | - 29834717
85 | - 29850993
86 | - 29851014
87 | - 29401763
88 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/gi.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_cluster: true
3 | role_separation: true
4 |
5 | configure_ssh: true
6 |
7 | oracle_gi_cluster_type: standard
8 |
9 | oracle_asm_init_dg: data
10 | oracle_password: Oracl3_4U
11 | oracle_scan: scan-192-168-56-179.nip.io
12 | oracle_scan_port: 1521
13 | oracle_gi_nic_pub: eth1
14 | oracle_gi_nic_priv: eth2
15 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/host.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_public_yum_repo: false
3 | configure_epel_repo: false
4 | configure_motd: false
5 | configure_etc_hosts: true
6 |
7 | configure_oracle_sudo: true
8 | disable_ee_options: true # noqa var-naming
9 |
10 | autostartup_service: true
11 |
12 | control_management_pack_access: NONE
13 |
14 | configure_hugepages_by: memory
15 |
16 | # disable hugepages on small systems
17 | # don't forget to enable use_large_pages in oracle parameter
18 | # size_in_gb_hugepages: 2
19 | size_in_gb_hugepages: 0
20 |
21 | oracle_stage: /u01/stage
22 |
23 | configure_host_disks: true
24 |
25 | host_fs_layout:
26 | - vgname: oravg
27 | state: present
28 | filesystem:
29 | - {mntp: /u01, lvname: orabaselv, lvsize: 40G, fstype: xfs}
30 | - {mntp: swap, lvname: swaplv, lvsize: 16g, fstype: swap}
31 | disk:
32 | - {device: /dev/sdb, pvname: /dev/sdb1}
33 | - vgname: rootvg
34 | state: present
35 | filesystem:
36 | - {mntp: /tmp, lvname: tmplv, lvsize: 1200m, fstype: ext4}
37 | disk:
38 | - {device: /dev/sda, pvname: /dev/sda2}
39 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/all/software_src.yml:
--------------------------------------------------------------------------------
1 | ---
2 | is_sw_source_local: true
3 | oracle_sw_copy: false
4 | oracle_sw_unpack: false
5 |
6 | oracle_stage_remote: /sw/oracle/linux64
7 |
8 | golden_image_dest: /u01/golden
9 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/db19/database_DBR1.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # IMPORTANT!!!!
3 | # Don't forget to add the oracle_database_ to oracle_databases!
4 | #
5 | oracle_database_dbr1:
6 | home: &db_config_home db19-gi-ee
7 | oracle_db_name: &oracle_db_name DBR1
8 | oracle_db_type: RAC # Type of database (RAC,RACONENODE,SI)
9 | is_container: true
10 | storage_type: ASM # Database storage to be used. ASM or FS.
11 | oracle_db_mem_totalmb: 1024 # Amount of RAM to be used for SGA
12 | oracle_database_type: MULTIPURPOSE # MULTIPURPOSE|DATA_WAREHOUSING|OLTP
13 | redolog_size: 75M
14 | redolog_groups: 3
15 | datafile_dest: +DATA
16 | recoveryfile_dest: +FRA
17 | # listener_name: LISTENER # This home will have a listener configured
18 | listener_port: &cdb_listener_port 1521
19 | # *local_listener is used in initparam as an achor
20 | local_listener: &local_listener "'{{ ansible_hostname }}:1521'"
21 | archivelog: false
22 | flashback: false
23 | force_logging: true
24 | state: present
25 | # Statspack is not supported in RAC at the moment
26 | # statspack:
27 | # purgedays: 14
28 | # snaplevel: 5
29 | # state: present
30 | tablespaces:
31 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
32 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
33 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
34 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
35 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
36 | init_parameters:
37 | - {name: audit_trail, value: 'NONE', scope: spfile, state: present}
38 | - {name: processes, value: '400', scope: spfile, state: present, dbca: false}
39 | # - {name: local_listener, value: *local_listener, scope: both, state: present}
40 | - {name: archive_lag_target, value: '900', scope: both, state: present}
41 | - {name: control_management_pack_access, value: '{{ control_management_pack_access }}', scope: both, state: present}
42 | - {name: control_file_record_keep_time, value: '30', scope: both, state: present}
43 | - {name: db_files, value: '200', scope: spfile, state: present}
44 | - {name: deferred_segment_creation, value: 'false', scope: both, state: present}
45 | - {name: filesystemio_options, value: 'setall', scope: spfile, state: present}
46 | - {name: job_queue_processes, value: '10', scope: both, state: present}
47 | # Disable forcing hugepages on really small systems
48 | # - {name: use_large_pages ,value: 'ONLY', scope: spfile, state: present}
49 | - {name: log_archive_dest_1, value: 'location=USE_DB_RECOVERY_FILE_DEST', scope: both, state: present}
50 | # - {name: dg_broker_start, value: 'false', scope: both, state: present, dbca: False}
51 | # - {name: log_archive_config , value: 'DG_CONFIG=(DBR19u1, DBR19u2)', scope: both, state: present, dbca: False}
52 | - {name: log_buffer, value: '64M', scope: spfile, state: present}
53 | - {name: pga_aggregate_target, value: '200M', scope: both, state: present, dbca: false}
54 | - {name: sga_target, value: '1800M', scope: spfile, state: present, dbca: false}
55 | - {name: recyclebin, value: 'off', scope: spfile, state: present}
56 | - {name: standby_file_management, value: 'AUTO', scope: both, state: present}
57 | - {name: streams_pool_size, value: '152M', scope: spfile, state: present}
58 | # "_cursor_obsolete_threshold" for 12.2+
59 | - {name: "_cursor_obsolete_threshold", value: '1024', scope: spfile, state: present}
60 | - {name: max_pdbs, value: '3', scope: both, state: present}
61 | - {name: clonedb, value: 'true', scope: spfile, state: present, dbca: false}
62 | - {name: db_create_file_dest, value: '+DATA', scope: both, state: present}
63 | - {name: db_create_online_log_dest_1, value: '+DATA', scope: both, state: present}
64 | # file_dest_size in bytes in 12.1.0.2 due to bug in DBCA
65 | - {name: db_recovery_file_dest_size, value: '10G', scope: both, state: present, dbca: false}
66 |
67 | profiles:
68 | - name: DEFAULT
69 | state: present
70 | attributes:
71 | - {name: password_life_time, value: unlimited}
72 |
73 | - name: "C##CMK_MONITORING"
74 | state: present
75 | attributes:
76 | - {name: password_life_time, value: unlimited}
77 | - {name: sessions_per_user, value: 5}
78 | - {name: password_grace_time, value: 7}
79 | - {name: password_lock_time, value: 1}
80 | - {name: password_verify_function, value: "NULL"}
81 |
82 | users:
83 | - schema: dbsnmp
84 | state: unlocked
85 | update_password: always
86 | - schema: c##check_mk
87 | grants:
88 | - select_catalog_role
89 | - create session
90 | state: present
91 |
92 | rman_jobs:
93 | - {name: parameter}
94 | - {name: offline_level0, disabled: false, weekday: "0", hour: "01", minute: "10", day: "*"}
95 |
96 | oracle_pdb_dbr1_orclpdb:
97 | home: *db_config_home
98 | listener_port: *cdb_listener_port
99 | cdb: *oracle_db_name
100 | pdb_name: ORCLPDB
101 | state: present
102 | profiles: "{{ oracle_default_profiles }}"
103 | # Statspack is not supported in RAC at the moment
104 | # statspack:
105 | # purgedays: 14
106 | # snaplevel: 7
107 | # state: present
108 |
109 | tablespaces:
110 | - {name: system, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
111 | - {name: sysaux, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
112 | - {name: undotbs1, size: 10M, autoextend: true, next: 50M, maxsize: 8G, content: permanent, state: present, bigfile: false}
113 | - {name: users, size: 10M, autoextend: true, next: 50M, maxsize: 2G, content: permanent, state: present, bigfile: false}
114 | - {name: temp, size: 10M, autoextend: true, next: 50M, maxsize: 4G, content: permanent, state: present, bigfile: false}
115 | # init_parameters:
116 | # - {name: db_create_file_dest, value: '/u02/oradata/', scope: both, state: present}
117 |
--------------------------------------------------------------------------------
/inventory/racattack/group_vars/db19/databases.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # rmanautofs: yes
3 | # rmanautofsmount: /u01/rmanbackup
4 | rman_retention_policy: "RECOVERY WINDOW OF 14 DAYS"
5 | rman_channel_disk: "format '/u01/rmanbackup/%d/%d_%T_%U'"
6 | rman_controlfile_autobackup_disk: "'/u01/rmanbackup/%d/%d_%F'"
7 | rman_device_type_disk: 'PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET'
8 |
9 | db_homes_installed:
10 | - home: db19-gi-ee
11 | apply_patches: true
12 | state: present
13 |
14 | oracle_databases:
15 | - "{{ oracle_database_dbr1 }}"
16 |
17 | oracle_pdbs:
18 | - "{{ oracle_pdb_dbr1_orclpdb }}"
19 |
--------------------------------------------------------------------------------
/inventory/racattack/host_vars/collabn1-192-168-56-171.nip.io/gi.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_node_vip: collabn1-vip-192-168-56-181.nip.io
3 | etc_hosts_ip: 192.168.56.171
4 |
--------------------------------------------------------------------------------
/inventory/racattack/host_vars/collabn2-192-168-56-172.nip.io/gi.yml:
--------------------------------------------------------------------------------
1 | ---
2 | oracle_node_vip: collabn2-vip-192-168-56-182.nip.io
3 | etc_hosts_ip: 192.168.56.172
4 |
--------------------------------------------------------------------------------
/inventory/racattack/hosts.yml:
--------------------------------------------------------------------------------
1 | ---
2 | all:
3 | children:
4 | collabn:
5 | children:
6 | db19:
7 | hosts:
8 | collabn1-192-168-56-171.nip.io:
9 | ansible_connection: ssh
10 | ansible_ssh_user: vagrant
11 | ansible_ssh_pass: vagrant
12 |
13 | collabn2-192-168-56-172.nip.io:
14 | ansible_connection: ssh
15 | ansible_ssh_user: vagrant
16 | ansible_ssh_pass: vagrant
17 |
--------------------------------------------------------------------------------
/navigator/replay/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/opitzconsulting/ansible-oracle-inventory/74ab9066985343a311496c7ff7b7dbff76abaef6/navigator/replay/.gitkeep
--------------------------------------------------------------------------------
/playbooks/ahf.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Install Oracle Autonomous Health Framework (AHF)
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | any_errors_fatal: true
7 | roles:
8 | - opitzconsulting.ansible_oracle.oraswahf_install
9 |
--------------------------------------------------------------------------------
/playbooks/db-facts.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Database Server Database Facts
3 | hosts: "{{ hostgroup | default('all') }}"
4 | any_errors_fatal: true
5 | tasks:
6 | - name: Gather database facts
7 | ansible.builtin.import_role:
8 | name: opitzconsulting.ansible_oracle.oradb_facts
9 | - debug: var=oracledb_facts
10 |
--------------------------------------------------------------------------------
/playbooks/dev-sec.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Configure devsec Security on Hosts
3 | hosts: all
4 | any_errors_fatal: true
5 | become: true
6 | become_user: root
7 | roles:
8 | - devsec.hardening.os_hardening
9 | - devsec.hardening.ssh_hardening
10 |
--------------------------------------------------------------------------------
/playbooks/gi_facts.yml:
--------------------------------------------------------------------------------
1 | - name: Show Grid-Infrastructure/Restart facts
2 | hosts: all
3 | vars:
4 | oracle_env:
5 | ORACLE_HOME: /u01/app/oracle/21/grid
6 | tasks:
7 | - name: Return GI facts
8 | opitzconsulting.ansible_oracle.oracle_gi_facts:
9 | environment: "{{ oracle_env }}"
10 |
--------------------------------------------------------------------------------
/playbooks/golden_images.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Create Golden-Images for Oracle Database, Oracle Restart
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | any_errors_fatal: true
7 | roles:
8 | - opitzconsulting.ansible_oracle.oraswdb_golden_image
9 | - opitzconsulting.ansible_oracle.oraswgi_golden_image
10 |
--------------------------------------------------------------------------------
/playbooks/list_playhosts.yml:
--------------------------------------------------------------------------------
1 | ---
2 | #
3 | # List Play Hosts.
4 | # This is a helper playbook for AWX.
5 | #
6 | #
7 | - name: List play hosts
8 | hosts: "{{ hostgroup | default('all') }}"
9 | gather_facts: false
10 | any_errors_fatal: true
11 | tasks:
12 | - name: List Play hosts
13 | ansible.builtin.debug:
14 | var: play_hosts
15 |
--------------------------------------------------------------------------------
/playbooks/manage-db.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Database Server Database Creation
3 | hosts: "{{ hostgroup | default('all') }}"
4 | become: true
5 | any_errors_fatal: true
6 | roles:
7 | - opitzconsulting.ansible_oracle.oradb_manage_wallet
8 | - opitzconsulting.ansible_oracle.oradb_manage_db
9 | - opitzconsulting.ansible_oracle.oradb_manage_pdb
10 | - opitzconsulting.ansible_oracle.oradb_manage_parameters
11 | - opitzconsulting.ansible_oracle.oradb_manage_tablespace
12 | - opitzconsulting.ansible_oracle.oradb_manage_redo
13 | - opitzconsulting.ansible_oracle.oradb_manage_profiles
14 | - opitzconsulting.ansible_oracle.oradb_manage_statspack
15 | - opitzconsulting.ansible_oracle.oradb_manage_roles
16 | - opitzconsulting.ansible_oracle.oradb_manage_users
17 | - opitzconsulting.ansible_oracle.oradb_manage_grants
18 | - opitzconsulting.ansible_oracle.oradb_manage_services
19 | - opitzconsulting.ansible_oracle.oradb_rman
20 |
--------------------------------------------------------------------------------
/playbooks/manage_wallet.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Manage Oracle wallet
3 | hosts: "{{ hostgroup | default('all') }}"
4 | any_errors_fatal: true
5 | roles:
6 | - opitzconsulting.ansible_oracle.oradb_manage_wallet
7 |
--------------------------------------------------------------------------------
/playbooks/ocenv.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Install environment helper ocenv
3 | hosts: "{{ hostgroup | default('all') }}"
4 | any_errors_fatal: true
5 | become: true
6 | become_user: oracle
7 | tasks:
8 | - name: Install ocenv
9 | ansible.builtin.include_role:
10 | name: opitzconsulting.ansible_oracle.oradb_manage_db
11 | tasks_from: ocenv.yml
12 | become:
13 |
--------------------------------------------------------------------------------
/playbooks/opatch.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Database Server Patching
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | any_errors_fatal: true
7 | roles:
8 | - opitzconsulting.ansible_oracle.oraswdb_manage_patches
9 | - opitzconsulting.ansible_oracle.oradb_datapatch
10 |
--------------------------------------------------------------------------------
/playbooks/os.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Host configuration
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | any_errors_fatal: true
7 | collections:
8 | - opitzconsulting.ansible_oracle
9 | roles:
10 | - common
11 | - orahost
12 | - orahost_storage
13 | - name: orahost_ssh
14 | when: configure_cluster | default(false)
15 | - cxoracle
16 | - orahost_logrotate
17 |
18 | post_tasks:
19 | - name: Restart autofs
20 | service: name=autofs enabled=yes state=restarted
21 | tags: autofs
22 |
--------------------------------------------------------------------------------
/playbooks/os_racattack.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Host configuration for Vagrant
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | become_user: root
7 | any_errors_fatal: true
8 | tasks:
9 | - name: set new hostname
10 | hostname:
11 | name: "{{ inventory_hostname }}"
12 |
13 | - name: Remove /etc/hosts
14 | file:
15 | path: /etc/hosts
16 | state: absent
17 |
18 | - name: Update /etc/hosts
19 | blockinfile:
20 | path: /etc/hosts
21 | mode: 0644
22 | create: true
23 | backup: false
24 | block: |
25 | 127.0.0.1 localhost
26 | {% for item in play_hosts %}
27 | {{ hostvars[item]['ansible_eth1']['ipv4']['address'] }} {{ hostvars[item]['ansible_fqdn'] }} {{ hostvars[item]['ansible_hostname'] }}
28 | {% endfor %}
29 |
--------------------------------------------------------------------------------
/playbooks/os_update_reboot.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # This Playbook is used in Cloud Environments after the
3 | # deployment of the VM.
4 | # Use it as the 1st playbook for deployment of ansible-oracle
5 | #
6 | - name: yum update and reboot
7 | hosts: "{{ hostgroup | default('all') }}"
8 | become: true
9 | gather_facts: false
10 | tasks:
11 | - name: Wait 300 seconds for Connection
12 | wait_for_connection:
13 | timeout: 300
14 |
15 | - name: yum update yum packages 1st
16 | package:
17 | # noqa package-latest
18 | name: "yum*"
19 | state: latest
20 | register: yumyumstate
21 |
22 | - debug: msg="{{ yumyumstate.results }}"
23 | # noqa unnamed-task
24 |
25 | - name: Kernel Update with later Reboot
26 | package:
27 | # noqa package-latest
28 | name: "kernel-uek"
29 | state: latest
30 | register: kernelstate
31 |
32 | - debug: msg="{{ kernelstate.results }}"
33 | # noqa unnamed-task
34 |
35 | - name: yum update
36 | package:
37 | # noqa package-latest
38 | name: "*"
39 | state: latest
40 | register: updatestate
41 |
42 | - debug: msg="{{ kernelstate.results }}"
43 | # noqa unnamed-task
44 |
45 | - name: reboot due to Kernel Update
46 | # noqa no-handler
47 | reboot:
48 | reboot_timeout: 180
49 | when: kernelstate.changed
50 |
--------------------------------------------------------------------------------
/playbooks/os_vagrant.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Host configuration for Vagrant
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | become_user: root
7 | any_errors_fatal: true
8 | tasks:
9 | - name: set new hostname
10 | hostname:
11 | name: "{{ inventory_hostname }}"
12 |
13 | - name: Remove /etc/hosts
14 | file:
15 | path: /etc/hosts
16 | state: absent
17 |
18 | - name: Update /etc/hosts
19 | blockinfile:
20 | path: /etc/hosts
21 | mode: 0644
22 | create: true
23 | backup: false
24 | block: |
25 | 127.0.0.1 localhost
26 | {% for item in play_hosts %}
27 | {{ hostvars[item]['ansible_eth1']['ipv4']['address'] }} {{ hostvars[item]['ansible_fqdn'] }} {{ hostvars[item]['ansible_hostname'] }}
28 | {% endfor %}
29 |
--------------------------------------------------------------------------------
/playbooks/patch_download.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Download Patches from support.oracle.com
4 | hosts: "{{ hostgroup | default('all') }}"
5 | any_errors_fatal: true
6 | roles:
7 | - opitzconsulting.ansible_oracle.orasw_download_patches
8 |
--------------------------------------------------------------------------------
/playbooks/racattackl-install.yml:
--------------------------------------------------------------------------------
1 | ---
2 | #
3 | # ansible-playbook -i inventory/racattack/hosts.yml -e hostgroup=collabn racattackl-install.yml --skip-tags redolog
4 | #
5 | # Note: oradb-manage-redolog not working on RAC at the moment
6 | #
7 | - import_playbook: os_racattack.yml
8 | - import_playbook: os.yml
9 | - import_playbook: sql-zauberkastern.yml
10 | - import_playbook: swgi.yml
11 | - import_playbook: swdb.yml
12 | - import_playbook: manage-db.yml
13 |
--------------------------------------------------------------------------------
/playbooks/single-instance-asm.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - import_playbook: dev-sec.yml
3 | - import_playbook: os.yml
4 | - import_playbook: sql-zauberkastern.yml
5 | - import_playbook: swgi.yml
6 | - import_playbook: swdb.yml
7 | - import_playbook: manage-db.yml
8 |
--------------------------------------------------------------------------------
/playbooks/single-instance-fs.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - import_playbook: dev-sec.yml
3 | - import_playbook: os.yml
4 | - import_playbook: sql-zauberkastern.yml
5 | - import_playbook: swdb.yml
6 | - import_playbook: manage-db.yml
7 |
--------------------------------------------------------------------------------
/playbooks/sql-zauberkastern.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Install SQL-Zauberkasten
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | become_user: root
7 | any_errors_fatal: true
8 | tasks:
9 | - name: git clone
10 | ansible.builtin.git:
11 | repo: https://github.com/Rendanic/SQL-Zauberkasten.git
12 | dest: /usr/local/SQL-Zauberkasten
13 | track_submodules: true
14 | version: master
15 | force: true
16 | single_branch: true
17 |
--------------------------------------------------------------------------------
/playbooks/swdb.yml:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | - name: Database Server Installation
4 | hosts: "{{ hostgroup | default('all') }}"
5 | become: true
6 | any_errors_fatal: true
7 | collections:
8 | - opitzconsulting.ansible_oracle
9 | roles:
10 | - oraswdb_install
11 | - oraswdb_manage_patches
12 |
--------------------------------------------------------------------------------
/playbooks/swgi.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Oracle Grid Infrastructure / Restart installation & ASM Configuration
3 | hosts: "{{ hostgroup | default('all') }}"
4 | become: true
5 | any_errors_fatal: true
6 | collections:
7 | - opitzconsulting.ansible_oracle
8 | roles:
9 | - oraswgi_install
10 | - oraswgi_manage_patches
11 | - oraasm_manage_diskgroups
12 |
--------------------------------------------------------------------------------
/requirements.yml:
--------------------------------------------------------------------------------
1 | ---
2 | collections:
3 | - name: opitzconsulting.ansible_oracle
4 | version: 4.4.1
5 |
--------------------------------------------------------------------------------
/requirements_development.yml:
--------------------------------------------------------------------------------
1 | ---
2 | collections:
3 | - source: ./../ansible-oracle
4 | type: dir
5 |
--------------------------------------------------------------------------------
/templates/19c_custom_dbca.dbt:
--------------------------------------------------------------------------------
1 | q
2 |
3 |
4 |
5 |
6 |
7 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | MULTIPURPOSE
35 | 20
36 | 40
37 | false
38 | {ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/pfile/init.ora
39 |
40 | {ORACLE_HOME}/dbs/spfile{SID}.ora
41 |
42 |
43 |
44 | 100
45 | 16
46 | 3
47 | 1
48 | 8
49 |
50 |
51 |
52 |
53 |
54 | SYSAUX
55 | false
56 | true
57 | 0
58 | 550
59 | true
60 | true
61 | 10240
62 | -1
63 |
64 |
65 | USERS
66 | false
67 | true
68 | 0
69 | 5
70 | true
71 | true
72 | 1280
73 | -1
74 |
75 |
76 | SYSTEM
77 | false
78 | true
79 | 0
80 | 700
81 | true
82 | true
83 | 10240
84 | -1
85 |
86 |
87 | TEMP
88 | false
89 | true
90 | 0
91 | 20
92 | true
93 | true
94 | 640
95 | -1
96 |
97 |
98 | UNDOTBS1
99 | false
100 | true
101 | 0
102 | 200
103 | true
104 | true
105 | 5120
106 | -1
107 |
108 |
109 | true
110 | 1
111 | false
112 | false
113 | false
114 | false
115 | true
116 | -1
117 | 1
118 | -1
119 | 64
120 | 64
121 | 50
122 | 1
123 | 4096
124 | 64
125 | true
126 | false
127 | 0
128 | false
129 |
130 |
131 |
132 |
133 |
134 | true
135 | 1
136 | false
137 | false
138 | false
139 | false
140 | true
141 | -1
142 | 1
143 | -1
144 | 128
145 | 128
146 | 0
147 | 1
148 | 4096
149 | 128
150 | true
151 | false
152 | 0
153 | false
154 |
155 |
156 |
157 |
158 |
159 | true
160 | 1
161 | false
162 | false
163 | false
164 | false
165 | true
166 | -1
167 | 3
168 | -1
169 | 64
170 | 64
171 | 50
172 | 1
173 | -1
174 | 64
175 | true
176 | false
177 | 0
178 | false
179 |
180 |
181 |
182 |
183 |
184 | true
185 | 1
186 | false
187 | true
188 | true
189 | false
190 | true
191 | -1
192 | 1
193 | -1
194 | 64
195 | 64
196 | 0
197 | 1
198 | 0
199 | 64
200 | true
201 | false
202 | 0
203 | false
204 |
205 |
206 |
207 |
208 |
209 | true
210 | 1
211 | false
212 | false
213 | false
214 | true
215 | true
216 | -1
217 | 1
218 | -1
219 | 512
220 | 512
221 | 50
222 | 8
223 | 4096
224 | 512
225 | true
226 | false
227 | 0
228 | false
229 |
230 |
231 |
232 |
233 |
234 | false
235 | 204800
236 | 1
237 |
238 |
239 |
240 | false
241 | 204800
242 | 1
243 |
244 |
245 |
246 | false
247 | 204800
248 | 1
249 |
250 |
251 |
252 |
253 |
--------------------------------------------------------------------------------
/vagrant/ansible/Vagrantfile:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 |
4 | # shell provisioner code
5 | $script = <<-SCRIPT
6 | # openjdk is needed for ocmp-documentation project
7 | # shellcheck for VSCode
8 | apt install -y openjdk-8-jdk shellcheck
9 |
10 | # copy public key to vagrant user
11 | ssh_public_key=/vagrant/id_rsa.pub
12 | if test -f "$ssh_public_key" ; then
13 | echo "Check if public key $ssh_public_key is valid."
14 | if ssh-keygen -l -f "$ssh_public_key" ; then
15 | echo "Add public key to /home/vagrant/.ssh/authorized_keys"
16 | cat "$ssh_public_key" >> /home/vagrant/.ssh/authorized_keys
17 | fi
18 | fi
19 |
20 | curl -q -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
21 | chmod a+x /usr/local/bin/docker-compose
22 |
23 | test -d /home/vagrant/git || (mkdir /home/vagrant/git ; chown vagrant /home/vagrant/git)
24 |
25 | SCRIPT
26 |
27 | Vagrant.configure("2") do |config|
28 | config.vm.box = "ubuntu/jammy64"
29 | config.disksize.size = '100GB'
30 | config.vm.box_check_update = true
31 | config.vm.network "private_network", ip: "192.168.56.99"
32 | config.ssh.insert_key = true
33 | config.vm.hostname = "ansible-192-168-56-99.nip.io"
34 |
35 | puts " "
36 | puts " Ansible-Controller for ansible-oracle"
37 | puts " "
38 | puts " Hostname: ansible-192-168-56-99.nip.io"
39 | puts " IP: 192.168.56.99"
40 | puts " "
41 |
42 |
43 | config.vm.provider "virtualbox" do |vb|
44 | vb.gui = false
45 | vb.memory = "2048"
46 | vb.cpus = 2
47 | vb.name = "ansible-99"
48 |
49 | config.vm.provision "docker"
50 | config.vm.provision "shell", inline: $script
51 | end
52 | end
53 |
--------------------------------------------------------------------------------
/vagrant/dbfs161/Vagrantfile:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 | #
4 | # PLEASE START 1st with following command to create additional disks!
5 | #
6 | # VAGRANT_EXPERIMENTAL=disks vagrant up
7 |
8 | Vagrant.configure("2") do |config|
9 |
10 | lanip = "192.168.56.161"
11 | vm_name = "dbfs161-192-168-56-161"
12 |
13 | puts " "
14 | puts " Single Instance Database in Filesystem"
15 | puts " "
16 | puts " Hostname: #{vm_name}"
17 | puts " IP: #{lanip}"
18 | puts " Logins:"
19 | puts " vagrant / vagrant"
20 | puts " root / vagrant"
21 | puts " "
22 | puts " Please do the 1st start with following command to create the additional disks!"
23 | puts " VAGRANT_EXPERIMENTAL=disks vagrant up"
24 | puts " "
25 |
26 | # Please define the folder to the extracted archives from Oracle
27 | #
28 | config.vm.synced_folder ENV['VAGRANT_ANSIBLE_ORACLE_SW'], "/sw/oracle", disabled: false, mount_options: ["ro"]
29 |
30 | config.vm.disk :disk, size: "150GB", name: "#{vm_name}_oracle"
31 |
32 | # config.disksize.size = '50GB'
33 | config.vm.box = "Rendanic/oraclelinux-7.x"
34 |
35 | config.vm.box_check_update = false
36 |
37 | config.vm.network :private_network, ip: lanip
38 |
39 | # config.vm.network "public_network"
40 | config.ssh.insert_key = true
41 | config.ssh.username = "vagrant"
42 | config.ssh.password = "vagrant"
43 |
44 | config.vm.hostname = "#{vm_name}.nio.io"
45 |
46 | config.vm.provider "virtualbox" do |vb|
47 | vb.name = vm_name
48 | vb.gui = false
49 | vb.memory = "4096"
50 | vb.cpus = 2
51 | vb.customize ["modifyvm", :id, "--groups", "/ansible-oracle"]
52 |
53 | end
54 |
55 | config.vm.provision "shell", inline: <<-SHELL
56 |
57 | if [ ! -b /dev/sdb ]; then
58 | echo "Please start the Box with following command once to create the addional disks!"
59 | echo "VAGRANT_EXPERIMENTAL=disks vagrant up"
60 | exit 1
61 | fi
62 |
63 | # copy public key to vagrant user
64 | ssh_public_key=/vagrant/id_rsa.pub
65 | if test -f "$ssh_public_key" ; then
66 | echo "Check if public key $ssh_public_key is valid."
67 | if ssh-keygen -l -f "$ssh_public_key" ; then
68 | echo "Add public key to /home/vagrant/.ssh/authorized_keys"
69 | cat "$ssh_public_key" >> /home/vagrant/.ssh/authorized_keys
70 | fi
71 | fi
72 |
73 | sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
74 | systemctl restart sshd.service
75 |
76 | yum install -y gcc make perl kernel-uek-devel
77 | yum update -y
78 | /sbin/rcvboxadd quicksetup all
79 |
80 | SHELL
81 | end
82 |
--------------------------------------------------------------------------------
/vagrant/has19c-162/Vagrantfile:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 | #
4 | # PLEASE START 1st with following command to create additional disks!
5 | #
6 | # VAGRANT_EXPERIMENTAL=disks vagrant up
7 |
8 | Vagrant.configure("2") do |config|
9 |
10 | lanip = "192.168.56.162"
11 | vm_name = "has19c-162"
12 | vm_hostname = "has19c-192-168-56-162.nip.io"
13 |
14 | # Please define the folder to the extracted archives from Oracle
15 | #
16 | config.vm.synced_folder ENV['VAGRANT_ANSIBLE_ORACLE_SW'], "/sw/oracle", disabled: false, mount_options: ["ro"]
17 |
18 | config.vm.disk :disk, size: "150GB", name: "#{vm_name}_oracle"
19 | config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmdata1"
20 | config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmfra1"
21 |
22 | # config.disksize.size = '50GB'
23 | config.vm.box = "Rendanic/oraclelinux-8.x"
24 |
25 | puts " "
26 | puts " Oracle Restart"
27 | puts " "
28 | puts " Hostname: #{vm_hostname}"
29 | puts " IP: #{lanip}"
30 | puts " Logins:"
31 | puts " vagrant / vagrant"
32 | puts " root / vagrant"
33 | puts " "
34 | puts " Please do the 1st start with following command to create the additional disks!"
35 | puts " VAGRANT_EXPERIMENTAL=disks vagrant up"
36 | puts " "
37 |
38 | config.vm.box_check_update = true
39 |
40 | config.vm.network :private_network, ip: lanip
41 |
42 | # config.vm.network "public_network"
43 | config.ssh.insert_key = true
44 | config.ssh.username = "vagrant"
45 | config.ssh.password = "vagrant"
46 |
47 | config.vm.hostname = vm_hostname
48 |
49 | config.vm.provider "virtualbox" do |vb|
50 | vb.gui = false
51 | vb.memory = "8500"
52 | vb.cpus = 2
53 | vb.name = vm_name
54 | vb.customize ["modifyvm", :id, "--groups", "/ansible-oracle"]
55 |
56 | end
57 |
58 |
59 | config.vm.provision "shell", inline: <<-SHELL
60 |
61 | if [ ! -b /dev/sdb ]; then
62 | echo "Please start the Box with following command once to create the addional disks!"
63 | echo "VAGRANT_EXPERIMENTAL=disks vagrant up"
64 | exit 1
65 | fi
66 |
67 | sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
68 | systemctl restart sshd.service
69 |
70 | # copy public key to vagrant user
71 | ssh_public_key=/vagrant/id_rsa.pub
72 | if test -f "$ssh_public_key" ; then
73 | echo "Check if public key $ssh_public_key is valid."
74 | if ssh-keygen -l -f "$ssh_public_key" ; then
75 | echo "Add public key to /home/vagrant/.ssh/authorized_keys"
76 | cat "$ssh_public_key" >> /home/vagrant/.ssh/authorized_keys
77 | fi
78 | fi
79 |
80 | yum install -y gcc make perl kernel-uek-devel
81 | yum update -y
82 | /sbin/rcvboxadd quicksetup all
83 |
84 | SHELL
85 | end
86 |
--------------------------------------------------------------------------------
/vagrant/has21c-163/Vagrantfile:
--------------------------------------------------------------------------------
1 | # -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 | #
4 | # PLEASE START 1st with following command to create additional disks!
5 | #
6 | # VAGRANT_EXPERIMENTAL=disks vagrant up
7 |
8 | Vagrant.configure("2") do |config|
9 |
10 | lanip = "192.168.56.163"
11 | vm_name = "has21c-163"
12 | vm_hostname = "has21c-192-168-56-163.nip.io"
13 |
14 | # Please define the folder to the extracted archives from Oracle
15 | #
16 | config.vm.synced_folder ENV['VAGRANT_ANSIBLE_ORACLE_SW'], "/sw/oracle", disabled: false, mount_options: ["ro"]
17 |
18 | config.vm.disk :disk, size: "150GB", name: "#{vm_name}_oracle"
19 | config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmdata1"
20 | config.vm.disk :disk, size: "30GB", name: "#{vm_name}_asmfra1"
21 |
22 | # config.disksize.size = '50GB'
23 | config.vm.box = "Rendanic/oraclelinux-8.x"
24 |
25 | puts " "
26 | puts " Oracle Restart"
27 | puts " "
28 | puts " Hostname: #{vm_hostname}"
29 | puts " IP: #{lanip}"
30 | puts " Logins:"
31 | puts " vagrant / vagrant"
32 | puts " root / vagrant"
33 | puts " "
34 | puts " Please do the 1st start with following command to create the additional disks!"
35 | puts " VAGRANT_EXPERIMENTAL=disks vagrant up"
36 | puts " "
37 |
38 | config.vm.box_check_update = true
39 |
40 | config.vm.network :private_network, ip: lanip
41 |
42 | # config.vm.network "public_network"
43 | config.ssh.insert_key = true
44 | config.ssh.username = "vagrant"
45 | config.ssh.password = "vagrant"
46 |
47 | config.vm.hostname = vm_hostname
48 |
49 | config.vm.provider "virtualbox" do |vb|
50 | vb.gui = false
51 | vb.memory = "8500"
52 | vb.cpus = 2
53 | vb.name = vm_name
54 | vb.customize ["modifyvm", :id, "--groups", "/ansible-oracle"]
55 |
56 | end
57 |
58 |
59 | config.vm.provision "shell", inline: <<-SHELL
60 |
61 | if [ ! -b /dev/sdb ]; then
62 | echo "Please start the Box with following command once to create the addional disks!"
63 | echo "VAGRANT_EXPERIMENTAL=disks vagrant up"
64 | exit 1
65 | fi
66 |
67 | sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
68 | systemctl restart sshd.service
69 |
70 | # copy public key to vagrant user
71 | ssh_public_key=/vagrant/id_rsa.pub
72 | if test -f "$ssh_public_key" ; then
73 | echo "Check if public key $ssh_public_key is valid."
74 | if ssh-keygen -l -f "$ssh_public_key" ; then
75 | echo "Add public key to /home/vagrant/.ssh/authorized_keys"
76 | cat "$ssh_public_key" >> /home/vagrant/.ssh/authorized_keys
77 | fi
78 | fi
79 |
80 | yum install -y gcc make perl kernel-uek-devel
81 | yum update -y
82 | /sbin/rcvboxadd quicksetup all
83 |
84 | SHELL
85 | end
86 |
--------------------------------------------------------------------------------
/vagrant/racattack/Vagrantfile:
--------------------------------------------------------------------------------
1 | ## -*- mode: ruby -*-
2 | # vi: set ft=ruby :
3 |
4 | # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5 | VAGRANTFILE_API_VERSION = "2"
6 |
7 | #############################
8 | #### BEGIN CUSTOMIZATION ####
9 | #############################
10 | #define number of nodes
11 | num_APPLICATION = 0
12 | num_LEAF_INSTANCES = 0
13 | num_DB_INSTANCES = 2
14 | #
15 | #define number of cores for guest
16 | num_CORE = 2
17 |
18 | # define memory for each type of node in MBytes
19 |
20 | # for leaf nodes, the minimun can be 2300, otherwise pre-check will fail for
21 | # automatic ulimit values calculated based on ram
22 |
23 | # for database nodes, the minimum suggested is 3072 for standard cluster
24 | # for flex cluster, consider 4500 or more
25 |
26 | memory_APPLICATION = 1500
27 | memory_LEAF_INSTANCES = 2300
28 | memory_DB_INSTANCES = 9472
29 |
30 | # size of shared disk in GB
31 | size_shared_disk = 15
32 | # number of shared disks
33 | count_shared_disk = 2
34 | #
35 | #############################
36 | ##### END CUSTOMIZATION #####
37 | #############################
38 |
39 | # if not defined, set defaults
40 | ENV['giver']||="19.3.0.0"
41 | ENV['dbver']||=ENV['giver']
42 |
43 | # this will give us version in format of 12102
44 | giver_i = ENV['giver'].gsub('.','').to_i
45 | dbver_i = ENV['dbver'].gsub('.','').to_i
46 |
47 | if dbver_i > giver_i
48 | puts "dbver found to be higher than giver, this will cause dbca to fail later"
49 | puts "dbver must be same or lower of giver"
50 | puts "failing now"
51 | exit 1
52 | end
53 |
54 | # cluster_type
55 | # define cluster type, standard or flex
56 | if ENV['setup'] == "standard"
57 | cluster_type = "standard"
58 | else
59 | cluster_type = "flex"
60 | end
61 |
62 | # We need 1 DB HUB, so assume 1 even if configured as 0
63 | num_DB_INSTANCES = 1 if num_DB_INSTANCES == 0
64 |
65 | # note: if num_LEAF_INSTANCES is 1 or more, cluster will be defaulted to flex
66 | cluster_type = "flex" if num_LEAF_INSTANCES > 0
67 |
68 | # Force cluster_type to standard if GI Version is 11.2.0.4 or lower
69 | if giver_i < 12101
70 | cluster_type = "standard"
71 | num_LEAF_INSTANCES = 0
72 | end
73 |
74 | # create inventory for ansible to run
75 | # inventory_ansible = File.open("stagefiles/ansible-oracle/inventory/racattack","w")
76 | # inventory_ansible << "[racattack-application]\n"
77 | # (1..num_APPLICATION).each do |i|
78 | # inventory_ansible << "collaba#{i} ansible_ssh_user=root ansible_ssh_pass=vagrant\n"
79 | # end
80 | # inventory_ansible << "[racattack-leaf]\n"
81 | # (1..num_LEAF_INSTANCES).each do |i|
82 | # inventory_ansible << "collabl#{i} ansible_ssh_user=root ansible_ssh_pass=vagrant\n"
83 | # end
84 | # inventory_ansible << "[racattack-hub]\n"
85 | # (1..num_DB_INSTANCES).each do |i|
86 | # inventory_ansible << "collabn#{i} ansible_ssh_user=root ansible_ssh_pass=root\n"
87 | # end
88 | # inventory_ansible << "[racattack:children]\n"
89 | # inventory_ansible << "racattack-leaf\n" if num_LEAF_INSTANCES > 0
90 | # inventory_ansible << "racattack-hub\n" if num_DB_INSTANCES > 0
91 | # inventory_ansible << "[racattack-all:children]\n"
92 | # inventory_ansible << "racattack-application\n" if num_APPLICATION > 0
93 | # inventory_ansible << "racattack-leaf\n" if num_LEAF_INSTANCES > 0
94 | # inventory_ansible << "racattack-hub\n" if num_DB_INSTANCES > 0
95 | # inventory_ansible.close
96 |
97 | # $etc_hosts_script = <