Exalytics and the “Secret Sauce”

February 6, 2015 1 comment

Just getting back from Kscope15 where I saw most of the familiar blog folks (in no particular order): Glenn Schwartzberg, Cameron Lackpour, Tim Tow, Tim German, Francisco Amores, Sarah Zumbrum, Celvin K, and John Goodwin.

Cameron convinced several of us a second book was a good idea after swearing after the first one (perhaps literally) that it was too much like herding cats.  Queue the EDS Super Bowl Cowboy video.

Start your engines!

exalytics_fastI  was lucky enough to get Chapter 1 again — I debated this with Cameron that my chapter wasn’t really on Hybrid and the Hybrid chapter should start the book with a sub-title having Hybrid in the name.  He suggested without the hardware you couldn’t do anything else so it should be first.  I didn’t fight back too much.

My content in this edition is really focus Exalytics and also a dive in to the “Secret Sauce”.   You will find some excerpts here and good information.  Glenn suggested it was a little too pro Exalytics however I do believe the newest machines the X4-4, X5-4, and T5-8’s perform extremely well and have features such as the background writes allowing better performance than ever on what were traditionally slower disk subsystems.

Read on for a sample of what you will find near our OOW15 release of the book.

The Exallytics machines have some impressive hardware.   They say a picture is a thousand words so let’s look at what we have:

exalytics_insidePretty cool eh?  My only complaint here is they are a bit pricey which can lead to some forced odd architectures when someone buys two of them and only places one in production.   I’m convinced you really need at least two in production in order to have high availability.  I’ll be lobbying for an X5-2 flavor in another post which would be better suited for some customers.

So what’s the “Secret Sauce”?  It comes in three flavors.

Exalytics First Software – These are enhancements which will make it to the commodity flavors of software

Exalytics Restricted Software – These are enhancements delivered both on Exalytics and commodity however Exalytics flavor has more power e.g. FIXPARALLEL is restricted to 8 threads on commodity and unrestricted on Exalytics

Exalytics Specific – These are enhancements which use the Exalytics hardware itself and not delivered to commodity.

So what exactly can we expect these type of enhancements to do for us?

If you are focused on speed check out the exact same hardware with and without the acceleration flag.  Physical disk gets a huge boost and Flash with the flag enabled is faster than RAM without the flag.

exalytics_compareDo you have Exalytics questions?  Feel free to reach out.


John A. Booth

Company: Infratects http://www.infratects.com
Categories: Exalytics

Just Scrub It!

July 14, 2015 Leave a comment

While working on an ASO optimization problem we need to use the full data set however have it be scrubbed. Based on client preference I went down the MS route and started using Regular Expressions in VB Script.  This quickly became a frustrating exercise as these “Regular Expressions” do not work like those of Perl or other real Regular Expressions. The goal is to replace all numeric data with a hard-coded one — 9.0 in this instance.

Update: Oracle Ace Tim German relates if you happen to have Essbase 11.1.2.4 you can also use MaxL to export anonymous data.

So with Microsoft “Regular Expressions” 3.1459 became 9.0 9.0 9.0 — whereas implementing the same logic in Perl gives the expected 9.0 Working code below:

# Scrub.pl
# Author: John A. Booth
#
#USAGE: 
#	perl scrub.pl <FILEPATH>
# e.g.
#	perl scrub.pl C:\data\asodump.txt
#
#	creates C:\data\asodump.txt.scrub
#
# Converts every numeric value to 9.0
# 

if ( $#ARGV==0 && -f $ARGV[0] ) {
    open(INFILE,$ARGV[0]) || die("Could not open input file");
    open(OUTFILE,">$ARGV[0].scrub") || die ("Could not open output file");

    while(<INFILE>)  {
        s/\s[0-9]+[\.]*[0-9]*/ 9.0/g;
        print OUTFILE $_;
    }

    print "\n";
    print "Created file $ARGV[0].scrub\n";
    close(INFILE);
    close(OUTFILE);
}
else {
	if ($#ARGV==0) {
		print "\n";
		print "Cannot find input file $ARGV[0]\n"; 
	}
    else {
        print "\n";
        print "Usage: $0 input.txt\n";
    }
}

