Showing posts with label Cloning. Show all posts
Showing posts with label Cloning. Show all posts

Tuesday, 2 June 2015

Delphix can clone Informix instances

Informix Instance Cloning


Delphix can clone Informix! This post describes basic scenario of cloning Informix instances. It is a beginning of interesting journey.

Scenario

Host 1: Informix instance installed. Non root installation.
Host 2: Informix instance installation folder provisioned by Delphix. Little change to network configuration file and we can enjoy new running Informix instance. We can use snapshot, refresh and rewind functionality. Using these features we can travel in time with our cloned instance.

Architecture

Informix Instance Basic Cloning Architecture

Delphix Engine 4.2.2.1
Functionality used: Unstructured Files 

Host 1 - Details

Delphix: Source Host
OS: CentOS release 6.6 (Final)
Name: informix1.kolibero.local

Informix:
  • Installation Folder: /home/informix/ixinst1
  • Version:  IBM Informix Database Server 12.10.FC5 PRODUCT RELEASE (Delevoper Edition)
  • Installation Type: non root
  • Instance name: ol_informix1210
  • Custom Database: Blog
  • Custom Table: Blog

Host 2 - Details

Delphix: Target Host
OS: CentOS release 6.6 (Final)
Name: informix2.kolibero.local 

Cloning Steps

  • Install Host 1 VM
  • Install Informix IDS from installation media. Installation folder /home/informix/ixinst1. This is non root installation.
  • Start Informix instance. Create Blog database. Create Blog table inside database.
  • Install Host 2 VM.
  • Register source and target environments in Delphix.

Source host registered in Delphix
Target host registered in Delphix
  •  Ingest /home/informix/ixinst1 folder as dSource.
Source Informix installation folder ingested into Delphix
  •  Clone ingested instance folder to target Host 2.

Cloned Informix instance folder. Now available in target Host 2.
  • Modify /home/informix/ixinst1/etc/sqlhosts.ol_informix1210 in Host2 to point to new host name. We have to modify informix1.kolibero.local to informix2.kolibero.local.
[informix@informix2 etc]$ more sqlhosts.ol_informix1210
ol_informix1210 onsoctcp informix2.kolibero.local 16323
dr_informix1210 drsoctcp informix2.kolibero.local 22217
lo_informix1210 onsoctcp 127.0.0.1 33113
[informix@informix2 etc]$
  • Export instance's environment variables
  • Start cloned instance using oninit.
At this point we can use new cloned Informix instance. We can make snapshots of the instance, rewind its state back and forth.

Conclusion

  • This is very basic example of cloning Informix using Delphix but it is good starting point to more sophisticated scenarios.
  • Using basic Delphix functionality of cloning "Unstructured Files" we can create new independent environment serving Informix instance. Our cloned instance can enjoy time machine features offered by Delphix.















Tuesday, 28 April 2015

Command Line Cloning - Oracle R12.1.3 Example

Command Line Cloning

It's very simple to clone Oracle EBS R12.1.3 using Delphix command line interface.

Simple example. We have following data sources available:

Delphix - Disabled Oracle EBS Sources

Data sources:
  • VIS - Oracle database source data
  • VIS appsTier - EBS R12 application stack source
  • VIS dbTechStack - EBS R12 database binaries source
All the sources are greyed out which means that they are disabled and are not connected to the source EBS instance. Source EBS instance is down at this time and is not necessary to be up during provisioning process.

To create new totally independent Oracle EBS instance we just need to execute one command:

ssh delphix_admin@DOMAIN@192.168.1.32 < /home/delphixcli/VISDEV2_app.dx
The command is executing simple Delphix CLI script which is creating three virtual objects necessary to bring a new virtual EBS instance to life. The objects:
  1. VISDEV2 dbStack - new Oracle database binaries
  2. VISDEV2 - new database
  3. VISDEV2 appsTier - new application binaries
Delphix CLI cloning script (VISDEV2_app.dx):

database provision
defaults
set type=TimeflowPointSemantic
set location=LATEST_SNAPSHOT
set container="VIS dbTechStack"
commit
set container.name="VISDEV2 dbStack"
set container.group="Targets - EBS"
set source.parameters.appsPassword=apps
set source.parameters.display="ebstrg10:0.0"
set source.parameters.oracleHome="db/tech_st/11.1.0"
set source.parameters.targetSystemHostname="ebstrg10"
set source.parameters.targetSystemPortPool=1
set source.parameters.targetSystemSid="VISDEV2"
set source.parameters.targetSystemUtlFileDir="/var/tmp"
set source.name="VISDEV2 dbStack"
set sourceConfig.name="VISDEV2 dbStack"
set sourceConfig.path="/data/u01/oracle/VISDEV2"
set sourceConfig.repository="ebstrg10.kolibero.local/builtin:ebs-db"
commit

database provision
defaults
set type=TimeflowPointSemantic
set container="VIS"
set location=LATEST_SNAPSHOT
commit
set container.name=VISDEV2
set container.group="Targets - EBS"
set source.mountBase="/data/u01/oracle/data2"
set sourceConfig.type=OracleSIConfig
set sourceConfig.databaseName=VISDEV2
set sourceConfig.uniqueName=VISDEV2
edit sourceConfig.instance
set instanceNumber=1
set instanceName=VISDEV2
back
set sourceConfig.repository="ebstrg10.kolibero.local/'/data/u01/oracle/VISDEV2/db/tech_st/11.1.0'"
commit

database provision
defaults
set type=TimeflowPointSemantic
set location=LATEST_SNAPSHOT
set container="VIS appsTier"
commit
set container.name="VISDEV2 appsTier"
set container.group="Targets - EBS"
set source.name="VISDEV2 appsTier"
set source.parameters.appsPassword=apps
set source.parameters.display="ebstrg20:0.0"
set source.parameters.commonTop="apps/apps_st/comn"
set source.parameters.instTop="/data/u01/oracle/VISDEV2_inst"
set source.parameters.oracleHome="apps/tech_st/10.1.3"
set source.parameters.targetSystemDatabaseDomainName="kolibero.local"
set source.parameters.targetSystemDatabaseServerNode="ebstrg10"
set source.parameters.targetSystemHostname="ebstrg20"
set source.parameters.targetSystemPortPool=1
set source.parameters.targetSystemSid="VISDEV2"
set sourceConfig.name="VISDEV2 appsTier"
set sourceConfig.path="/data/u01/oracle/VISDEV2"
set sourceConfig.repository="ebstrg20.kolibero.local/builtin:ebs-app"
commit
Execution of the script takes 14 minutes and new EBS life is born.

Delphix - New EBS virtual target objects created


New EBS R12.1.3 Life

Conclusion

  • It is very easy to prepare Delphix CLI script to clone EBS environments
  • The script is self documenting
  • The script can be adjusted for automation

Update, 2015-12-11
Current fixed version of scripts available on GitHub here: https://github.com/goliasz/delphix-cli-ebs