Skip to content

elibus/puppet-oracle_dbfs

Repository files navigation

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

##Overview

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)

##Setup

###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/11.2.0.4/client',
    ewallet     => 'ewallet content',
    cwallet     => 'cwallet content',
    tnsnames    => 'tnsnames content',
    sqlnet      => 'sqlnet content',
    mounts      => {
      '/mnt/dbfs' => {
        'conn_string' => 'dbfs@DBFS',
        'mount_point' => '/mnt/dbfs',
      },
    }
  }

Defaults:

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/11.2.0.4/client Self explanatory
service_name oracle_dbfs Self explanatory

##Usage

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:

  ---
  oracle_dbfs:
    user:             'oracle'
    group:            'dba'
    oracle_base:      '/usr/ora11g/app/oracle'
    oracle_home:      '/usr/ora11g/app/oracle/product/11.2.0.4/client'
    config_dir:       '/etc/oracle/dbfs'
    user_allow_other: true
    mounts:
      '/mnt/oradbfs'
        conn_string: 'dbfs_user@DBFS'
        mount_point: '/mnt/oradbfs'
        mount_opts:  'waller,rw,allow_other'
      '/mnt/anotheroradbfs'
        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:

  /etc/puppet/data/hiera/common:
    oracle_dbfs::cwallet
    oracle_dbfs::ewallet
    oracle_dbfs::tnsnames
    oracle_dbfs::sqlnet

##Reference

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!)

##Limitations

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

##Development

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

About

Puppet module for Oracle DBFS configuration

Resources

License

Stars

Watchers

Forks

Packages

No packages published