{"id":23034135,"url":"https://github.com/autostructure/oradb","last_synced_at":"2026-01-29T10:44:57.468Z","repository":{"id":136317297,"uuid":"156300631","full_name":"autostructure/oradb","owner":"autostructure","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-06T00:08:57.000Z","size":282,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-31T10:30:06.142Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autostructure.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-06T00:08:09.000Z","updated_at":"2018-11-06T00:08:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e6709cb-486d-4abe-92c7-6b9ea90aa817","html_url":"https://github.com/autostructure/oradb","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/autostructure/oradb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autostructure%2Foradb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autostructure%2Foradb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autostructure%2Foradb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autostructure%2Foradb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autostructure","download_url":"https://codeload.github.com/autostructure/oradb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autostructure%2Foradb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28875741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T10:31:27.438Z","status":"ssl_error","status_checked_at":"2026-01-29T10:31:01.017Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T16:29:27.967Z","updated_at":"2026-01-29T10:44:57.446Z","avatar_url":"https://github.com/autostructure.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Oracle Database puppet module\n\n[![Build Status](https://travis-ci.org/biemond/biemond-oradb.svg?branch=master)](https://travis-ci.org/biemond/biemond-oradb) ![Puppet Forge Version](https://img.shields.io/puppetforge/v/biemond/oradb.svg) ![Puppet Forge Score](https://img.shields.io/puppetforge/f/biemond/oradb.svg) ![Puppet Forge Downloads](http://img.shields.io/puppetforge/dt/biemond/oradb.svg) [![Coverage Status](https://coveralls.io/repos/biemond/biemond-oradb/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/biemond/biemond-oradb?branch=master)\n\nOnly for Puppet \u003e= 4.3 and uses the latest puppet 4 features like\n- Strong data typing\n- Internal hiera module data\n- uses Facts array\n- epp templating instead of erb\n\nFor Puppet 3, 4 you have to use the latest 2.x version of this oradb module\n\nsource code is located at [puppet4_3_data branch](https://github.com/biemond/biemond-oradb/tree/puppet4_3_data)\n\ncreated by Edwin Biemond\n[biemond.blogspot.com](http://biemond.blogspot.com)\n[Github homepage](https://github.com/biemond/puppet)\n\nIf you need support, checkout the [ora_install](https://www.enterprisemodules.com/shop/products/puppet-ora_install-module) from [Enterprise Modules](https://www.enterprisemodules.com/)\n\n[![Enterprise Modules](https://www.enterprisemodules.com/images/puppet-logo.png)](https://www.enterprisemodules.com)\n\nWith version \u003e= 2.0.0  all manifest parameters are in lowercase and in snakestyle instead of camelcase\n\nDependency with\n- puppetlabs/concat \u003e= 1.0.0\n- puppetlabs/stdlib \u003e= 4.0.0\n\nShould work on Docker, for Solaris and on all Linux version like RedHat, CentOS, Ubuntu, Debian, Suse SLES or OracleLinux\n- CentOS 7.3 vagrant box with Oracle Database 12.2.0.1 with pluggable databases [12c pluggable db puppet 4 vagrant box](https://github.com/biemond/biemond-oradb-vagrant-12.2-CDB-puppet4_3)\n- Docker image of Oracle Database 12.1 SE [Docker Oracle Database 12.1.0.1](https://github.com/biemond/docker-database-puppet)\n- CentOS 7.2 vagrant box with Oracle Database 12.1 and Enterprise Manager 13.2.0.0 [Enterprise puppet 4 vagrant box](https://github.com/biemond/biemond-em-13.2-puppet4_3)\n- CentOS 6.7 vagrant box with Oracle Database 12.1 and Enterprise Manager 12.1.0.5 [Enterprise puppet 4 vagrant box](https://github.com/biemond/biemond-em-12c-puppet4_3)\n- CentOS 7.3 vagrant box with Oracle Database 12.2.0.1 on NFS ASM [ASM puppet 4 vagrant box](https://github.com/biemond/biemond-oradb-vagrant-12.2-ASM-puppet4_3)\n- CentOS 7.2 vagrant box with Oracle Database 12.1.0.2 on NFS ASM [ASM puppet 4 vagrant box](https://github.com/biemond/biemond-oradb-vagrant-12.1-ASM-puppet4_3)\n- CentOS 6.6 vagrant box with Oracle Database 11.2.0.4 on NFS ASM [ASM puppet 4 vagrant box](https://github.com/biemond/biemond-oradb-vagrant-11.2-ASM-puppet4_3)\n- CentOS 6.6 vagrant box with Oracle Database 12.1.0.2 with pluggable databases [12c pluggable db puppet 4 vagrant box](https://github.com/biemond/biemond-oradb-vagrant-12.1-CDB-puppet4_3)\n- CentOS 6.5 vagrant box with Oracle Database 11.2.0.4 and GoldenGate 12.1.2 [coherence goldengate vagrant box]( https://github.com/biemond/vagrant-wls12.1.2-coherence-goldengate)\n\n\nShould work for Puppet \u003e=  4.0\n\n## Oracle Database Features\n\n- Oracle Grid 11.2.0.4, 12.1.0.1, 12.1.0.2, 12.2.0.1 Linux / Solaris installation\n- Oracle Database 12.1.0.1, 12.1.0.2, 12.2.0.1  Linux / Solaris installation\n- Oracle Database 11.2.0.1, 11.2.0.3, 11.2.0.4 Linux / Solaris installation\n- Oracle Database Instance 11.2, 12.1 \u0026 12.2 with pluggable database or provide your own db template\n- Oracle Database Client 12.2.0.1, 12.1.0.1, 12.1.0.2, 11.2.0.4, 11.2.0.1 Linux / Solaris installation\n- Oracle Database Net configuration\n- Oracle Database Listener\n- Tnsnames entry\n- Listener entry in tnsnames.ora\n- Oracle ASM\n- Oracle RAC\n- OPatch upgrade\n- Apply OPatch also for clusterware\n- Create database instances, also based on your own template or seeded template\n- Stop/Start database instances with db_control puppet resource type\n\n## Enterprise Manager\n- Enterprise Manager Server 13.2.0.0, 12.1.0.4, 12.1.0.5, 13 \u0026 12c cloud installation / configuration\n- Agent installation via AgentPull.sh \u0026 AgentDeploy.sh\n\n## GoldenGate\n- GoldenGate 12.2.1, 12.1.2, 11.2.1\n\n## Repository Creation Utility (RCU)\n- Installs RCU repositoy for Oracle SOA Suite / Webcenter ( 11.1.1.6.0 and 11.1.1.7.0 ) / Oracle Identity Management ( 11.1.2.1 )\n\n## Oracle RAC\nIn combination with the [ora_rac](https://forge.puppetlabs.com/hajee/ora_rac) module of Bert Hajee (https://forge.puppetlabs.com/hajee/ora_rac)\n\n## Oracle Database resource types\n- db_control, start stop or a restart a database instance also used by dbactions manifest.pp\n- db_opatch, used by the opatch.pp manifest\n- db_rcu, used by the rcu.pp manifest\n- db_listener, start stop or a restart the oracle listener ( supports refreshonly )\n\n\nIn combination with the [oracle](http://forge.puppetlabs.com/hajee/oracle) module of Bert Hajee (http://forge.puppetlabs.com/hajee/oracle) you can also create\n- create a tablespace\n- create a user with the required grants and quota's\n- create one or more roles\n- create one or more services\n- change a database init parameter (Memory or SPFILE)\n\n\nSome manifests like installdb.pp, opatch.pp or rcusoa.pp supports an alternative mountpoint for the big oracle files.\nWhen not provided it uses the files location of the oradb puppet module\nelse you can use $puppet_download_mnt_point =\u003e \"/mnt\" or \"oradb/\" or \"xxxx/\"\n\n## Oracle Big files and alternate download location\nSome manifests like oradb:installdb, opatch or rcu supports an alternative mountpoint for the big oracle setup/install files.\nWhen not provided it uses the files folder located in the orawls puppet module\nelse you can use $source =\u003e\n- \"/mnt\"\n- \"/vagrant\"\n- \"oradb/\" (default)\n\nwhen the files are also locally accessible then you can also set $remote_file =\u003e false this will not move the files to the download folder, just extract or install\n\n## Virtualbox 5 \u0026 BCA Operation failed\nYou can get this 12c error BCA Operation failed when you use Virtualbox 5\n\nThere is an issue related with this\n- https://forums.virtualbox.org/viewtopic.php?f=8\u0026t=76375\n\nThe workaround seems to be here\n- https://www.virtualbox.org/ticket/14427\n\nBut for the purposes of doing an automatic installation is not a good workaround, so I would suggest is someone faces the same problem just downgrade to virtualbox 4 the last release until that ticket is closed\n\n## Installation, Disk or memory issues\n\n    # hiera\n    hosts:\n      'emdb.example.com':\n        ip:                \"10.10.10.15\"\n        host_aliases:      'emdb'\n      'localhost':\n        ip:                \"127.0.0.1\"\n        host_aliases:      'localhost.localdomain,localhost4,localhost4.localdomain4'\n\n    $host_instances = hiera('hosts', {})\n    create_resources('host',$host_instances)\n\n    # disable the firewall\n    service { iptables:\n      enable    =\u003e false,\n      ensure    =\u003e false,\n      hasstatus =\u003e true,\n    }\n\n    # set the swap ,forge puppet module petems-swap_file\n    class { 'swap_file':\n      swapfile     =\u003e '/var/swap.1',\n      swapfilesize =\u003e '8192000000'\n    }\n\n    # set the tmpfs\n    mount { '/dev/shm':\n      ensure      =\u003e present,\n      atboot      =\u003e true,\n      device      =\u003e 'tmpfs',\n      fstype      =\u003e 'tmpfs',\n      options     =\u003e 'size=3500m',\n    }\n\nsee this chapter \"Linux kernel, ulimits and required packages\" for more important information\n\n## Linux kernel, ulimits and required packages\n\ninstall the following module to set the database kernel parameters\n*puppet module install fiddyspence-sysctl*\n\ninstall the following module to set the database user limits parameters\n*puppet module install erwbgy-limits*\n\n       $all_groups = ['oinstall','dba' ,'oper']\n\n       group { $all_groups :\n         ensure      =\u003e present,\n       }\n\n       user { 'oracle' :\n         ensure      =\u003e present,\n         uid         =\u003e 500,\n         gid         =\u003e 'oinstall',\n         groups      =\u003e ['oinstall','dba','oper'],\n         shell       =\u003e '/bin/bash',\n         password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n         home        =\u003e \"/home/oracle\",\n         comment     =\u003e \"This user oracle was created by Puppet\",\n         require     =\u003e Group[$all_groups],\n         managehome  =\u003e true,\n       }\n\n       sysctl { 'kernel.msgmnb':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '65536',}\n       sysctl { 'kernel.msgmax':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '65536',}\n       sysctl { 'kernel.shmmax':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '2588483584',}\n       sysctl { 'kernel.shmall':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '2097152',}\n       sysctl { 'fs.file-max':                   ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '6815744',}\n       sysctl { 'net.ipv4.tcp_keepalive_time':   ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '1800',}\n       sysctl { 'net.ipv4.tcp_keepalive_intvl':  ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '30',}\n       sysctl { 'net.ipv4.tcp_keepalive_probes': ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '5',}\n       sysctl { 'net.ipv4.tcp_fin_timeout':      ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '30',}\n       sysctl { 'kernel.shmmni':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '4096', }\n       sysctl { 'fs.aio-max-nr':                 ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '1048576',}\n       sysctl { 'kernel.sem':                    ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '250 32000 100 128',}\n       sysctl { 'net.ipv4.ip_local_port_range':  ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '9000 65500',}\n       sysctl { 'net.core.rmem_default':         ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '262144',}\n       sysctl { 'net.core.rmem_max':             ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '4194304', }\n       sysctl { 'net.core.wmem_default':         ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '262144',}\n       sysctl { 'net.core.wmem_max':             ensure =\u003e 'present', permanent =\u003e 'yes', value =\u003e '1048576',}\n\n       class { 'limits':\n         config =\u003e {\n                    '*'       =\u003e { 'nofile'  =\u003e { soft =\u003e '2048'   , hard =\u003e '8192',   },},\n                    'oracle'  =\u003e { 'nofile'  =\u003e { soft =\u003e '65536'  , hard =\u003e '65536',  },\n                                    'nproc'  =\u003e { soft =\u003e '2048'   , hard =\u003e '16384',  },\n                                    'stack'  =\u003e { soft =\u003e '10240'  ,},},\n                    },\n         use_hiera =\u003e false,\n       }\n\n       $install = [ 'binutils.x86_64', 'compat-libstdc++-33.x86_64', 'glibc.x86_64','ksh.x86_64','libaio.x86_64',\n                    'libgcc.x86_64', 'libstdc++.x86_64', 'make.x86_64','compat-libcap1.x86_64', 'gcc.x86_64',\n                    'gcc-c++.x86_64','glibc-devel.x86_64','libaio-devel.x86_64','libstdc++-devel.x86_64',\n                    'sysstat.x86_64','unixODBC-devel','glibc.i686','libXext.x86_64','libXtst.x86_64']\n\n       package { $install:\n         ensure  =\u003e present,\n       }\n\n\n## Database install\n\n    $puppet_download_mnt_point = \"oradb/\"\n\n    oradb::installdb{ '12.2.0.1_Linux-x86-64':\n      version                   =\u003e '12.2.0.1',\n      file                      =\u003e 'V839960-01',\n      database_type             =\u003e 'EE',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.2/db',\n      bash_profile              =\u003e true,\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      group_oper                =\u003e 'oper',\n      download_dir              =\u003e '/data/install',\n      zip_extract               =\u003e true,\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n    }\n\n    oradb::installdb{ '12.1.0.2_Linux-x86-64':\n      version                   =\u003e '12.1.0.2',\n      file                      =\u003e 'V46095-01',\n      database_type             =\u003e 'SE',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.1/db',\n      bash_profile              =\u003e true,\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      group_oper                =\u003e 'oper',\n      download_dir              =\u003e '/data/install',\n      zip_extract               =\u003e true,\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n    }\n\nor with zip_extract ( does not download or extract , software is in /install/linuxamd64_12c_database )\n\n    oradb::installdb{ '12.1.0.1_Linux-x86-64':\n      version                 =\u003e '12.1.0.1',\n      file                    =\u003e 'linuxamd64_12c_database',\n      database_type           =\u003e 'SE',\n      oracle_base             =\u003e '/oracle',\n      oracle_home             =\u003e '/oracle/product/12.1/db',\n      bash_profile            =\u003e true,\n      user                    =\u003e 'oracle',\n      group                   =\u003e 'dba',\n      group_install           =\u003e 'oinstall',\n      group_oper              =\u003e 'oper',\n      download_dir            =\u003e '/install',\n      zip_extract             =\u003e false,\n    }\n\nor\n\n    oradb::installdb{ '112040_Linux-x86-64':\n      version                   =\u003e '11.2.0.4',\n      file                      =\u003e 'p13390677_112040_Linux-x86-64',\n      database_type             =\u003e 'SE',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/11.2/db',\n      ee_options_selection      =\u003e true,\n      ee_optional_components    =\u003e 'oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      group_oper                =\u003e 'oper',\n      download_dir              =\u003e '/install',\n      zip_extract               =\u003e true,\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n    }\n\nor\n\n    oradb::installdb{ '112030_Linux-x86-64':\n      version                   =\u003e '11.2.0.3',\n      file                      =\u003e 'p10404530_112030_Linux-x86-64',\n      database_type             =\u003e 'SE',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/11.2/db',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      group_oper                =\u003e 'oper',\n      download_dir              =\u003e '/install',\n      zip_extract               =\u003e true,\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n    }\n\nor\n\n    oradb::installdb{ '112010_Linux-x86-64':\n      version       =\u003e '11.2.0.1',\n      file          =\u003e 'linux.x64_11gR2_database',\n      database_type =\u003e 'SE',\n      oracle_base   =\u003e '/oracle',\n      oracle_home   =\u003e '/oracle/product/11.2/db',\n      user          =\u003e 'oracle',\n      group         =\u003e 'dba',\n      group_install =\u003e 'oinstall',\n      group_oper    =\u003e 'oper',\n      download_dir  =\u003e '/install',\n      zip_extract   =\u003e true,\n     }\n\n## Patching\n\n### Opatchupgrade\nFor opatchupgrade you need to provide the Oracle support csi_number and supportId and need to be online. Or leave them empty but it needs the Expect rpm to emulate OCM\n\n    # use this on a Grid or Database home\n    oradb::opatchupgrade{'112000_opatch_upgrade':\n      oracle_home               =\u003e '/oracle/product/11.2/db',\n      patch_file                =\u003e 'p6880880_112000_Linux-x86-64.zip',\n      #  csi_number             =\u003e '11111',\n      #  support_id             =\u003e 'biemond@gmail.com',\n      csi_number                =\u003e undef,\n      support_id                =\u003e undef,\n      opversion                 =\u003e '11.2.0.3.6',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      download_dir              =\u003e '/install',\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n      require                   =\u003e  Oradb::Installdb['112030_Linux-x86-64'],\n    }\n\n    oradb::opatchupgrade{'122000_opatch_upgrade_db':\n      oracle_home               =\u003e hiera('oracle_home_dir'),\n      patch_file                =\u003e 'p6880880_122010_Linux-x86-64.zip',\n      csi_number                =\u003e undef,\n      support_id                =\u003e undef,\n      opversion                 =\u003e '12.2.0.1.8',\n      user                      =\u003e hiera('oracle_os_user'),\n      group                     =\u003e hiera('oracle_os_group'),\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      require                   =\u003e Oradb::Installdb['db_linux-x64'],\n    }\n\n\n### Opatch\n\n    # october 2014 11.2.0.4.4 patch\n    oradb::opatch{'19121551_db_patch':\n      ensure                    =\u003e 'present',\n      oracle_product_home       =\u003e hiera('oracle_home_dir'),\n      patch_id                  =\u003e '19121551',\n      patch_file                =\u003e 'p19121551_112040_Linux-x86-64.zip',\n      user                      =\u003e hiera('oracle_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade_db'],\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n    }\n\n### Clusterware aka opatch auto\n\nto use the new opatchauto utility(12.1) instead of opatch auto(11.2) use this parameter use_opatchauto_utility =\u003e true\n\n    oradb::opatch{'21523260_grid_patch':\n      ensure                    =\u003e 'present',\n      oracle_product_home       =\u003e hiera('grid_home_dir'),\n      patch_id                  =\u003e '21523260',\n      patch_file                =\u003e 'p21523260_121020_Linux-x86-64.zip',\n      clusterware               =\u003e true,\n      use_opatchauto_utility    =\u003e true,\n      bundle_sub_patch_id       =\u003e '21359755', # sub patch_id of bundle patch ( else I can't detect it)\n      user                      =\u003e hiera('grid_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      require                   =\u003e Oradb::Opatchupgrade['121000_opatch_upgrade_asm'],\n    }\n\n### The old way (11g)\n\n    oradb::opatch{'18706472_grid_patch':\n      ensure                    =\u003e 'present',\n      oracle_product_home       =\u003e hiera('grid_home_dir'),\n      patch_id                  =\u003e '18706472',\n      patch_file                =\u003e 'p18706472_112040_Linux-x86-64.zip',\n      clusterware               =\u003e true,\n      bundle_sub_patch_id       =\u003e '18522515',  sub patch_id of bundle patch ( else I can't detect it if it is already applied)\n      user                      =\u003e hiera('grid_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade'],\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n    }\n\n    # this 19791420 patch contains 2 patches (in different sub folders), one bundle and a normal one.\n    # we want to apply the bundle and need to provide the right value for bundle_sub_folder\n    oradb::opatch{'19791420_grid_patch':\n      ensure                    =\u003e 'present',\n      oracle_product_home       =\u003e hiera('grid_home_dir'),\n      patch_id                  =\u003e '19791420',\n      patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n      clusterware               =\u003e true,\n      bundle_sub_patch_id       =\u003e '19121552', # sub patch_id of bundle patch ( else I can't detect it if it is already applied)\n      bundle_sub_folder         =\u003e '19380115', # optional subfolder inside the patch zip\n      user                      =\u003e hiera('grid_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade_asm'],\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n    }\n\n    # the same patch applied with opatch auto to an oracle database home, this time we need to use the 19121551 as bundle_sub_patch_id\n    # this is the october 2014  11.2.0.4.4 patch\n    oradb::opatch{'19791420_grid_patch':\n      ensure                    =\u003e 'present',\n      oracle_product_home       =\u003e hiera('oracle_home_dir'),\n      patch_id                  =\u003e '19791420',\n      patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n      clusterware               =\u003e true,\n      bundle_sub_patch_id       =\u003e '19121551', # sub patch_id of bundle patch ( else I can't detect it if it is already applied)\n      bundle_sub_folder         =\u003e '19380115', # optional subfolder inside the patch zip\n      user                      =\u003e hiera('grid_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade_asm'],\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n    }\n\n    # same patch 19791420 but then for the oracle db home, this patch requires the bundle patch of 19791420 or\n    # 19121551 october 2014  11.2.0.4.4 patch\n    oradb::opatch{'19791420_db_patch':\n      ensure                     =\u003e 'present',\n      oracle_product_home       =\u003e hiera('oracle_home_dir'),\n      patch_id                  =\u003e '19791420',\n      patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n      clusterware               =\u003e false,\n      bundle_sub_patch_id       =\u003e '19282021', # sub patch_id of bundle patch ( else I can't detect it)\n      bundle_sub_folder         =\u003e '19282021', # optional subfolder inside the patch zip\n      user                      =\u003e hiera('oracle_os_user'),\n      group                     =\u003e 'oinstall',\n      download_dir              =\u003e hiera('oracle_download_dir'),\n      ocmrf                     =\u003e true,\n      require                   =\u003e Oradb::Opatch['19121551_db_patch'],\n      puppet_download_mnt_point =\u003e hiera('oracle_source'),\n    }\n\n## Oracle net\n\n    oradb::net{ 'config net8':\n      oracle_home   =\u003e '/oracle/product/11.2/db',\n      version       =\u003e '11.2' or \"12.1\",\n      user          =\u003e 'oracle',\n      group         =\u003e 'dba',\n      download_dir  =\u003e '/install',\n      db_port       =\u003e '1521', #optional\n      require       =\u003e Oradb::Opatch['14727310_db_patch'],\n    }\n\n## Listener\n\n    db_listener{ 'startlistener':\n      ensure          =\u003e 'running',  # running|start|abort|stop\n      oracle_base_dir =\u003e '/oracle',\n      oracle_home_dir =\u003e '/oracle/product/11.2/db',\n      os_user         =\u003e 'oracle',\n      listener_name   =\u003e 'listener' # which is the default and optional\n    }\n\n    # subscribe to changes\n    db_listener{ 'startlistener':\n      ensure          =\u003e 'running',  # running|start|abort|stop\n      oracle_base_dir =\u003e '/oracle',\n      oracle_home_dir =\u003e '/oracle/product/11.2/db',\n      os_user         =\u003e 'oracle',\n      listener_name   =\u003e 'listener' # which is the default and optional\n      refreshonly     =\u003e true,\n      subscribe       =\u003e XXXXX,\n    }\n\n    # the old way which also calls db_listener type\n    oradb::listener{'start listener':\n      action        =\u003e 'start',  # running|start|abort|stop\n      oracle_base   =\u003e '/oracle',\n      oracle_home   =\u003e '/oracle/product/11.2/db',\n      user          =\u003e 'oracle',\n      group         =\u003e 'dba',\n      listener_name =\u003e 'listener' # which is the default and optional\n    }\n\n## Database instance\n\n    oradb::database{ 'testDb_Create':\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/11.2/db',\n      version                   =\u003e '11.2',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      download_dir              =\u003e '/install',\n      action                    =\u003e 'create',\n      db_name                   =\u003e 'test',\n      db_domain                 =\u003e 'oracle.com',\n      db_port                   =\u003e '1521',\n      sys_password              =\u003e 'Welcome01',\n      system_password           =\u003e 'Welcome01',\n      data_file_destination     =\u003e \"/oracle/oradata\",\n      recovery_area_destination =\u003e \"/oracle/flash_recovery_area\",\n      character_set             =\u003e \"AL32UTF8\",\n      nationalcharacter_set     =\u003e \"UTF8\",\n      init_params               =\u003e {'open_cursors'        =\u003e '1000',\n                                    'processes'           =\u003e '600',\n                                    'job_queue_processes' =\u003e '4' },\n      sample_schema             =\u003e 'TRUE',\n      memory_percentage         =\u003e 40,\n      memory_total              =\u003e 800,\n      database_type             =\u003e \"MULTIPURPOSE\",\n      em_configuration          =\u003e \"NONE\",\n      require                   =\u003e Oradb::Listener['start listener'],\n    }\n\n\n### template (not seeded)\nbased on your own dbt template ( not seeded )\n\nThe template must be have the following extension dbt.erb like dbtemplate_12.1.dbt.erb, use puppet_download_mnt_point parameter for the template location or add your template to the template dir of the oradb module\n- Click here for an [12.2 db instance template example](https://github.com/biemond/biemond-oradb/blob/puppet4_3_data/templates/dbtemplate_12.2.dbt.erb)\n- Click here for an [12.1 db instance template example](https://github.com/biemond/biemond-oradb/blob/\npuppet4_3_data/templates/dbtemplate_12.1.dbt.erb)\n- Click here for an [12.1 db instance variables template example](https://github.com/biemond/biemond-oradb/blob/puppet4_3_data/templates/dbtemplate_12.1_vars.dbt.erb)\n- Click here for an [12.1 db asm instance template example](https://github.com/biemond/biemond-oradb/blob/puppet4_3_data/templates/dbtemplate_12.1_asm.dbt.erb)\n- Click here for an [11.2 db asm instance template example](https://github.com/biemond/biemond-oradb/blob/puppet4_3_data/templates/dbtemplate_11gR2_asm.dbt.erb)\n\nwith a template of the oradb module\n\n    oradb::database{ 'testDb_Create':\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.1/db',\n      version                   =\u003e '12.1',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      template                  =\u003e 'dbtemplate_12.1', # or dbtemplate_12.1_vars, dbtemplate_11gR2_asm, this will use dbtemplate_12.1.dbt.erb example template\n      # template_variables        =\u003e { 'location01' =\u003e '/oracle/oradata/' , 'location02' =\u003e '/oracle/oradata/' }\n      download_dir              =\u003e '/install',\n      action                    =\u003e 'create',\n      db_name                   =\u003e 'test',\n      db_domain                 =\u003e 'oracle.com',\n      db_port                   =\u003e 1521,\n      sys_password              =\u003e 'Welcome01',\n      system_password           =\u003e 'Welcome01',\n      data_file_destination     =\u003e \"/oracle/oradata\",\n      recovery_area_destination =\u003e \"/oracle/flash_recovery_area\",\n      character_set             =\u003e \"AL32UTF8\",\n      nationalcharacter_set     =\u003e \"UTF8\",\n      memory_percentage         =\u003e 40,\n      memory_total              =\u003e 800,\n      require                   =\u003e Oradb::Listener['start listener'],\n    }\n\nor your own template on your own location\n\n      template                   =\u003e 'my_dbtemplate_11gR2_asm',\n      puppet_download_mnt_point  =\u003e '/vagrant', # 'oradb' etc\n\n\n### seeded template\nbased on a seeded dbc template\n\nuse existing or copy all files to $ORACLE_HOME/assistants/dbca/templates\n\nThe template must be have the following extension dbc like General_Purpose.dbc\n\n    oradb::database{ 'testDb_Create':\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.1/db',\n      version                   =\u003e '12.1',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      template_seeded           =\u003e '12.1.0.2.0_Database_Template_for_EM12_1_0_5_0_Small_deployment',\n      download_dir              =\u003e '/install',\n      action                    =\u003e 'create',\n      db_name                   =\u003e 'test',\n      db_domain                 =\u003e 'oracle.com',\n      db_port                   =\u003e 1521,\n      sys_password              =\u003e 'Welcome01',\n      system_password           =\u003e 'Welcome01',\n      data_file_destination     =\u003e \"/oracle/oradata\",\n      recovery_area_destination =\u003e \"/oracle/flash_recovery_area\",\n      character_set             =\u003e \"AL32UTF8\",\n      nationalcharacter_set     =\u003e \"UTF8\",\n      memory_percentage         =\u003e 40,\n      memory_total              =\u003e 800,\n      require                   =\u003e Oradb::Listener['start listener'],\n    }\n\n\n\n### 12c container and pluggable databases\n\n    oradb::database{ 'oraDb':\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.1/db',\n      version                   =\u003e '12.1',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba'\n      download_dir              =\u003e '/install',\n      action                    =\u003e 'create',\n      db_name                   =\u003e 'orcl',\n      db_domain                 =\u003e 'example.com',\n      sys_password              =\u003e 'Welcome01',\n      system_password           =\u003e 'Welcome01',\n      character_set             =\u003e 'AL32UTF8',\n      nationalcharacter_set     =\u003e 'UTF8',\n      sample_schema             =\u003e 'FALSE',\n      memory_percentage         =\u003e 40,\n      memory_total              =\u003e 800,\n      database_type             =\u003e 'MULTIPURPOSE',\n      em_configuration          =\u003e 'NONE',\n      data_file_destination     =\u003e '/oracle/oradata',\n      recovery_area_destination =\u003e '/oracle/flash_recovery_area',\n      init_params               =\u003e {'open_cursors'        =\u003e '1000',\n                                    'processes'           =\u003e '600',\n                                    'job_queue_processes' =\u003e '4' },\n      container_database        =\u003e true,   \u003c|-------\n    }\n\n    oradb::database_pluggable{'pdb1':\n      ensure                   =\u003e 'present',\n      version                  =\u003e '12.1',\n      oracle_home_dir          =\u003e '/oracle/product/12.1/db',\n      user                     =\u003e 'oracle',\n      group                    =\u003e 'dba',\n      source_db                =\u003e 'orcl',\n      pdb_name                 =\u003e 'pdb1',\n      pdb_admin_username       =\u003e 'pdb_adm',\n      pdb_admin_password       =\u003e 'Welcome01',\n      pdb_datafile_destination =\u003e \"/oracle/oradata/orcl/pdb1\",\n      create_user_tablespace   =\u003e true,\n      log_output               =\u003e true,\n    }\n\n    # remove the pluggable database\n    oradb::database_pluggable{'pdb1':\n      ensure                   =\u003e 'absent',\n      version                  =\u003e '12.1',\n      oracle_home_dir          =\u003e '/oracle/product/12.1/db',\n      user                     =\u003e 'oracle',\n      group                    =\u003e 'dba',\n      source_db                =\u003e 'orcl',\n      pdb_name                 =\u003e 'pdb1',\n      pdb_datafile_destination =\u003e \"/oracle/oradata/orcl/pdb1\",\n      log_output               =\u003e true,\n    }\n\n### 12c ASM\n\n    oradb::database{ 'oraDb':\n      oracle_base               =\u003e lookup('oracle_base_dir'),\n      oracle_home               =\u003e lookup('oracle_home_dir'),\n      version                   =\u003e lookup('dbinstance_version'),\n      user                      =\u003e lookup('oracle_os_user'),\n      group                     =\u003e lookup('oracle_os_group'),\n      download_dir              =\u003e lookup('oracle_download_dir'),\n      action                    =\u003e 'create',\n      db_name                   =\u003e lookup('oracle_database_name'),\n      db_domain                 =\u003e lookup('oracle_database_domain_name'),\n      sys_password              =\u003e lookup('oracle_database_sys_password'),\n      system_password           =\u003e lookup('oracle_database_system_password'),\n      # template                  =\u003e 'dbtemplate_12.1_asm',\n      character_set             =\u003e 'AL32UTF8',\n      nationalcharacter_set     =\u003e 'UTF8',\n      sample_schema             =\u003e 'false',\n      memory_percentage         =\u003e 40,\n      memory_total              =\u003e 2880,\n      automatic_memory_management =\u003e false,\n      database_type             =\u003e 'MULTIPURPOSE',\n      em_configuration          =\u003e 'NONE',\n      storage_type              =\u003e 'ASM',\n      asm_snmp_password         =\u003e 'Welcome01',\n      asm_diskgroup             =\u003e '+DATA/{DB_UNIQUE_NAME}',\n      data_file_destination     =\u003e '+DATA/{DB_UNIQUE_NAME}',\n      recovery_diskgroup        =\u003e '+RECO',\n      recovery_area_destination =\u003e '+RECO',\n      puppet_download_mnt_point =\u003e 'oradb/',\n      require                   =\u003e  Ora_asm_diskgroup['RECO@+ASM'],\n    }\n\nor delete a database\n\n    oradb::database{ 'testDb_Delete':\n      oracle_base             =\u003e '/oracle',\n      oracle_home             =\u003e '/oracle/product/11.2/db',\n      user                    =\u003e 'oracle',\n      group                   =\u003e 'dba',\n      download_dir            =\u003e '/install',\n      action                  =\u003e 'delete',\n      db_name                 =\u003e 'test',\n      sys_password            =\u003e 'Welcome01',\n      require                 =\u003e Oradb::Dbactions['start testDb'],\n    }\n\n\n## Database instance actions\n\n    db_control{'emrepos start':\n      ensure                  =\u003e 'running', #running|start|abort|stop\n      instance_name           =\u003e 'test',\n      oracle_product_home_dir =\u003e '/oracle/product/11.2/db',\n      os_user                 =\u003e 'oracle',\n    }\n\n    db_control{'emrepos stop':\n      ensure                  =\u003e 'stop', #running|start|abort|stop\n      instance_name           =\u003e 'test',\n      oracle_product_home_dir =\u003e '/oracle/product/11.2/db',\n      os_user                 =\u003e 'oracle',\n    }\n\n    # the old way\n    oradb::dbactions{ 'stop testDb':\n      oracle_home             =\u003e '/oracle/product/11.2/db',\n      user                    =\u003e 'oracle',\n      group                   =\u003e 'dba',\n      action                  =\u003e 'stop',\n      db_name                 =\u003e 'test',\n      require                 =\u003e Oradb::Database['testDb'],\n    }\n\n    oradb::dbactions{ 'start testDb':\n      oracle_home             =\u003e '/oracle/product/11.2/db',\n      user                    =\u003e 'oracle',\n      group                   =\u003e 'dba',\n      action                  =\u003e 'start',\n      db_name                 =\u003e 'test',\n      require                 =\u003e Oradb::Dbactions['stop testDb'],\n    }\n    \n    # database instance with srvctl\n    oradb::dbactions{ 'start testDb':\n      oracle_home             =\u003e hiera('oracle_home_dir'),\n      user                    =\u003e hiera('oracle_os_user'),\n      group                   =\u003e hiera('oracle_os_group'),\n      action                  =\u003e 'start',\n      db_name                 =\u003e 'test',\n      require                 =\u003e Oradb::Dbactions['stop testDb'],\n    }\n    \n    # grid or asm\n    db_control{'instance control asm':\n      provider                =\u003e 'srvctl',\n      ensure                  =\u003e 'start',\n      instance_name           =\u003e '+ASM',\n      oracle_product_home_dir =\u003e hiera('oracle_home_dir'),\n      os_user                 =\u003e hiera('grid_os_user'),\n      db_type                 =\u003e 'grid',\n    }\n\n    oradb::dbactions{ 'start grid':\n      db_type                 =\u003e 'grid',\n      oracle_home             =\u003e hiera('oracle_home_dir'),\n      grid_home               =\u003e hiera('grid_home_dir'),\n      user                    =\u003e hiera('grid_os_user'),\n      group                   =\u003e hiera('oracle_os_group'),\n      action                  =\u003e 'start',\n      db_name                 =\u003e '+ASM',\n    }\n\n    # subscribe to changes\n    db_control{'emrepos restart':\n      ensure                  =\u003e 'running', #running|start|abort|stop\n      instance_name           =\u003e 'test',\n      oracle_product_home_dir =\u003e '/oracle/product/11.2/db',\n      os_user                 =\u003e 'oracle',\n      refreshonly             =\u003e true,\n      subscribe               =\u003e Init_param['emrepos/memory_target'],\n    }\n\n    oradb::autostartdatabase{ 'autostart oracle':\n      oracle_home             =\u003e '/oracle/product/12.1/db',\n      user                    =\u003e 'oracle',\n      db_name                 =\u003e 'test',\n      service_name            =\u003e 'dbora',\n      require                 =\u003e Oradb::Dbactions['start testDb'],\n    }\n\n\n## Tnsnames\n\n    oradb::tnsnames{'orcl':\n      oracle_home          =\u003e '/oracle/product/11.2/db',\n      user                 =\u003e 'oracle',\n      group                =\u003e 'dba',\n      server               =\u003e { myserver =\u003e { host =\u003e soadb.example.nl, port =\u003e '1521', protocol =\u003e 'TCP' }},\n      connect_service_name =\u003e 'soarepos.example.nl',\n      require              =\u003e Oradb::Dbactions['start oraDb'],\n    }\n\n    oradb::tnsnames{'test':\n      oracle_home          =\u003e '/oracle/product/11.2/db',\n      user                 =\u003e 'oracle',\n      group                =\u003e 'dba',\n      server               =\u003e { myserver =\u003e { host =\u003e soadb.example.nl, port =\u003e '1525', protocol =\u003e 'TCP' }, myserver2 =\u003e { host =\u003e soadb2.example.nl, port =\u003e '1526', protocol =\u003e 'TCP' }},\n      connect_service_name =\u003e 'soarepos.example.nl',\n      connect_server       =\u003e 'DEDICATED',\n      require              =\u003e Oradb::Dbactions['start oraDb'],\n    }\n\n    oradb::tnsnames{'testlistener':\n      entry_type         =\u003e 'listener',\n      oracle_home        =\u003e '/oracle/product/11.2/db',\n      user               =\u003e 'oracle',\n      group              =\u003e 'dba',\n      server             =\u003e { myserver =\u003e { host =\u003e 'soadb.example.nl', port =\u003e '1521', protocol =\u003e 'TCP' }},\n      require            =\u003e Oradb::Dbactions['start oraDb'],\n    }\n\n\n## Grid install with ASM\n\n      $all_groups = ['oinstall','dba' ,'oper','asmdba','asmadmin','asmoper']\n\n      group { $all_groups :\n        ensure      =\u003e present,\n      }\n\n      user { 'oracle' :\n        ensure      =\u003e present,\n        uid         =\u003e 500,\n        gid         =\u003e 'oinstall',\n        groups      =\u003e ['oinstall','dba','oper','asmdba'],\n        shell       =\u003e '/bin/bash',\n        password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n        home        =\u003e \"/home/oracle\",\n        comment     =\u003e \"This user oracle was created by Puppet\",\n        require     =\u003e Group[$all_groups],\n        managehome  =\u003e true,\n      }\n\n      user { 'grid' :\n        ensure      =\u003e present,\n        uid         =\u003e 501,\n        gid         =\u003e 'oinstall',\n        groups      =\u003e ['oinstall','dba','asmadmin','asmdba','asmoper'],\n        shell       =\u003e '/bin/bash',\n        password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n        home        =\u003e \"/home/grid\",\n        comment     =\u003e \"This user grid was created by Puppet\",\n        require     =\u003e Group[$all_groups],\n        managehome  =\u003e true,\n      }\n\n      ####### NFS example\n\n      file { '/home/nfs_server_data':\n        ensure  =\u003e directory,\n        recurse =\u003e false,\n        replace =\u003e false,\n        mode    =\u003e '0775',\n        owner   =\u003e 'grid',\n        group   =\u003e 'asmadmin',\n        require =\u003e  User['grid'],\n      }\n\n      class { 'nfs::server':\n        package =\u003e latest,\n        service =\u003e running,\n        enable  =\u003e true,\n      }\n\n      nfs::export { '/home/nfs_server_data':\n        options =\u003e [ 'rw', 'sync', 'no_wdelay','insecure_locks','no_root_squash' ],\n        clients =\u003e [ \"*\" ],\n        require =\u003e [File['/home/nfs_server_data'],Class['nfs::server'],],\n      }\n\n      file { '/nfs_client':\n        ensure  =\u003e directory,\n        recurse =\u003e false,\n        replace =\u003e false,\n        mode    =\u003e '0775',\n        owner   =\u003e 'grid',\n        group   =\u003e 'asmadmin',\n        require =\u003e  User['grid'],\n      }\n\n      mounts { 'Mount point for NFS data':\n        ensure  =\u003e present,\n        source  =\u003e 'soadbasm:/home/nfs_server_data',\n        dest    =\u003e '/nfs_client',\n        type    =\u003e 'nfs',\n        opts    =\u003e 'rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0',\n        require =\u003e [File['/nfs_client'],Nfs::Export['/home/nfs_server_data'],]\n      }\n\n      exec { \"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b1 bs=1M count=7520\":\n        user      =\u003e 'grid',\n        group     =\u003e 'asmadmin',\n        logoutput =\u003e true,\n        unless    =\u003e \"/usr/bin/test -f /nfs_client/asm_sda_nfs_b1\",\n        require   =\u003e Mounts['Mount point for NFS data'],\n      }\n      exec { \"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b2 bs=1M count=7520\":\n        user      =\u003e 'grid',\n        group     =\u003e 'asmadmin',\n        logoutput =\u003e true,\n        unless    =\u003e \"/usr/bin/test -f /nfs_client/asm_sda_nfs_b2\",\n        require   =\u003e [Mounts['Mount point for NFS data'],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b1 bs=1M count=7520\"]],\n      }\n\n      exec { \"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b3 bs=1M count=7520\":\n        user      =\u003e 'grid',\n        group     =\u003e 'asmadmin',\n        logoutput =\u003e true,\n        unless    =\u003e \"/usr/bin/test -f /nfs_client/asm_sda_nfs_b3\",\n        require   =\u003e [Mounts['Mount point for NFS data'],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b1 bs=1M count=7520\"],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b2 bs=1M count=7520\"],],\n      }\n\n      exec { \"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b4 bs=1M count=7520\":\n        user      =\u003e 'grid',\n        group     =\u003e 'asmadmin',\n        logoutput =\u003e true,\n        unless    =\u003e \"/usr/bin/test -f /nfs_client/asm_sda_nfs_b4\",\n        require   =\u003e [Mounts['Mount point for NFS data'],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b1 bs=1M count=7520\"],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b2 bs=1M count=7520\"],\n                      Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b3 bs=1M count=7520\"],],\n      }\n\n      $nfs_files = ['/nfs_client/asm_sda_nfs_b1','/nfs_client/asm_sda_nfs_b2','/nfs_client/asm_sda_nfs_b3','/nfs_client/asm_sda_nfs_b4']\n\n      file { $nfs_files:\n        ensure  =\u003e present,\n        owner   =\u003e 'grid',\n        group   =\u003e 'asmadmin',\n        mode    =\u003e '0664',\n        require =\u003e Exec[\"/bin/dd if=/dev/zero of=/nfs_client/asm_sda_nfs_b4 bs=1M count=7520\"],\n      }\n      ###### end of NFS example\n\n\n      oradb::installasm{ 'db_linux-x64':\n        version                   =\u003e hiera('db_version'),\n        file                      =\u003e hiera('asm_file'),\n        grid_type                 =\u003e 'HA_CONFIG',\n        grid_base                 =\u003e hiera('grid_base_dir'),\n        grid_home                 =\u003e hiera('grid_home_dir'),\n        ora_inventory_dir         =\u003e hiera('oraInventory_dir'),\n        user_base_dir             =\u003e '/home',\n        user                      =\u003e hiera('grid_os_user'),\n        group                     =\u003e 'asmdba',\n        group_install             =\u003e 'oinstall',\n        group_oper                =\u003e 'asmoper',\n        group_asm                 =\u003e 'asmadmin',\n        sys_asm_password          =\u003e 'Welcome01',\n        asm_monitor_password      =\u003e 'Welcome01',\n        asm_diskgroup             =\u003e 'DATA',\n        disk_discovery_string     =\u003e \"/nfs_client/asm*\",\n        disks                     =\u003e \"/nfs_client/asm_sda_nfs_b1,/nfs_client/asm_sda_nfs_b2\",\n        # disk_discovery_string   =\u003e \"ORCL:*\",\n        # disks                   =\u003e \"ORCL:DISK1,ORCL:DISK2\",\n        disk_redundancy           =\u003e \"EXTERNAL\",\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        remote_file               =\u003e false,\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      }\n\n      # 12.2 \n      oradb::installasm{ 'db_linux-x64':\n        version                =\u003e lookup('db_version'),\n        file                   =\u003e lookup('asm_file'),\n        grid_type              =\u003e 'HA_CONFIG',\n        grid_base              =\u003e lookup('grid_base_dir'),\n        grid_home              =\u003e lookup('grid_home_dir'),\n        ora_inventory_dir      =\u003e lookup('oraInventory_dir'),\n        user                   =\u003e lookup('grid_os_user'),\n        asm_diskgroup          =\u003e 'DATA',\n        disk_discovery_string  =\u003e '/nfs_client/asm*',\n        disks                  =\u003e '/nfs_client/asm_sda_nfs_b1,/nfs_client/asm_sda_nfs_b2',\n        disk_redundancy        =\u003e 'EXTERNAL',\n        remote_file            =\u003e false,\n        puppet_download_mnt_point =\u003e lookup('oracle_source'),\n      }\n\n      oradb::opatchupgrade{'112000_opatch_upgrade_asm':\n        oracle_home               =\u003e hiera('grid_home_dir'),\n        patch_file                =\u003e 'p6880880_112000_Linux-x86-64.zip',\n        csi_number                =\u003e undef,\n        support_id                =\u003e undef,\n        opversion                 =\u003e '11.2.0.3.6',\n        user                      =\u003e hiera('grid_os_user'),\n        group                     =\u003e 'oinstall',\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e Oradb::Installasm['db_linux-x64'],\n      }\n\n      oradb::opatch{'19791420_grid_patch':\n        ensure                    =\u003e 'present',\n        oracle_product_home       =\u003e hiera('grid_home_dir'),\n        patch_id                  =\u003e '19791420',\n        patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n        clusterware               =\u003e true,\n        bundle_sub_patch_id       =\u003e '19121552', # sub patch_id of bundle patch ( else I can't detect it)\n        bundle_sub_folder         =\u003e '19380115', # optional subfolder inside the patch zip\n        user                      =\u003e hiera('grid_os_user'),\n        group                     =\u003e 'oinstall',\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        ocmrf                     =\u003e true,\n        require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade_asm'],\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      }\n\n      oradb::installdb{ 'db_linux-x64':\n        version                   =\u003e hiera('db_version'),\n        file                      =\u003e hiera('db_file'),\n        database_type             =\u003e 'EE',\n        ora_inventory_dir         =\u003e hiera('oraInventory_dir'),\n        oracle_base               =\u003e hiera('oracle_base_dir'),\n        oracle_home               =\u003e hiera('oracle_home_dir'),\n        user_base_dir             =\u003e '/home',\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e 'dba',\n        group_install             =\u003e 'oinstall',\n        group_oper                =\u003e 'oper',\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        remote_file               =\u003e false,\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e Oradb::Opatch['19791420_grid_patch'],\n      }\n\n      oradb::opatchupgrade{'112000_opatch_upgrade_db':\n        oracle_home               =\u003e hiera('oracle_home_dir'),\n        patch_file                =\u003e 'p6880880_112000_Linux-x86-64.zip',\n        csi_number                =\u003e undef,\n        support_id                =\u003e undef,\n        opversion                 =\u003e '11.2.0.3.6',\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e hiera('oracle_os_group'),\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e Oradb::Installdb['db_linux-x64'],\n      }\n\n      oradb::opatch{'19791420_db_patch':\n        ensure                    =\u003e 'present',\n        oracle_product_home       =\u003e hiera('oracle_home_dir'),\n        patch_id                  =\u003e '19791420',\n        patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n        clusterware               =\u003e true,\n        bundle_sub_patch_id       =\u003e '19121551', #,'19121552', # sub patch_id of bundle patch ( else I can't detect it)\n        bundle_sub_folder         =\u003e '19380115', # optional subfolder inside the patch zip\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e 'oinstall',\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        ocmrf                     =\u003e true,\n        require                   =\u003e Oradb::Opatchupgrade['112000_opatch_upgrade_db'],\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      }\n\n      oradb::opatch{'19791420_db_patch_2':\n        ensure                    =\u003e 'present',\n        oracle_product_home       =\u003e hiera('oracle_home_dir'),\n        patch_id                  =\u003e '19791420',\n        patch_file                =\u003e 'p19791420_112040_Linux-x86-64.zip',\n        clusterware               =\u003e false,\n        bundle_sub_patch_id       =\u003e '19282021', # sub patch_id of bundle patch ( else I can't detect it)\n        bundle_sub_folder         =\u003e '19282021', # optional subfolder inside the patch zip\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e 'oinstall',\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        ocmrf                     =\u003e true,\n        require                   =\u003e Oradb::Opatch['19791420_db_patch'],\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n      }\n\n      # with the help of the oracle and easy-type module of Bert Hajee\n      ora_asm_diskgroup{ 'RECO@+ASM':\n        ensure          =\u003e 'present',\n        au_size         =\u003e '1',\n        compat_asm      =\u003e '11.2.0.0.0',\n        compat_rdbms    =\u003e '10.1.0.0.0',\n        diskgroup_state =\u003e 'MOUNTED',\n        disks           =\u003e {'RECO_0000' =\u003e {'diskname' =\u003e 'RECO_0000', 'path' =\u003e '/nfs_client/asm_sda_nfs_b3'},\n                            'RECO_0001' =\u003e {'diskname' =\u003e 'RECO_0001', 'path' =\u003e '/nfs_client/asm_sda_nfs_b4'}},\n        redundancy_type =\u003e 'EXTERNAL',\n        require         =\u003e Oradb::Opatch['19791420_db_patch_2'],\n      }\n\n      # based on a template\n      oradb::database{ 'oraDb':\n        oracle_base               =\u003e hiera('oracle_base_dir'),\n        oracle_home               =\u003e hiera('oracle_home_dir'),\n        version                   =\u003e hiera('dbinstance_version'),\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e hiera('oracle_os_group'),\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        action                    =\u003e 'create',\n        db_name                   =\u003e hiera('oracle_database_name'),\n        db_domain                 =\u003e hiera('oracle_database_domain_name'),\n        sys_password              =\u003e hiera('oracle_database_sys_password'),\n        system_password           =\u003e hiera('oracle_database_system_password'),\n        template                  =\u003e 'dbtemplate_11gR2_asm',\n        character_set             =\u003e \"AL32UTF8\",\n        nationalcharacter_set     =\u003e \"UTF8\",\n        sample_schema             =\u003e 'FALSE',\n        memory_percentage         =\u003e \"40\",\n        memory_total              =\u003e \"800\",\n        database_type             =\u003e \"MULTIPURPOSE\",\n        em_configuration          =\u003e \"NONE\",\n        storage_type              =\u003e \"ASM\",\n        asm_snmp_password         =\u003e 'Welcome01',\n        asm_diskgroup             =\u003e 'DATA',\n        recovery_diskgroup        =\u003e 'RECO',\n        recovery_area_destination =\u003e 'RECO',\n        require                   =\u003e [Oradb::Opatch['19791420_db_patch_2'],\n                                      Ora_asm_diskgroup['RECO@+ASM'],],\n      }\n\n      # or not based on a template\n      oradb::database{ 'oraDb':\n        oracle_base               =\u003e hiera('oracle_base_dir'),\n        oracle_home               =\u003e hiera('oracle_home_dir'),\n        version                   =\u003e hiera('dbinstance_version'),\n        user                      =\u003e hiera('oracle_os_user'),\n        group                     =\u003e hiera('oracle_os_group'),\n        download_dir              =\u003e hiera('oracle_download_dir'),\n        action                    =\u003e 'create',\n        db_name                   =\u003e hiera('oracle_database_name'),\n        db_domain                 =\u003e hiera('oracle_database_domain_name'),\n        sys_password              =\u003e hiera('oracle_database_sys_password'),\n        system_password           =\u003e hiera('oracle_database_system_password'),\n        character_set             =\u003e \"AL32UTF8\",\n        nationalcharacter_set     =\u003e \"UTF8\",\n        sample_schema             =\u003e 'FALSE',\n        memory_percentage         =\u003e \"40\",\n        memory_total              =\u003e \"800\",\n        database_type             =\u003e \"MULTIPURPOSE\",\n        em_configuration          =\u003e \"NONE\",\n        storage_type              =\u003e \"ASM\",\n        asm_snmp_password         =\u003e 'Welcome01',\n        asm_diskgroup             =\u003e 'DATA',\n        recovery_area_destination =\u003e 'DATA',\n        require                   =\u003e Oradb::Opatch['19791420_db_patch_2'],\n      }\n\n      # 12.2 on asm\n      oradb::database{ 'oraDb':\n        oracle_base               =\u003e lookup('oracle_base_dir'),\n        oracle_home               =\u003e lookup('oracle_home_dir'),\n        version                   =\u003e lookup('dbinstance_version'),\n        user                      =\u003e lookup('oracle_os_user'),\n        group                     =\u003e lookup('oracle_os_group'),\n        download_dir              =\u003e lookup('oracle_download_dir'),\n        action                    =\u003e 'create',\n        db_name                   =\u003e lookup('oracle_database_name'),\n        db_domain                 =\u003e lookup('oracle_database_domain_name'),\n        sys_password              =\u003e lookup('oracle_database_sys_password'),\n        system_password           =\u003e lookup('oracle_database_system_password'),\n        # template                  =\u003e 'dbtemplate_12.1_asm',\n        character_set             =\u003e 'AL32UTF8',\n        nationalcharacter_set     =\u003e 'UTF8',\n        sample_schema             =\u003e 'false',\n        memory_percentage         =\u003e 40,\n        memory_total              =\u003e 2880,\n        automatic_memory_management =\u003e false,\n        database_type             =\u003e 'MULTIPURPOSE',\n        em_configuration          =\u003e 'NONE',\n        storage_type              =\u003e 'ASM',\n        asm_snmp_password         =\u003e 'Welcome01',\n        asm_diskgroup             =\u003e '+DATA/{DB_UNIQUE_NAME}',\n        data_file_destination     =\u003e '+DATA/{DB_UNIQUE_NAME}',\n        recovery_diskgroup        =\u003e '+RECO',\n        recovery_area_destination =\u003e '+RECO',\n        puppet_download_mnt_point =\u003e 'oradb/',\n        require                   =\u003e  Ora_asm_diskgroup['RECO@+ASM'],\n      }\n\n## Oracle Database Client\n\n    oradb::client{ '12.2.0.1_Linux-x86-64':\n      version                   =\u003e '12.2.0.1',\n      file                      =\u003e 'V839967-01.zip',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.2/client',\n      remote_file               =\u003e false,\n      log_output                =\u003e true,\n      puppet_download_mnt_point =\u003e lookup('oracle_source'),\n    }\n\nor\n\n    oradb::client{ '12.1.0.1_Linux-x86-64':\n      version                   =\u003e '12.1.0.1',\n      file                      =\u003e 'linuxamd64_12c_client.zip',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/12.1/client',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      download_dir              =\u003e '/install',\n      bash_profile              =\u003e true,\n      remote_file               =\u003e true,\n      puppet_download_mnt_point =\u003e \"oradb/\",\n      logoutput                 =\u003e true,\n    }\n\nor\n\n    oradb::client{ '11.2.0.1_Linux-x86-64':\n      version                   =\u003e '11.2.0.1',\n      file                      =\u003e 'linux.x64_11gR2_client.zip',\n      oracle_base               =\u003e '/oracle',\n      oracle_home               =\u003e '/oracle/product/11.2/client',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      group_install             =\u003e 'oinstall',\n      download_dir              =\u003e '/install',\n      bash_profile              =\u003e true,\n      remote_file               =\u003e false,\n      puppet_download_mnt_point =\u003e \"/software\",\n      logoutput                 =\u003e true,\n    }\n\n## Enterprise Manager\n\n    oradb::installem{ 'em12104':\n      version                     =\u003e '12.1.0.4',\n      file                        =\u003e 'em12104_linux64',\n      oracle_base_dir             =\u003e '/oracle',\n      oracle_home_dir             =\u003e '/oracle/product/12.1/em',\n      agent_base_dir              =\u003e '/oracle/product/12.1/agent',\n      software_library_dir        =\u003e '/oracle/product/12.1/swlib',\n      weblogic_user               =\u003e 'weblogic',\n      weblogic_password           =\u003e 'Welcome01',\n      database_hostname           =\u003e 'emdb.example.com',\n      database_listener_port      =\u003e 1521,\n      database_service_sid_name   =\u003e 'emrepos.example.com',\n      database_sys_password       =\u003e 'Welcome01',\n      sysman_password             =\u003e 'Welcome01',\n      agent_registration_password =\u003e 'Welcome01',\n      deployment_size             =\u003e 'SMALL',\n      user                        =\u003e 'oracle',\n      group                       =\u003e 'oinstall',\n      download_dir                =\u003e '/install',\n      zip_extract                 =\u003e true,\n      puppet_download_mnt_point   =\u003e '/software',\n      remote_file                 =\u003e false,\n      log_output                  =\u003e true,\n    }\n\n    oradb::installem{ 'em13200':\n      version                     =\u003e '13.2.0.0',\n      file                        =\u003e 'em13200p1_linux64',\n      oracle_base_dir             =\u003e '/oracle',\n      oracle_home_dir             =\u003e '/oracle/product/13.2/em',\n      agent_base_dir              =\u003e '/oracle/product/13.2/agent',\n      software_library_dir        =\u003e '/oracle/product/13.2/swlib',\n      weblogic_user               =\u003e 'weblogic',\n      weblogic_password           =\u003e 'Welcome01',\n      database_hostname           =\u003e 'emdb.example.com',\n      database_listener_port      =\u003e 1521,\n      database_service_sid_name   =\u003e 'emrepos.example.com',\n      database_sys_password       =\u003e 'Welcome01',\n      sysman_password             =\u003e 'Welcome01',\n      agent_registration_password =\u003e 'Welcome01',\n      deployment_size             =\u003e 'SMALL',\n      user                        =\u003e 'oracle',\n      group                       =\u003e 'oinstall',\n      download_dir                =\u003e '/var/tmp/install',\n      zip_extract                 =\u003e false,\n      puppet_download_mnt_point   =\u003e '/software',\n      remote_file                 =\u003e false,\n      log_output                  =\u003e true,\n    }\n\n\n    oradb::installem_agent{ 'em12104_agent':\n      version                     =\u003e '12.1.0.4',\n      source                      =\u003e 'https://10.10.10.25:7802/em/install/getAgentImage',\n      install_type                =\u003e 'agentPull',\n      install_platform            =\u003e 'Linux x86-64',\n      oracle_base_dir             =\u003e '/oracle',\n      agent_base_dir              =\u003e '/oracle/product/12.1/agent',\n      agent_instance_home_dir     =\u003e '/oracle/product/12.1/agent/agent_inst',\n      sysman_user                 =\u003e 'sysman',\n      sysman_password             =\u003e 'Welcome01',\n      agent_registration_password =\u003e 'Welcome01',\n      agent_port                  =\u003e 1830,\n      oms_host                    =\u003e '10.10.10.25',\n      oms_port                    =\u003e 7802,\n      em_upload_port              =\u003e 4903,\n      user                        =\u003e 'oracle',\n      group                       =\u003e 'dba',\n      download_dir                =\u003e '/var/tmp/install',\n      log_output                  =\u003e true,\n      oracle_hostname             =\u003e 'emdb.example.com', # FQDN hostname where to install on\n    }\n\n    oradb::installem_agent{ 'em13200_agent':\n      version                     =\u003e '13.2.0.0',\n      source                      =\u003e 'https://10.10.10.25:7799/em/install/getAgentImage',\n      install_type                =\u003e 'agentPull',\n      install_platform            =\u003e 'Linux x86-64',\n      install_version             =\u003e '13.2.0.0.0',\n      oracle_base_dir             =\u003e '/oracle',\n      agent_base_dir              =\u003e '/oracle/product/13.2/agent',\n      agent_instance_home_dir     =\u003e '/oracle/product/13.2/agent/agent_inst',\n      sysman_user                 =\u003e 'sysman',\n      sysman_password             =\u003e 'Welcome01',\n      agent_registration_password =\u003e 'Welcome01',\n      agent_port                  =\u003e 1830,\n      oms_host                    =\u003e '10.10.10.25',\n      oms_port                    =\u003e 7799,\n      em_upload_port              =\u003e 4889,\n      oracle_hostname             =\u003e 'emdb.example.com',\n      user                        =\u003e 'oracle',\n      group                       =\u003e 'dba',\n      download_dir                =\u003e '/var/tmp/install',\n      log_output                  =\u003e true,\n    }\n\n    oradb::installem_agent{ 'em12104_agent2':\n      version                     =\u003e '12.1.0.4',\n      source                      =\u003e '/var/tmp/install/agent.zip',\n      install_type                =\u003e 'agentDeploy',\n      oracle_base_dir             =\u003e '/oracle',\n      agent_base_dir              =\u003e '/oracle/product/12.1/agent2',\n      agent_instance_home_dir     =\u003e '/oracle/product/12.1/agent2/agent_inst',\n      agent_registration_password =\u003e 'Welcome01',\n      agent_port                  =\u003e 1832,\n      oms_host                    =\u003e '10.10.10.25',\n      em_upload_port              =\u003e 4903,\n      user                        =\u003e 'oracle',\n      group                       =\u003e 'dba',\n      download_dir                =\u003e '/var/tmp/install',\n      log_output                  =\u003e true,\n    }\n\n## Oracle GoldenGate 12.1.2 and 11.2.1\n\n\n      $groups = ['oinstall','dba']\n\n      group { $groups :\n        ensure      =\u003e present,\n        before      =\u003e User['ggate'],\n      }\n\n      user { 'ggate' :\n        ensure      =\u003e present,\n        gid         =\u003e 'dba',\n        groups      =\u003e $groups,\n        shell       =\u003e '/bin/bash',\n        password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n        home        =\u003e \"/home/ggate\",\n        comment     =\u003e \"This user ggate was created by Puppet\",\n        managehome  =\u003e true,\n      }\n\n      oradb::goldengate{ 'ggate12.1.2':\n        version                   =\u003e '12.1.2',\n        file                      =\u003e '121200_fbo_ggs_Linux_x64_shiphome.zip',\n        database_type             =\u003e 'Oracle',\n        database_version          =\u003e 'ORA11g',\n        database_home             =\u003e '/oracle/product/12.1/db',\n        oracle_base               =\u003e '/oracle',\n        goldengate_home           =\u003e \"/oracle/product/12.1/ggate\",\n        manager_port              =\u003e 16000,\n        user                      =\u003e 'ggate',\n        group                     =\u003e 'dba',\n        group_install             =\u003e 'oinstall',\n        download_dir              =\u003e '/install',\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e User['ggate'],\n      }\n\n      file { \"/oracle/product/11.2.1\" :\n        ensure        =\u003e directory,\n        recurse       =\u003e false,\n        replace       =\u003e false,\n        mode          =\u003e '0775',\n        owner         =\u003e 'ggate',\n        group         =\u003e 'dba',\n        require       =\u003e Oradb::Goldengate['ggate12.1.2'],\n      }\n\n      oradb::goldengate{ 'ggate11.2.1':\n        version                   =\u003e '11.2.1',\n        file                      =\u003e 'ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip',\n        tar_file                  =\u003e 'fbo_ggs_Linux_x64_ora11g_64bit.tar',\n        goldengate_home           =\u003e \"/oracle/product/11.2.1/ggate\",\n        user                      =\u003e 'ggate',\n        group                     =\u003e 'dba',\n        download_dir              =\u003e '/install',\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e File[\"/oracle/product/11.2.1\"],\n      }\n\n      oradb::goldengate{ 'ggate11.2.1_java':\n        version                   =\u003e '11.2.1',\n        file                      =\u003e 'V38714-01.zip',\n        tar_file                  =\u003e 'ggs_Adapters_Linux_x64.tar',\n        goldengate_home           =\u003e \"/oracle/product/11.2.1/ggate_java\",\n        user                      =\u003e 'ggate',\n        group                     =\u003e 'dba',\n        group_install             =\u003e 'oinstall',\n        download_dir              =\u003e '/install',\n        puppet_download_mnt_point =\u003e hiera('oracle_source'),\n        require                   =\u003e File[\"/oracle/product/11.2.1\"],\n      }\n\n## Oracle SOA Suite Repository Creation Utility (RCU)\n\nproduct =\n- soasuite\n- webcenter\n- all\n\nRCU examples\n\nsoa suite repository\n\n    oradb::rcu{'DEV_PS6':\n      rcu_file       =\u003e 'ofm_rcu_linux_11.1.1.7.0_32_disk1_1of1.zip',\n      product        =\u003e 'soasuite',\n      version        =\u003e '11.1.1.7',\n      oracle_home    =\u003e '/oracle/product/11.2/db',\n      user           =\u003e 'oracle',\n      group          =\u003e 'dba',\n      download_dir   =\u003e '/install',\n      action         =\u003e 'create',\n      db_server      =\u003e 'dbagent1.alfa.local:1521',\n      db_service     =\u003e 'test.oracle.com',\n      sys_password   =\u003e 'Welcome01',\n      schema_prefix  =\u003e 'DEV',\n      repos_password =\u003e 'Welcome02',\n    }\n\nwebcenter repository with a fixed temp tablespace\n\n    oradb::rcu{'DEV2_PS6':\n      rcu_file          =\u003e 'ofm_rcu_linux_11.1.1.7.0_32_disk1_1of1.zip',\n      product           =\u003e 'webcenter',\n      version           =\u003e '11.1.1.7',\n      oracle_home       =\u003e '/oracle/product/11.2/db',\n      user              =\u003e 'oracle',\n      group             =\u003e 'dba',\n      download_dir      =\u003e '/install',\n      action            =\u003e 'create',\n      db_server         =\u003e 'dbagent1.alfa.local:1521',\n      db_service        =\u003e 'test.oracle.com',\n      sys_password      =\u003e 'Welcome01',\n      schema_prefix     =\u003e 'DEV',\n      temp_tablespace   =\u003e 'TEMP',\n      repos_password    =\u003e 'Welcome02',\n    }\n\ndelete a repository\n\n    oradb::rcu{'Delete_DEV3_PS5':\n      rcu_file          =\u003e 'ofm_rcu_linux_11.1.1.6.0_disk1_1of1.zip',\n      product           =\u003e 'soasuite',\n      version           =\u003e '11.1.1.6',\n      oracle_home       =\u003e '/oracle/product/11.2/db',\n      user              =\u003e 'oracle',\n      group             =\u003e 'dba',\n      download_dir      =\u003e '/install',\n      action            =\u003e 'delete',\n      db_server         =\u003e 'dbagent1.alfa.local:1521',\n      db_service        =\u003e 'test.oracle.com',\n      sys_password      =\u003e 'Welcome01',\n      schema_prefix     =\u003e 'DEV3',\n      repos_password    =\u003e 'Welcome02',\n    }\n\nOIM, OAM repository, OIM needs an Oracle Enterprise Edition database\n\n    oradb::rcu{'DEV_1112':\n      rcu_file                  =\u003e 'V37476-01.zip',\n      product                   =\u003e 'oim',\n      version                   =\u003e '11.1.2.1',\n      oracle_home               =\u003e '/oracle/product/11.2/db',\n      user                      =\u003e 'oracle',\n      group                     =\u003e 'dba',\n      download_dir              =\u003e '/data/install',\n      action                    =\u003e 'create',\n      db_server                 =\u003e 'oimdb.alfa.local:1521',\n      db_service                =\u003e 'oim.oracle.com',\n      sys_password              =\u003e hiera('database_test_sys_password'),\n      schema_prefix             =\u003e 'DEV',\n      repos_password            =\u003e hiera('database_test_rcu_dev_password'),\n      puppet_download_mnt_point =\u003e $puppet_download_mnt_point,\n      logoutput                 =\u003e true,\n      require                   =\u003e Oradb::Dbactions['start oimDb'],\n     }\n\n## Solaris 10 kernel, ulimits and required packages\n\n    exec { \"create /cdrom/unnamed_cdrom\":\n      command =\u003e \"/usr/bin/mkdir -p /cdrom/unnamed_cdrom\",\n      creates =\u003e \"/cdrom/unnamed_cdrom\",\n    }\n\n    mount { \"/cdrom/unnamed_cdrom\":\n      device   =\u003e \"/dev/dsk/c0t1d0s2\",\n      fstype   =\u003e \"hsfs\",\n      ensure   =\u003e \"mounted\",\n      options  =\u003e \"ro\",\n      atboot   =\u003e true,\n      remounts =\u003e false,\n      require  =\u003e Exec[\"create /cdrom/unnamed_cdrom\"],\n    }\n\n    $install = [\n                 'SUNWarc','SUNWbtool','SUNWcsl',\n                 'SUNWdtrc','SUNWeu8os','SUNWhea',\n                 'SUNWi1cs', 'SUNWi15cs',\n                 'SUNWlibC','SUNWlibm','SUNWlibms',\n                 'SUNWsprot','SUNWpool','SUNWpoolr',\n                 'SUNWtoo','SUNWxwfnt'\n                ]\n\n    package { $install:\n      ensure    =\u003e present,\n      adminfile =\u003e \"/vagrant/pkgadd_response\",\n      source    =\u003e \"/cdrom/unnamed_cdrom/Solaris_10/Product/\",\n      require   =\u003e [Exec[\"create /cdrom/unnamed_cdrom\"],\n                    Mount[\"/cdrom/unnamed_cdrom\"]\n                   ],\n    }\n    package { 'SUNWi1of':\n      ensure    =\u003e present,\n      adminfile =\u003e \"/vagrant/pkgadd_response\",\n      source    =\u003e \"/cdrom/unnamed_cdrom/Solaris_10/Product/\",\n      require   =\u003e Package[$install],\n    }\n\n\n    # pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWdtrc\n    # pkgadd -d /cdrom/unnamed_cdrom/Solaris_10/Product/ -r response -a response SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibm SUNWlibms SUNWsprot SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWcsl SUNWdtrc\n\n\n    $all_groups = ['oinstall','dba' ,'oper']\n\n    group { $all_groups :\n      ensure      =\u003e present,\n    }\n\n    user { 'oracle' :\n      ensure      =\u003e present,\n      uid         =\u003e 500,\n      gid         =\u003e 'oinstall',\n      groups      =\u003e ['oinstall','dba','oper'],\n      shell       =\u003e '/bin/bash',\n      password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n      home        =\u003e \"/home/oracle\",\n      comment     =\u003e \"This user oracle was created by Puppet\",\n      require     =\u003e Group[$all_groups],\n      managehome  =\u003e true,\n    }\n\n    $execPath     = \"/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:\"\n\n    exec { \"projadd max-shm-memory\":\n      command =\u003e \"projadd -p 102  -c 'ORADB' -U oracle -G dba  -K 'project.max-shm-memory=(privileged,4G,deny)' ORADB\",\n      require =\u003e [ User[\"oracle\"],\n                   Package['SUNWi1of'],\n                   Package[$install],\n                 ],\n      unless  =\u003e \"projects -l | grep -c ORADB\",\n      path    =\u003e $execPath,\n    }\n\n    exec { \"projmod max-sem-ids\":\n      command     =\u003e \"projmod -s -K 'project.max-sem-ids=(privileged,100,deny)' ORADB\",\n      subscribe   =\u003e Exec[\"projadd max-shm-memory\"],\n      require     =\u003e Exec[\"projadd max-shm-memory\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-shm-ids\":\n      command     =\u003e \"projmod -s -K 'project.max-shm-ids=(privileged,100,deny)' ORADB\",\n      require     =\u003e Exec[\"projmod max-sem-ids\"],\n      subscribe   =\u003e Exec[\"projmod max-sem-ids\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-sem-nsems\":\n      command     =\u003e \"projmod -s -K 'process.max-sem-nsems=(privileged,256,deny)' ORADB\",\n      require     =\u003e Exec[\"projmod max-shm-ids\"],\n      subscribe   =\u003e Exec[\"projmod max-shm-ids\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-file-descriptor\":\n      command     =\u003e \"projmod -s -K 'process.max-file-descriptor=(basic,65536,deny)' ORADB\",\n      require     =\u003e Exec[\"projmod max-sem-nsems\"],\n      subscribe   =\u003e Exec[\"projmod max-sem-nsems\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-stack-size\":\n      command     =\u003e \"projmod -s -K 'process.max-stack-size=(privileged,32MB,deny)' ORADB\",\n      require     =\u003e Exec[\"projmod max-file-descriptor\"],\n      subscribe   =\u003e Exec[\"projmod max-file-descriptor\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"usermod oracle\":\n      command     =\u003e \"usermod -K project=ORADB oracle\",\n      require     =\u003e Exec[\"projmod max-stack-size\"],\n      subscribe   =\u003e Exec[\"projmod max-stack-size\"],\n      refreshonly =\u003e true,\n      path        =\u003e $execPath,\n    }\n\n    exec { \"ndd 1\":\n      command =\u003e \"ndd -set /dev/tcp tcp_smallest_anon_port 9000\",\n      require =\u003e Exec[\"usermod oracle\"],\n      path    =\u003e $execPath,\n    }\n    exec { \"ndd 2\":\n      command =\u003e \"ndd -set /dev/tcp tcp_largest_anon_port 65500\",\n      require =\u003e Exec[\"ndd 1\"],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"ndd 3\":\n      command =\u003e \"ndd -set /dev/udp udp_smallest_anon_port 9000\",\n      require =\u003e Exec[\"ndd 2\"],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"ndd 4\":\n      command =\u003e \"ndd -set /dev/udp udp_largest_anon_port 65500\",\n      require =\u003e Exec[\"ndd 3\"],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"ulimit -S\":\n      command =\u003e \"ulimit -S -n 4096\",\n      require =\u003e Exec[\"ndd 4\"],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"ulimit -H\":\n      command =\u003e \"ulimit -H -n 65536\",\n      require =\u003e Exec[\"ulimit -S\"],\n      path    =\u003e $execPath,\n    }\n\n## Solaris 11 kernel, ulimits and required packages\n\n    package { ['shell/ksh', 'developer/assembler']:\n      ensure =\u003e present,\n    }\n\n    $install  = \"pkg:/group/prerequisite/oracle/oracle-rdbms-server-12-1-preinstall\"\n\n    package { $install:\n      ensure  =\u003e present,\n    }\n\n    $groups = ['oinstall','dba' ,'oper' ]\n\n    group { $groups :\n      ensure      =\u003e present,\n    }\n\n    user { 'oracle' :\n      ensure      =\u003e present,\n      uid         =\u003e 500,\n      gid         =\u003e 'dba',\n      groups      =\u003e $groups,\n      shell       =\u003e '/bin/bash',\n      password    =\u003e '$1$DSJ51vh6$4XzzwyIOk6Bi/54kglGk3.',\n      home        =\u003e \"/export/home/oracle\",\n      comment     =\u003e \"This user oracle was created by Puppet\",\n      require     =\u003e Group[$groups],\n      managehome  =\u003e true,\n    }\n\n    $execPath     = \"/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:\"\n\n    exec { \"projadd group.dba\":\n      command =\u003e \"projadd -U oracle -G dba -p 104 group.dba\",\n      require =\u003e User[\"oracle\"],\n      unless  =\u003e \"projects -l | grep -c group.dba\",\n      path    =\u003e $execPath,\n    }\n\n    exec { \"usermod oracle\":\n      command =\u003e \"usermod -K project=group.dba oracle\",\n      require =\u003e [User[\"oracle\"],Exec[\"projadd group.dba\"],],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"projmod max-shm-memory\":\n      command =\u003e \"projmod -sK 'project.max-shm-memory=(privileged,4G,deny)' group.dba\",\n      require =\u003e [User[\"oracle\"],Exec[\"projadd group.dba\"],],\n      path    =\u003e $execPath,\n    }\n\n    exec { \"projmod max-sem-ids\":\n      command     =\u003e \"projmod -sK 'project.max-sem-ids=(privileged,100,deny)' group.dba\",\n      require     =\u003e Exec[\"projadd group.dba\"],\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-shm-ids\":\n      command     =\u003e \"projmod -s -K 'project.max-shm-ids=(privileged,100,deny)' group.dba\",\n      require     =\u003e Exec[\"projadd group.dba\"],\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-sem-nsems\":\n      command     =\u003e \"projmod -sK 'process.max-sem-nsems=(privileged,256,deny)' group.dba\",\n      require     =\u003e Exec[\"projadd group.dba\"],\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-file-descriptor\":\n      command     =\u003e \"projmod -sK 'process.max-file-descriptor=(basic,65536,deny)' group.dba\",\n      require     =\u003e Exec[\"projadd group.dba\"],\n      path        =\u003e $execPath,\n    }\n\n    exec { \"projmod max-stack-size\":\n      command     =\u003e \"projmod -sK 'process.max-stack-size=(privileged,32MB,deny)' group.dba\",\n      require     =\u003e Exec[\"projadd group.dba\"],\n      path        =\u003e $execPath,\n    }\n\n    exec { \"ipadm smallest_anon_port tcp\":\n      command     =\u003e \"ipadm set-prop -p smallest_anon_port=9000 tcp\",\n      path        =\u003e $execPath,\n    }\n    exec { \"ipadm smallest_anon_port udp\":\n      command     =\u003e \"ipadm set-prop -p smallest_anon_port=9000 udp\",\n      path        =\u003e $execPath,\n    }\n    exec { \"ipadm largest_anon_port tcp\":\n      command     =\u003e \"ipadm set-prop -p largest_anon_port=65500 tcp\",\n      path        =\u003e $execPath,\n    }\n    exec { \"ipadm largest_anon_port udp\":\n      command     =\u003e \"ipadm set-prop -p largest_anon_port=65500 udp\",\n      path        =\u003e $execPath,\n    }\n\n    exec { \"ulimit -S\":\n      command =\u003e \"ulimit -S -n 4096\",\n      path    =\u003e $execPath,\n    }\n\n    exec { \"ulimit -H\":\n      command =\u003e \"ulimit -H -n 65536\",\n      path    =\u003e $execPath,\n    }\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautostructure%2Foradb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautostructure%2Foradb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautostructure%2Foradb/lists"}