MAAGEN generates scripts and files to support MAA configurations. The
configuration is initially defined in an XML document.
MAAGEN takes the XML file as input and generates all files and scripts required to implement the MAA configuration including network configuration files,
RMAN duplication scripts, parameter and control file configuration, OCR configuration and Data Guard Broker configuration.

MAAGEN generates the same set of scripts for every standby database
configuration. Whilst the script names are identical, the contents differ
signficantly based on the definition in the XML document.

MAAGEN is written in Perl to allow end-users to modify the tool if
necessary to support new requirements e.g. new versions, environments etc.
Alternatively support is available either on-site or remotely.

An XML-schema document is provided to ensure that modifications to the
XML document are syntactically and semantically valid.

Supported Configurations

MAAGEN can support MAA configurations with any number of nodes in the
primary and standby clusters.

The default version of MAAGEN supports Oracle 11.1 and above. It can be
adapted to support earlier versions.

MAAGEN supports MAA configurations on Linux, Solaris, AIX. It can be
extended to support HP/UX if necessary.

MAAGEN can also be extended to support a number of extended MAA
configurations including:

The default version of MAAGEN implements the following functionality:

Two or more primary nodes

Two or more standby nodes

Oracle Grid Infrastructure

Oracle Automatic Storage Management (ASM)

Default listener process

Physical standby database

Flashback logging

Data Guard Broker

Data Guard Maximum Availability protection mode

Data Guard Synchronous Redo Transport mode

The following attributes are configurable:

Data Guard Broker configuration name

Cluster location

Inventory location

Number of nodes on each cluster

Cluster name

Oracle home name and location

Global database name

Database unique name

Server/Node name

DBA group name

Grid user

Oracle user

Domain name

Instance name

Scan VIP name,port and protocol

Local VIP port and protocol

Listener name

TNS domain name

Audit directory

Administrative directories

Data disk group

FRA disk group

Redo disk group(s)

Number of redo groups

Number of redo threads

Redo log size

In addition initialization parameters can be specified for either the
primary or standby databases

MAAGEN can also be extended to support the following features:

Multiple listener processes

Dedicated redo networks

Secured listeners

Fast start failover

Observer processes

Single instance databases

Snapshot standby databases

Active Data Guard

File system or NFS storage

Prequisites

On Enterprise Linux, a basic version of Perl is usually installed by
default. However, the MAAGEN Perl script uses the Perl XML parser which is not
installed by default.
To install the XML parser use yum. For example:

[oracle@server1]$ yum install perl-XML-LIbXML

The yum install command will install the perl-XML-LibXML package
and any prerequisite packages.

At present the MAAGEN Perl script has only been executed in Linux x86-64
environments. Theoretically it will execute on Solaris and AIX, but the
scripts and/or environment may require minor modification to achieve this.

Implementation

MAAGEN consists of several components:

XML schema definition (maagen.xsd) defining the XML document syntax

XML document containing a sample configuration

Perl script (maagen.pl) which generates MAA files and scripts based on the contents of the XML document

History

MAAGEN has evolved over a number of years. MAAGEN or its predecessors
has been implemented for around a dozen large UK-based Oracle users running
MAA configurations. The script is currently written in Perl and is configured
using an XML document. Perl remains the preferred scripting language because
of its declarative syntax, block structure and support for objects.

Consultancy

MAAGEN is free for customers purchasing five or more days consultancy from
JulianDyke.com Limited.

Experience has shown that it takes around five days to implement MAAGEN
in a new organisation. This typically consists of:

Two days to agree and implement naming conventions / standards

One day to build a test environment and to implement the scripts

Two days to test the scripts including building a standby database and
testing switchover/failover/reinstatement

Minor enhancements can usually be achieved during the initial five days.
Major enhancements may require additional days.

Creation of a test environment is recommended for production sites unable
to perform failover testing during working hours.

Pricing

MAAGEN is included for customers purchasing five or more days consultancy
from JulianDyke.com Limited. Remote support is available and is currently free.

MAAGEN includes a Perl script which customers are permitted to modify.
To reduce testing overheads, enhancement requests can be made to merge
changes into the base release. Enhancements will be made if they do not
conflict with existing/planned functionality.

Customers are free to use MAAGEN for any number of configurations within
their organisation. MAAGEN cannot be distributed outside the organisation
purchasing the consultancy.

MAAGEN is available free of charge to existing customers of JulianDyke.com
Limited.

MAAGEN is not available for download. It is distributed by e-mail
to qualifying customers.