Get Hyper Smart!


John A. Booth
Company: Infratects http://www.infratects.com
Categories: Just make it work

Oh Hybrid what license do I need?

June 30, 2015 Leave a comment

There is quite a chain on Network 54 Essbase forum regarding Hybrid.

If you haven’t heard yet Hybrid is the future of the Essbase OLAP engine combining the Block Storage and Aggregate Storage Engines together for the best of both world.  The 11.1.2.4 release is the best place to begin your Hybrid journey.  Currently cross-dimensional operators force the engine from Hybrid mode back to full Block Storage mode — we are told a forth coming patch will address this soon.

So back to licensing.

Products which confer ASO usage also confer Hybrid Usage.   Expect future licensing documents to clarify this better.

To use Hybrid (for real) in Planning on-prem your planning users of the app where Hybrid is enabled need one of the following licenses:

  • Enterprise Financial Planning Suite
  • Project Financial Planning Module
  • Public Sector Planning and Budgeting Module
  • BI Foundation Suite
  • Essbase Plus

The always handy EPM Licensing Guide documents which products give Aggregate Storage (ASO) rights.

Planning and Budgeting Cloud Services (PBCS) will have Hybrid enabled sometime in the August to October CY15 time frame.

Get Hyper Smart!


John A. Booth

Company: Infratects http://www.infratects.com
Categories: Essbase, Licensing

X5-2 Please, subtitle – Smaller may be better (for some companies)

June 26, 2015 Leave a comment

What I really want for Christmas (or Easter) is Exalytics X5-2 (a cry out to product management)

At Kscope15 this year we see Oracle is talking about the newest model in the X series of Exalytics the X5-4. The X5-4 is the bigger brother to the X4-4. Both the 4-4 and 5-4 have three variable clock speeds under loads — this means under low load the CPU’s (cores) operate at a higher speed and under the largest load at a speed which allows the chip to not over-heat.  They are both use Intel Xeon E7-8000 series of processors.

So why smaller John?  Isn’t bigger always better?  The challenge is when a company purchases two Exalytics machines and places  one and only one one Exalytics box in production. High availability is not an option at that point in time.  You can do some interesting architectures mixing Exalytics and non-Exalytics however the products you put on Exalytics in a given environment need a separate Exalytics to maintain availability.    Ideally your QA/Staging area is also the same architecture as your production environment to facilitate test of load, patches, and assure you that the test in your non-production equates to a like behavior in your production environment.

The infrastructure consultant is now brought in and we cringe that you have one physical machine (basket) with all your applications (eggs) in a given environment.

It makes for an unhappy Easter Bunny if he drops that critical basket and there isn’t another basket ready to run with.

What am I asking for?

Let’s have two half size Exalytics servers that are used to form a cluster (always) in a given environment. This 36 core hypothetical X5-2 Exalytics server can have 4 virtual machines on it for a total of 8 virtual machines across two servers in a given environment.

Web apps are clustered across each equally, enterprise WebLogic is licensed for those OBIEE users who want high availability.   For Essbase one node is active and one passive.

Check out the Oracle Database Appliance X5-2 – one of these with 768GB of ram in each node and we are good to go!

Do you have Exalytics questions? Feel free to reach out.

Read another Exalytics post


John A. Booth

Company: Infratects http://www.infratects.com
Categories: Exalytics

Password Attack

June 26, 2015 Leave a comment

Dusting some things off here post Kscope 15.  This doesn’t look like it saw the light of day.

As an aside 11.1.2.4 still has the password should contain no special characters clause.  Do read the last few sentences if you use products requiring the repository creation utilities also (RCU) as it has some slightly conflicting requirements.

Some days I wonder about my chosen profession.   Typically it’s the days where nothing seems to be working right (usually a specific install more than the whole set of things).

What happens when you allow your clients to choose passwords?

I’ve ran into two situations in the last year on the 11.1.2.1 release where passwords which were chosen by clients caused pretty un-fun installation woes.

Situation 1: Within two weeks of the release of 11.1.2.1.  The 25 character password — if password complexity is good surely a longer password is more secure!

