Configure Oracle DBFS




8,608 latest version

4.8 quality score

Version information

  • 0.1.4 (latest)
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.1.0
released Nov 10th 2014
This version is compatible with:
  • Puppet Enterprise 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 >=2.7.20
  • RedHat

Start using this module


elibus/oracle_dbfs — version 0.1.4 Nov 10th 2014

Build Status ####Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with oracle_dbfs
  4. Usage - Configuration options and additional functionality
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module


This module configure the Oracle DBFS as a Unix Service on RHEL 6 systems (should work on 7 in compatibility)

##Module Description

This module configure Oracle DBFS as a service and mount all defined remote file systems at boot. This is particularly useful as Oracle does not provide a way to automount DBFS (do not refer to the Oracle DBFS documentation because what's declared is NOT working)


###What oracle_dbfs affects

This is what this module will alter:

  • Create /etc/sysconfig/oracle_dbfs
  • Create /etc/sysconfig/oracle_dbfs.mounts a fstab like file for your mounts
  • Create /etc/init.d/oracle_dbfs, chkconfig on the service and ensure it is running
  • Add the oracle user to the fuse group
  • Ensure packages fuse, fuse-libs are installed
  • touch /etc/fuse.conf and (if configured) ensure allow_other option is present
  • Create /etc/oracle/dbfs/{admin,wallet} where to store tnsnames.ora,sqlnet.ora and wallet files
  • Create any required mount point with owner oracle and related group (as configured)

###Setup Requirements

This module requires:

###Beginning with oracle_dbfs

This is a simpe use of the modules:

  include oracle_dbfs {
    user        => 'oracle',
    group       => 'dba',
    oracle_base => '/usr/ora11g/app/oracle',
    oracle_home => '/usr/ora11g/app/oracle/product/',
    ewallet     => 'ewallet content',
    cwallet     => 'cwallet content',
    tnsnames    => 'tnsnames content',
    sqlnet      => 'sqlnet content',
    mounts      => {
      '/mnt/dbfs' => {
        'conn_string' => 'dbfs@DBFS',
        'mount_point' => '/mnt/dbfs',


Option Defaults to Description
user_allow_other true puts in /etc/fuse.conf
config_dir /etc/oracle/dbfs Where to store wallet and tnsnames/sqlnet.ora files
user oracle Self explanatory
group dba Self explanatory
oracle_base /usr/ora11g/app/oracle Self explanatory
oracle_home /usr/ora11g/app/oracle/product/ Self explanatory
service_name oracle_dbfs Self explanatory


To take the most out of this module I recommend using hiera + the hiera-file backend. This is an example using hiera:

  include oracle_dbfs

Hiera config file:

    user:             'oracle'
    group:            'dba'
    oracle_base:      '/usr/ora11g/app/oracle'
    oracle_home:      '/usr/ora11g/app/oracle/product/'
    config_dir:       '/etc/oracle/dbfs'
    user_allow_other: true
        conn_string: 'dbfs_user@DBFS'
        mount_point: '/mnt/oradbfs'
        mount_opts:  'waller,rw,allow_other'
        conn_string: 'dbfs_user@DBFS'
        mount_point: '/mnt/anotheroradbfs'
        mount_opts:  'waller,rw,allow_other'

Then somewhere under your hiera hierarchy creates the following files:



Here, list the classes, types, providers, facts, etc contained in your module. This section should include all of the under-the-hood workings of your module so people know what the module is touching on their system but don't need to mess with things. (We are working on automating this section!)


This module has been tested only on RHEL 6. It should work on RHEL 7 and Centos.


Since your module is awesome, other users will want to play with it. Let them know what the ground rules for contributing are.