Part 1: Oracle 12c database reset

In this series of Blog posts I will share short videos demonstrating how storage data services can be used to perform many common data management and CDM (Copy Data Management) tasks using simply scripting, DevOPS automation tools and Pure Storage REST API’s .

Oracle 12c Database Reset

The video starts by refreshing an Oracle 12c database, and then simulates a typical development workflow process, where development databases are refreshed from production and then updated with:

  • New application configuration and setup
  • Additional synthetic and manufactured data supplement production data sets
  • Data masking and cleansing scripts.
  • Housekeeping routines e.g. clean-up workflow / staging tables

The video shows me taking a crash-consistent snapshot using a python script I have developed (available at code.purestorage.com) using the Pure Storage REST API’s.

The video then proceeds to perform further updates and changes, before resetting the database back to the initial clone simulating an application test issue due to problems with the initial set-up and configuration.

Advertisements

Oracle E-Business Suite R12.2.5 Fresh Install – Part II

Oracle EBS R12.2.5 Installation

Navigate to ../startCD/Disk1/rapidwiz an launch rapidwiz

As you can see from below the installation is going to include Oracle 12cR1 RDBMS.

Welcome

Review and click ‘Next’

Wizard1

Select ‘Install Oracle E-Business Suite Release R12.2.0’, click ‘Next’

config_choice

Select ‘Create a new configuration’, click ‘Next’

global_settings

Update Port Pool if required, click ‘Next’

database_node

Update Database Node Configuration, click ‘Next’

primary_app_node

Update Application Node Configuration, click ‘Next’

App_user_info

Update Application User Information, click ‘Next’

node_info

Review node information, click ‘Next’

validation

Review ‘Validate System Configuration’, click ‘Next’

review

Review summary, click ‘Next’

Installing

Click ‘Next’ to start install

Missing Java library

rw-50004

The above failure is due to a missing java library file, this can be fixed with the below.

$ORACLE_HOME/javavm/jdk/jdk7/lib/libjavavm12.a lib to $ORACLE_HOME/lib/

If your quick you can copy it whilst rapidwiz is installing the Oracle Home, otherwise you will have to clean-up the oraInventory and star rapidwiz again.

RMAN failure

The installer will try to restore the data files using RMAN, previous releases just unzipped the files, the installer will continue for a while until.

RMAN-04014: startup failed: ORA-01127: database name ‘OLDDBNAME’ exceeds size limit of 8 characters

This can be fixed by updating the RMANinit.ora file and restarting rapidwiz e.g.

/u01/oracle/VIS/12.1.0/dbs/RMANinit.ora
db_name=OLDDBNAME
to
db_name=VIS

Perl Segmentation fault

Another, problem you may encounter with your Oracle EBS R12.2.5 install is a perl ‘Segmentation fault’

$ pwd
/u01/oracle/VIS/12.1.0/perl/bin
$ ./perl -v
Segmentation fault

$ cd $ORACLE_HOME
$ mv perl/ perl.old/
$ mkdir perl

Change directory back to your downloaded version and re-compile.

$ cd
$ cd perl/perl-5.14.1
$./Configure -des -Dprefix=$ORACLE_HOME/perl -Doptimize=-O3 -Dusethreads -Duseithreads -Duserelocatableinc ; make clean ; make ; make install

$ cd $ORACLE_HOME/perl
$ rm -rf lib/ man/
$ cp -r ../perl.old/lib/ .
$ cp -r ../perl.old/man/ .
$ cp ../perl.old/bin/dbilogstrip bin/
$ cp ../perl.old/bin/dbiprof bin/
$ cp ../perl.old/bin/dbiproxy bin/
$ cp ../perl.old/bin/ora_explain bin/

Rapidwiz Completion

Once the installed is complete you can now confirm your EBS and database versions using the following:

SQL> select release_name from apps.fnd_product_groups;
SQL> select * from v$version;

In part III of this BLOG series I will share the steps to upgrade from R12.2.0 to R12.2.5

A Quick look at Delphix Cross Platform Provisioning

Why Cross Platform Provisioning (XPP)

As a consultant I am fortunate to get the opportunity to work and speak with many customers across the whole of EMEA, a topic which is often discussed is the use of the Linux or the ‘Cloud’ for Development and Test teams. I will cover how you can migrate data to the Cloud in a future Blog post, but today I want to get you ready for the Cloud.

The migration of databases to Linux on commodity hardware on-premise or in the Cloud continues to grown year-on-year as IT departments look to reduce their infrastructure and operational costs and also provide greater Agility to the Business. However Unix is far from dead and not everyone is looking to migrate their Production systems to Linux quite yet. This a great example of where Delphix XPP can be used to provide Virtual Development and Test databases on Linux whilst retaining Production on Unix.

Validate Source

If you have a Unix dSource or VDB you may have noticed the ‘Transform to Linux’ option on your dashboard, this Service-lead feature provides an automated approach to the traditional labour intensive challenge of performing Endianness conversion, e.g. Unix (Big Endian) to Linux (Little Endian).