Outcome 1: The password worked mostly.   The mostly part is where it gets fun.  This happened to break down on the security import from the old system.  My philosophy is don’t try to test the bounds of the software testers as you will find something somewhere that doesn’t deal

Situation 2: I have recently began suggesting clients key in their own passwords so that they do not feel the need to immediately go through a password change procedure.   Sometimes we have passwords, sometimes we don’t.

Outcome 2: More recent on a 11.1.2.1 with all the latest patches at the time I came upon an issue where several products were not configuring and/or deploying as expected.  This was a well known configuration, full physical servers, and after three re-installations one of which I decided to put in my own password.  Oddly enough the password I selected worked which didn’t contain <, >, %, &, ‘, “, or _.   Most of those characters if not escaped properly cause issues with SQL statements.  The ampersand and greater than/less than symbols cause issues for systems not escaping or converting for web.

To cap this off the Oracle RCU (Repository Creation Utility) doesn’t like passwords starting with numerals.   You use the RCU for products like Oracle Data Integrator or OBI/BI Foundation Suite.

The 11.1.2.2 Rapid Deployment Guide for Essbase shows:

The 11.1.2.1 Rapid Deployment Guide for Essbase shows:


Company:     Infratects, http://www.infratects.com
Categories: Just make it work

Metavero EPM Starter (automation)

February 1, 2015 Leave a comment

This is a draft in process post.

Function Start_EPM_Service
{
param ($service_name, $server, $port, $Form, $Label)

$socket = new-object System.Net.Sockets.TcpClient("192.168.1.1", $port) 

# If there is no connection to port then catch the exception and continue.
trap {
continue
}

If(-not $socket.Connected) {
    Stop-Service $service_name
    start-sleep -Milliseconds 500;
    If (Test-Path C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\$server\logs\$server.log) {
        Remove-Item  C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\$server\logs\$server.log
    }
    Write-Host "Starting $service_name"
    
    $initial = 0
    #Start WebLogic Admin Server and wait for next RUNNING

    Start-Service $service_name
    $Label.Text = "Starting $service_name"

    do {
        $Form.Refresh()
        start-sleep -Milliseconds 150;
    }
    until(Test-Path C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\$server\logs\$server.log)

    do {
    $f = select-string -path C:\Oracle\Middleware\user_projects\domains\EPMSystem\servers\$server\logs\$server.log -pattern "BEA-000360";
    $i = 0
        do {
            $Form.Refresh()
            start-sleep -Milliseconds 150;
            $i = $i + 1
        }
        until ($i -gt 20)
    }
    until ($f.count -gt $initial)

    $Label.Text = "$service_name started and online"

    do {
            $Form.Refresh()
            start-sleep -Milliseconds 150;
            $i = $i + 1
        }
        until ($i -gt 20)

}
else {
    Write-Host "Service $service_name already started."
    $socket.Close() 
}
}

# Show message box popup and return the button clicked by the user.
function Read-MessageBoxDialog([string]$Message, [string]$WindowTitle, [System.Windows.Forms.MessageBoxButtons]$Buttons = [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]$Icon = [System.Windows.Forms.MessageBoxIcon]::None)
{
    Add-Type -AssemblyName System.Windows.Forms
    return [System.Windows.Forms.MessageBox]::Show($Message, $WindowTitle, $Buttons, $Icon)
}

