Forge Home


Puppet profiles for installing IBM DB2 Database software and creating and managing databases


204 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.0.0 (latest)
  • 0.4.1
  • 0.4.0
  • 0.3.1
  • 0.3.0
  • 0.2.0
  • 0.1.0
released Jun 12th 2023
This version is compatible with:
  • Puppet Enterprise 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.7.0 < 9.0.0
  • , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'enterprisemodules-db2_profile', '1.0.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add enterprisemodules-db2_profile
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install enterprisemodules-db2_profile --version 1.0.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



enterprisemodules/db2_profile — version 1.0.0 Jun 12th 2023

Enterprise Modules

Table of Contents


The db2_profile module allows an easy path from first simple installation to a fully customized Enterprise setup. It is part of our family of Puppet modules to install, manage and secure DB2 databases with Puppet. Besides the db2_profile module, this family also contains:

  • db2_install For installing an DB2 databases.
  • db2_config For configuring every aspect of your DB2 database
  • db2_secured To secure your databases according to the CIS benchmarks or STIG documents.

This module support DB2 version 10 and 11


Most of the Enterprise Modules modules are commercial modules. This one is NOT. It is an Open Source module. You are free to use it any way you like. It, however, is based on our commercial Puppet DB2 modules.


The db2_profile::database class contains all the Puppet code to install, create and populate an DB2 database. This class is an easy way to get started. It contains the following steps:

  • em_license (setup Enterprise Modules licenses)
  • setup (Setup DB2 including fact caching)
  • sysctl (Set required sysctl settings)
  • limits (Set required security limits)
  • groups_and_users (Ensure required OS groups and users)
  • packages (Ensure require OS packages)
  • firewall (Configure firewall for DB2 usage)
  • db_software (Install the DB2 software)
  • db_fixpack (Install the DB2 fixpack)
  • db_instance (Ensure DB2 instances)
  • db_definition (Ensure DB2 databases)
  • db_primary (Set the database as primary database when using HADR)
  • db_standby (Set the database as standby database when using HADR)
  • db_tablespaces (Ensure DB2 tablespaces)
  • db_users (Ensure DB2 users in database)
  • db_roles (Ensure DB2 roles)
  • db_groups (Ensure DB2 groups in database)
  • db_schemas (Ensure DB2 schemas)
  • db_startup (Esnure DB2 startup after reboot)

All these steps have a default implementation. This implementation is suitable to get started with. These classes all have parameters you can customize through hiera values. The defaults are specified in the module's data/default.yaml file.

But sometimes this is not enough and you would like to add some extra definitions, you can, for example, add a Puppet class to be executed after the systctl stage is done and before the limits is done. You can do this by adding the next line to your yaml data:

db2_profile::database::before_sysctl:   my_profile::my_extra_class

or after:

db2_profile::database::after_sysctl:   my_profile::my_extra_class

If you want to, you can also skip this provided class:

db2_profile::database::sysctl:   skip

Or provide your own implementation:

db2_profile::database::sysctl:   my_profile::my_own_implementation

This mechanism can be used for all named stages and makes it easy to move from an easy setup with a running standard database to a fully customized setup using a lot of your own classes plugged in.

Check here to see the full documentation for this module.



The db2_profile module requires:

Installing the db2_profile module

To install these modules, you can use a Puppetfile

mod 'enterprisemodules/db2_profile'               ,'x.x.x'

Then use the librarian-puppet or r10K to install the software.

You can also install the software using the puppet module command:

puppet module install enterprisemodules-db2_profile


To get started, include the db2_profile::database class in your role and add the next hiera data for your node:

db2_profile::database::source:                  http://myserver/my_software
db2_profile::name:                              MYDB
db2_profile::location:                          /opt/ibm/db2/V11.5
db2_profile::version:                           '11.5'
db2_profile::database::db_software::file_name:  DB2S_11.5.4_MPML.tar.gz
db2_profile::database::db_fixpack::version:     '11.5.7'
db2_profile::database::db_fixpack::file_name:   v11.5.7_linuxx64_universal_fixpack.tar.gz

Make sure the files:

  • DB2S_11.5.4_MPML.tar.gz
  • v11.5.7_linuxx64_universal_fixpack.tar.gz

Are downloaded and available in the location you specified as db2_profile::database::source.

Run Puppet and you have a running IBM DB2 database


Here you can find some more information regarding this puppet module:


This module runs on most Linux versions. It requires a puppet version higher than 4. The module does NOT run on windows systems.