During the validation Delphix will spin-up a temporary VDB, therefore before you start you need to ensure that your Unix staging server has had the ‘Use as Staging’ enabled from within the Server Environment.

Validate dSource

To get started Open up the dSource or VDB card, and click on the ‘Linux’ tab, from here click on the Green Tick to validate the ‘Linux Transformation’. Delphix will then perform a series of checks against known Oracle restrictions including:

  • No encryption – Columns / Tablespaces
  • Locally managed tablespaces (not dictionary managed)
  • Tablespaces are self-contained
  • Restrictions surrounding XML Types, Spatial Indexes and Advanced Queries

Transform to Linux

If the Validation process fails, use the download the ‘Transformation’ text file to assist in identification and correction of the errors reports. Perform required updates and recommended changes to the Transformation script and Upload and repeat Validation step until successful validation.

Successful Validation

Now that you have Validated dSource / VDB the previously greyed out ‘Transform to Linux’ will be available allowing the Provision of Linux VDB’s

Validated dSource

Click on ‘Transform to Linux’ and follow the Delphix Provisioning wizard providing Database name and Mount Point as normal.

Provision Linux VDB

Delphix and DB2 ‘Air Gapped’

Delphix v5.0

Delphix v5.0 introduced many new feature including Secure Replication, SDD (Selective Data Distribution) and Oracle E-Business Suite Multi-Node, but in this Blog I am going to give the new DB2 functionality a test drive.

Delphix and DB2

The Delphix DB2 solution uses DB2 High Availability Disaster Recovery (HADR) capability to synchronise data from a Production DB2 database into a Delphix managed DB2 ‘Standby’ server. Delphix is able to automatically ingest data and keep the standby server in sync with only a minimal impact on the Production system. DB2 HADR is configured to be Super-Asynchronous (SUPERASYNC) so that log writes are considered successfully transmitted when the log records are sent from the primary database and therefore does not cause any Production delay.

DB2 HADR Standby
DB2 HADR Standby

 

 

 

 

 

 

 

 

 

 

 

Delphix strongly recommends the use of DB2 a High Availability Disaster Recovery (HADR) Standby as this provides an far superior RPO (Recovery Point Objective) and provides Delphix a fully automated sync with Production.

Getting Started

Being an Oracle guy with little DB2 experience I thought I was the perfect person to see how easy it is to get going with Delphix and DB2. After checking out the Delphix DB2 Docs, Rahul Nair’s excellent YouTube DB2 video I felt pretty confident to use Delphix and DB2.

DB2 Air Gapped

Whilst working with an existing Delphix customer and providing an update on the exciting support of DB2 within Delphix v5.0 I was given an edge case challenge.

The customer shared that they were unable to implement HADR and we needed to treat Production as ‘Air Gapped’, they were able to take backups and arrange for the transport of these but Delphix would not be able to interact with Production or a Standby server.

To demonstrate the process I performed the below on my Linux DB2 10.5.5 SAMPLE database.

Performed an On-Line backup using the following:

db2 connect to SAMPLE
db2 backup database SAMPLE online compress include logs

I then manually transferred the SAMPLE database backup file using scp with SHH Password less configuration.

Updated my Delphix Engine environment details, and then added a dSource using the Delphix UI.

Adding a DB2 dSource

As we are not planning to use HADR as this solution is ‘Air Gapped’ I have unchecked the HADR box.

I then clicked the ‘+’ to add the additional database information – Database Name and Backup Path

Adding DB2 dSource
Adding DB2 dSource

 

 

 

 

 

 

 

 

 

 

 

 

Click’ next and at the next screen provide a dSource name and click next again.

On the following screen specify the Staging server and Staging Mount Path

Adding Staging details
Adding Staging details

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

We can now ‘Click’ next and finally ‘Finish’ after reviewing the summary.

Delphix will now ingest the backup and create the initial dSource

Provisioning a Virtual Instance

To Provision a new Virtual Instance select either a dSource or existing virtual instance and click on the ‘+’ provision icon.

Select DB2 installation path and environment user, then click next.

Provide vFiles name and select folder, then click next until you get to the summary screen and click ‘Finish’

Provision DB2 Virtual Instance
Provision DB2 Virtual Instance

 

 

 

 

 

 

 

 

 

 

 

 

 

Performing Manual SnapShots

As we are not using HADR, we can’t use Delphix’s in-built policies to schedule and Snapshots so these need to be initiated manually.

This can be triggered via the Delphix CLI or automated using the Delphix SSH password less authentication.

e.g.
Grant access for the target user if not same as source user
db2 grant dbadm on database to user ${TARGETUSR}

Take a Full on-line backup
db2 backup database ${DATABASE} online compress include logs

Initiate backup file transfer
scp ${NEWBACKUP} ${STANDBYUSR}@${STANDBYSVR}:/home/${STANDBYUSR}/

Perform SnapShot
ssh delphix_admin${DELPHIX_ENGINE}”
${SSH_CMD} “version 1.7.0; cd database; select STANDBY; sync; set resync=true; commit; exit;”