[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")

$Form = new-object Windows.Forms.Form
$Form.Text = "EPM Starter"

$Label = New-Object System.Windows.Forms.Label
$Label.Text = "Starting"
$Label.AutoSize = $True
$Form.Controls.Add($Label)

$Form.BackColor= [System.Drawing.Color]::White

$pictureBox = new-object Windows.Forms.PictureBox

$pictureBox.Width = 141
$pictureBox.Height = 141
$Form.width = $pictureBox.Width + 120
$Form.height = $pictureBox.Height + 90

$point =  new-object System.Drawing.Point(50,30);

$pictureBox.Location = $point

$pictureBox.Image = [System.Drawing.Image]::Fromfile("C:\scripts\loading.gif")
$Form.controls.add($pictureBox)

$buttonClicked = Read-MessageBoxDialog -Message "Load SOA for Close Suite?" -WindowTitle "Got Consolidations?" -Buttons YesNo -Icon Question

$Form.Show()

if ($buttonClicked -eq "Yes") { 
    Start_EPM_Service Oracle_AdminServer AdminServer 7001 $Form $Label
    Start_EPM_Service Oracle_SoaServer soa_server1 8001 $Form $Label
}

Start_EPM_Service HyS9EPMServer_epmsystem1 EPMServer0 9000 $Form $Label

$Label.Text="Metavero EPM Test Drive Started, Enjoy!"

$point =  new-object System.Drawing.Point(10,20);
$pictureBox.Location = $point
$pictureBox.Width = 193
$pictureBox.Height = 47

$pictureBox.Image = [System.Drawing.Image]::Fromfile("C:\scripts\metavero.gif")

$tagLine = new-object Windows.Forms.PictureBox
$tagLine.Image = [System.Drawing.Image]::Fromfile("C:\scripts\tagline.png")

$point =  new-object System.Drawing.Point(8,77);
$tagLine.Location = $point
$tagLine.Width = 241
$tagLine.Height = 133
$Form.controls.add($tagLine)

$i = 0
        do {
            $Form.Refresh()
            start-sleep -Milliseconds 150;
            $i = $i + 1
        }
        until ($i -gt 100)

$Form.Dispose()
$Form.Close()
Categories: Uncategorized

EPM Test Drive Quattro

January 27, 2015 3 comments

Do you want to get your feet wet with Oracle’s EPM 11.1.2.4 however dread the long download time for the gigabytes of files or don’t have a server handy?

Oracle allows for use of their software for evaluation and prototyping in non-production environments with minimal restrictions and one of the easiest ways to take advantage of this is a cloud environment.

Cameron Lackpour and I embarked on the AWS cloud journey in late 2010 as on-demand servers for the KSCOPE labs.   A bit later I put out the first Metavero EPM Test Drive instance for 11.1.2.1 and later one for 11.1.2.2.   Being quite busy I skipped the 11.1.2.3 release and promised to get 11.1.2.4 hour on Day 1 (which I did).  I’ve refined it a few days late and am very happy with the result.

This is the first EPM Test Drive on Windows Server 2012 and Oracle 12c Enterprise Edition using IIS as the web server.  Control-ESC is your friend here on Server 2012.

There is now a GUI starter for a few key services which is needed to ensure startup order for the Close Mangement products (AdminServer, SOA, and then EPM in that order).  Several items start automatically.   This release is using the Oracle database so do be sure to use the shutdown command I provide on the desktop to avoid any corrupted databases.

Cameron has an article on this image.  Tim German should have something up soon on his blog.

I’ve put together a basic installation which includes most of the media downloads and the following products already deployed:

  • Close Suite (HFM/FCM/ARM)
  • Data Relationship Management
  • EPMA and Calculation Manager
  • Essbase Studio
  • FDM EE / ODI Studio
  • Financial Reporting Studio
  • Planning and Essbase

You may kick the tires and also deploy some of the other products already there or download and install anything else!

NOTE: This AMI is in no way intended for any production purposes and using it for such is against Oracle licensing rules.

For those of you who are Amazon EC2 savvy I’ve installed and deployed several of the products on the cloud; check out:

Use the Amazon US East Region to locate the AMI below.

AMI: ami-44e3a32c – epmtestdriveiv – Metavero 11.1.2.4 Hyperion EPM Test Drive; use c4.2xlarge instance (< $1 / hour)

Windows: epmtestdrive, epmtestdrive123
Shared Services: epm_admin, epmtestdrive123
Weblogic: epm_admin, epmtestdrive123
Oracle Credentials: sys / epmtestdrive123

NOTE: Remember to setup your security group to allow RDP (3389) and be sure to shutdown your Amazon machine when you don’t use.  < $1.00 / hour is inexpensive however can add up.  The image is set to shutdown at 03:00 central time each night just in case you forget.  Edit the task to change the shutdown time.

Use the below information and Cameron Lackpour’s nice walkthrough to get started.  Firefox works best with Amazon EC2.


John A. Booth

Company:     Infratects                http://www.infratects.com
Categories: Amazon Cloud
Follow

Get every new post delivered to your Inbox.

Join 41 other followers