├── .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 | 10 | 13 | 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 = <