Multiple OBIEE Environments

Adrian Ward | Mar 10, 2010 02:49 +0000

For any large OBIEE project the normal set-up would involve having a development machine, a test machine, Production machines and some form of disaster recovery. These normally need to be on separate physical machines, mainly for access rights reason and of course the DR machines need to be in a separate building (hopefully in a separate city!)

Did you know that you can have multiple OBIEE environments, but without buying new boxes?

Why do I need multiple Environments?

I am not suggesting that development and Production are on the same box, but there are situations that demand environments, such as:

Multiple Projects - The success of many a good OBIEE project will often lead to other departments in the organisation wanting in on the action. Rather than build a whole new development, UAT and Production box you can just add more services to the existing one.

Clustering - although you often cluster for performance, you should also cluster for availability. The normal process is cluster over two or more boxes, but you can also cluster on the same box across users.

Development Cycles – Sometimes you need to create and test a version of your config (rpd /webcat) for a particular release, but carry on developing for the next release. This calls for multiple development environments.

Integration Testing - You can create your repository, but will it work in UAT and production, particularly if they have SSO and your dev environment does not? I prefer to have a pre-UAT environment in place for Developer testing, or internal testing teams to use.

Sandbox - The last thing you want is for all developers to use the same master development repository to implement new models or methods. Get the developer to work on their own copy, or new one, in a separate area to prove that it works.

Worldwide Development – I am not a big fan of MUD. It will work in certain situations, but you normally find that someone hogs the lock on the master repository. The main issue is new business models. One way around this is to have a master repository and have developers around the world use a copy to build their sections, then merge in their changes when they are tested.

Production Support – In a controlled environment the developers do not have access to production (I normally set the production rpd to read only just in case!)

Demo Site – To help your users understand what is possible you can install the sample sites and give all your potential users access.

Training Site – To support training you often need to build a separate environment. You may not want the hassle of whole box to do this on.

How Do I Create Multiple OBIEE Environments?

Linux

On a Linux box you can install multiple environments into individul user accounts. There is no need to use vitualisation.

When you install a new OBIEE into a separate user you need to make sure that OC4J is not running. Other than that it is a normal simple installation.

After install you have to update all the ports in the system, making sure that you have the correct settings for BI Server, Presentation server, Javahost and graph server. The most important thing is to make sure you do not create spaghetti! Keep a central document on the environments and all their ports.

You can then update the cluster settings as normal, and put the webcat into a shared area for clustering.

We have created a script that does a silent installation and updates all the ports numbers.

Windows

Now there’s another story! My advice is stick to Unix or Linux for now. In theory you can create multiple services to run but I havn’t tried it yet. The simple solution would be to use virtualisation.

If you give it a go let me know how you get on.

Bringing order to a chaotic work day

My usual day started with early morning meetings, catching up on email, looking up my memory for the to-do tasks and following up with my team by writing more emails, participating in meetings, and resulting in more emails.

As you can imagine, it was pretty hectic, a reactive work style and of my own doing. However much I tried to come out of it, I sunk in further so decided to take help from the “Productivity” class – one of the cool benefits of working @ Oracle is the access to a wide-variety of development tools (ok – I had to put in my compliments for Oracle somewhere :-) )

My style is now “task based” and its simple –

  • I am writing down all tasks – work and personal (using Outlook) with the goal of not relying on memory.
  • I have set myself a frequency on checking mail (every 1 hour)
  • I am now quickly processing the mail and dividing into 3 buckets
    - If it can be replied quickly in 1 min or less, do it immediately.
    - If it needs an action or following up with someone, create a Task for it and set a Start Date and Due Date. The tendency is to focus more on Due Date but at the same time “Start Date” is critical, as setting it correctly based on the work load for today / tomorrow and the current week, will determine how successfully I will get to it and complete it.
    - If it’s a FYI mail, move it into an archive folder and rely on “search” tools to find it later
  • All I am now focused is to get the Tasks done and yes – writing this blog post was a task for Today.

I now have a “0” mail Inbox and a healthy list of 30 tasks that I need to do this week.

The added benefit of having Tasks is that I can now lookup my Tasks for the last week and send my Goals mail (which is the work I did last week + work to do this week) to my team. For some of the larger tasks – I can also pull them easily into my performance review document

My team is also following this approach, and as a result, we are all now competing with each other to show who is more productive. And, just the fact that, I have come out of a 2 year blog hibernation shows how happy I am with the new “me”.

What about you ? Do you have any productivity tips to share ?


sec_return_server_release_banner Secure by Default?

Hello World, Congratulations to Sentrigo for being nominated again in the SC Awards in the US for Hedgehog. http://www.scmagazineus.com/scawards2010-finalists/section/1309/ Just came across an ex-colleague from Pentest Ltd named Simon Fletcher who has started a blog on Oracle Security. http://blog.fifteentwentyone.co.uk/2010/02/sql92security.html Nice post and good luck with the new blog. Oracle config issues like these are interesting for already very highly secured [...]

Lofty goals

Meg Bear | Mar 5, 2010 15:43 +0000

I love my Tivo.

I think it’s the best invention of it’s decade and a close second to the remote control, as being the most useful invention of my lifetime.

I love it not so much for it’s technology, but for it’s simplicity.  The idea was so simple, all the technical pieces we readily available, and yet it changed the way we watch television forever.

Tivo changed my relationship with television, and in doing that,  it changed my expectations of television.  If it’s true that television has more to do with our generational divide than date of birth, we should expect that we haven’t seen the real result of the impact of Tivo yet.  That’s pretty cool for such a small company.

When I think about what I want for our own industry, I really want the same thing.  I want to change the way we think about systems and business.

I want to change how we look at people in business.

I want to bring the human back to human resources while also making business work better.

I want to realize the statement Laurie said about me.  I want to make work better.

The landscape of business is becoming more complex every day.  Social norms, expectations and markets are all changing.  Rapidly.

Global isn’t an idea, it’s a business imperative for big companies.  Companies are having to make bigger decisions with less insight since management by walking around is a lot harder when you have to walk across an ocean.

We need a new relationship between systems and business and I for one, think that it’s about time.  It all starts with lofty goals in my world.


The Poetry of Wisdom in Oracle Documentation: E.g. PPR and List Of Values

frank.nimphius | Mar 5, 2010 04:48 +0000

Our ADF Faces documentation contains little nuggets of poetry and wisdom that are easy to memorize helping you to better understand the product – and answer questions on OTN with it. For example, today I found and liked:

Note: If your trigger component is an inputLov or an inputComboBoxLov, and the target component is an input component set to required, then a validation error will be thrown for the input component when the LOV popup is displayed. To avoid this, you must use programmatic partial page rendering.

Note: In some cases, you may want a component to be rerendered only when a particular event is fired, not for every event associated with the trigger component, or you may want some logic to determine whether a component is to be rerendered. In these cases, you can programatically enable PPR.

Excellent !

Frank

Want to dig your own nuggets? here is the documentation: Looking forward to read your blogs and tweets with your favorite quotes.

French Translations

I’ve just had another email about translating some of my postings, in this case into French. Franck Pachot has asked if he can post translations on his blog, and the answer is yes. His intention is to select the postings which are more about how the database engine works, rather than examples of specific solutions, and [...]

RANK v DENSE_RANK v ROW_NUMBER

I was asked a question by one of my users about the difference between the RANK and ROW_NUMBER analytics yesterday, so here is a post on it…

RANK, ROW_NUMBER and also DENSE_RANK are very useful for taking a set of rows and ordering them in a defined manner, whilst giving each row a “position value”. They differ based on the approach taken to define the value of their position in the set of output rows. In some circumstances, they may all give the same value however, dependent on the data, they may differ.

An example based on the SCOTT.EMP table, helps to illustrate…

SELECT empno
,      sal
,      RANK() OVER(ORDER BY sal) rank_position
,      DENSE_RANK() OVER(ORDER BY sal) dense_rank_position
,      ROW_NUMBER() OVER(ORDER BY sal) row_number_position
FROM   emp
/

which returns, on my 11gR1 database…

EMPNO        SAL RANK_POSITION DENSE_RANK_POSITION ROW_NUMBER_POSITION
---------- ---------- ------------- ------------------- -------------------
7369        800             1                   1                   1
7900        950             2                   2                   2
7876       1100             3                   3                   3
7521       1250             4                   4                   4
7654       1250             4                   4                   5
7934       1300             6                   5                   6
7844       1500             7                   6                   7
7499       1600             8                   7                   8
7782       2450             9                   8                   9
7698       2850            10                   9                  10
7566       2975            11                  10                  11
7788       3000            12                  11                  12
7902       3000            12                  11                  13
7839       5000            14                  12                  14
14 rows selected.

Notice that RANK has given the two employees with SAL = 1250, the same position value of 4 and the two employees with SAL=3000, the same position value of 12. Notice also that RANK skips position values 5 and 13 as it has two entries for 4 and 12 respectively. RANK uses all numbers between 1 and 14, except 5 and 13. RANK has both repeats and gaps in it’s ordering.

DENSE_RANK is similar to RANK, in that it gives the two employees with SAL=1250, the same position value of 4, but then it does not skip over position value 5 – it simply carries on at position 5 for the next values. DENSE_RANK uses, for the position values, all numbers between 1 and 12, without leaving any out, and using 4 and 11 twice. DENSE_RANK has no gaps in it’s ordering, only repeats.

ROW_NUMBER gives each row a unique position value and consequently uses all the numbers between 1 and 14. ROW_NUMBER has no gaps or repeats in it’s ordering. Note that the position value on ROW_NUMBER is not deterministic, since the ORDER BY clause only has SAL in it. If you want to ensure the order is the same each time, you need to add further columns to the ORDER BY clause.

SQL Server 2

Following on from my posting about the presentation (about Enterprise databases) that I did at a Microsoft event on SQL Server 2008, I’ve just had an article on how to design efficient SQL published on a website that’s strongly biased towards SQL Server developers – using an example of SQL written in the SQL Server dialect. It’s [...]

Congratulations Amy on an outstanding TEDTalk

Meg Bear | Mar 3, 2010 20:33 +0000

While I didn’t get to go to the talk I did get to hear people raving to Amy about how interesting it was (and ask a lot of questions about Paul!).

Her photo was in regular rotation during the breaks at TEDActive.  So now, not only can she forever say that she gave a talk at TED, she was also a prominent background for others TED memories as well.

Yes, I’m consumed with jealousy and pride.    Awesome stuff Amy, you rock girl!

photo credit: Jenny Yang


Carnival of HR – The Hangover Edition

"Tigers love pepper. They hate cinnamon."

Here it is!

Have you ever had that moment in an organization where you or someone stops and says:

  • “Wait a minute, how did we get into this spot?”
  • “Doesn’t [Joe/Sally] know how that works? Has anyone seen them?”
  • “Why are we doing things this way?”
  • “Didn’t we just experience this very same thing last [week/month/quarter/year/decade]?”

Maybe it’s happened a lot. Well, you’re not alone! This is what you might call, “The Hangover Effect.” You wake up, or you hear about a problem, or you find yourself in the middle of a crisis, or you come out of a meeting, and it’s pretty clear things aren’t right at a deeper level, yet no one really knows what happened or how. If you saw “The Hangover”, it might resemble that feeling the main characters had when they woke up and could not explain their current situation whatsoever. They were virtually amnesiacs.

We asked last week for posts about this theme (and posts outside the theme as well) and we did get some! A heartfelt thanks to all the contributors and to Shauna for allowing us to host the carnival. So here they are – enjoy!

  • Prasad Oommen Kurian’s Accelerated learning and Rites of passage looks at the “Hangover Effect” in attempted role transitions and behavioral changes. It  explores the possible “medicinal value” of “rites of passage” and “rituals” in dealing with hangovers related to the previous roles and previous patterns of behavior.
  • Cathy Missildine-Martin had a serious hangover from dealing with a company that does not focus on the customer and describes How Culture Leads to Profits.
  • Bryon Abramowitz hits home on how some hangovers can last an incredibly long time in The HR Technology Hangover. Bonus: it also comes with a terrific graphic Bryon found.
  • Humor at work? We can’t do that? We’re a serious business… Drew Tarvin tackles 5 myths of humor at work that are left over from the old way of doing business.
  • Kevin Eikenberry shares his insight in Coaching Matters, conveying its value in a “you don’t know what you’ve got ’till it’s gone” sort of way and its universality in how we all have something to offer here.
  • Wally Bock shares 4 Reasons Why Being a Boss is Not an Olympic Event. Olympic athletes are fun and inspiring to watch. But they’re lousy role models for a boss. Everyone else takes their chances. And everyone pretends they don’t notice the cameras.
  • Melissa Prusher spends Ten Minutes with Gerry Crispin, Industry Expert where he shares recruiting trends to watch in 2010 and how recruiting differs around the world. Read on to learn some best practices for recruiting in different cultures and how to effectively use social media to attract high performers.
  • Susan Heathfield covers the Unpredictable (Predictable) Consequences of Unemployment. The emotional, mental, familial, workplace, and societal consequences of the current level of unemployment will have a profound and lasting impact on the lives and prospects of millions. A whole generation will discover that life isn’t exactly what they (or their parents) prepared them to experience.
  • Steve Boese talks about Real Excitement describing how true enthusiasm for a brand or an organization looks and feels, from the setting of an English football match. Faking enthusiasm certainly can be tried, but it will not endure.
  • Erik Samdahl sent in a post by Mark Vickers that points out the difficulty companies can have in “walking the talk” and provides concrete advice for overcoming it in Serious About Sustainability in 2010.
  • Mark Stelzner sends a powerful and inspiring (and sometimes daunting) message to all in You Are HR.

Photo by deVos

shares recruiting trends to watch in 2010 and how recruiting differs around the world. Read on to learn some best practices for recruiting in different cultures and how to effectively use social media to attract high performers.


Patch for SQL Developer 2.1 released

Olivier Dupont | Mar 3, 2010 08:23 +0000

Just noticed that a patch is released for SQL Developer 2.1. From the Oracle website:

Oracle SQL Developer 2.1.1 is a patch release to SQL Developer 2.1, which was released in December 2009. This patch release resolves a number of the issues raised and addresses a few additional feature requests raised on the SQL Developer Exchange.

You can download it here.


Arab Oracle User Group is online

I have just found the website of the Arab Orcale Usergroup

I was not aware that they are already online.

Congratulations!!!

=;-)

LH


APEX 4.0 for Early Adopters in phase II

Today I have received a notification from OTN that APEX 4 for Early Adopters is in testing phase II now.

It is possible to request a workspace now.

The documentation is still not available yet, instead the online docs for APEX 3.2 are linked.

Let’s test it.

=;-)

LH


Pay for Performance is Dead … almost

No, this is not an ironic critique of current pay budgets or of corporate performance, in general, in the current economy.  Rather, I am seeing several signals suggesting that the pay for performance model that we’ve touted in the past might need a serious makeover.

First, there’s the research in behavioral economics.  In Drive, Daniel Pink explains how the old operating system of motivation (carrots and sticks) isn’t compatible with contemporary business.  In the industrial age, the focus was on routinizing tasks and getting them done quicker and cheaper.  Meanwhile, in today’s creative age, rewards can transform interesting work into drudgery.  The reward itself can signal to the individual that the work is not enjoyable.  It stamps out the inherent intrinsic motivation and creates reward addicts.  With the problems of today’s world, we need more creative and strategic workers, not cogs in a machine.

In Linchpin, Seth Godin also describes this new world of work and how today’s organizations need people who bring humanity, connection, and art to their work.

Meanwhile, Daniel Kahneman (known as the inventor of behavioral economics) recently spoke at TED about happiness.  He had some good data that indicates a certain threshold after which money does not affect happiness.  And it is not particularly high.

Second, there’s a push in many leading organizations to re-frame the performance process – focusing on developing individuals for the future, rather than rewarding the past.  For example, many of the customers I speak with are purposely separating performance discussions from compensation discussions.  Performance appraisals of the past (tied to a score and dollar amount) have been found to be de-motivating and not particularly good at increasing performance (which is the point, right?).

So what does all this mean? Should we eliminate the compensation function altogether?  Figure out fair market pay and ignore the rest?

No, but we need to rethink our “signals” with regards to compensation.  Here are a few suggestions:

  • Let’s make sure we’re not disincenting our talent via compensation.  We need to figure out what that threshold (happiness/engagement) is and make sure everyone providing any value is paid to that level.
  • Let’s only pay performance-based incentives for activities that we deem routinized and, frankly, unappealing (yet are necessary and important).  We need to be honest about what the incentive signals and what kind of behavior will result.
  • Let’s reward creative and “linchpin” behavior with more opportunities and lots of appreciation.

Have I gone mad?  Maybe … but it’s hard to ignore some of these signs.  Fire back with opposing arguments.


Temporary Note

… to let peopl know that there’s a new item on the “Chinese Translation” catalogue.

E-Business Suite Security and DBMS_LDAP.INIT

Hi Folks, Vulnerability in E-Business Suite R12 requires non-default diagnostics mode so Low risk. http://www.securityfocus.com/archive/1/509460 Having said that it is worth keeping an eye on Internet facing Oracle applications, though there is not a huge amount on this from O’Reilly and Apress. Google books has a relevant book free of charge named “Security, Audit and Control Features Oracle E-Business [...]

SQL Injection

One of the members of the Oak Table Network sent me a link to an article about Websites and SQL Injection a couple of days ago. It’s a simple little story and though I’m always a little suspicious of believing every article I read on the Internet, I can’t help thinking that this one is probably [...]

Tom Kyte

It’s an old posting, but I came across this item a few days ago where Tom Kyte has listed URLs to several of the useful utilities that he has published on the Internet. (I’m hoping the print_table() routine will appear on the list  some time soon. It’s disappeared from the link I used to have for [...]

Chinese Translation

A DBA from China has asked if he can translate some of my material for publication on his blog, and I’ve given him the go-ahead – provided he emails me each time he publishes a piece.  There’s a new link in the panel to the right that takes you to a catlogue of the pieces [...]

Self Appraisals in the first grade

Meg Bear | Feb 26, 2010 16:45 +0000

Several people I work with attended an interesting training here at Oracle.  It was a course designed to give you tips on how to do presentations to executives.  I heard some key themes included: being on message,  brief,  in control, prepared, etc.

Most importantly,  you should make sure you talk about things they care about (not what you care about) and in words they use.

It’s not just that you shouldn’t use jargon, you should be purposeful in your intent to communicate your ideas from the point of view of the audience. Of course, this is always useful, but the higher the career stakes, the more you really want to get it right.

I have a been thinking about this for a few days now as I have a much harder task in front of me than a meeting with executives,  I have to present “what I do” to my daughter’s first grade class.

yikes.

Here is what I do.

Meetings, emails, meetings, emails, IMs, emails, reviewing reports, emails about reports, twitter, blogging, email, thinking, email, email about thinking, document review, email about document review, and so on…

pretty much email. That’s what I do.  Nothing very concrete there.  In fact, I’m sure there are a lot of people who do a lot of email and their jobs would be wildly different than mine.

Of course, I’m not really worried about putting this into first grade language.  I have regular access to a first grader, and I have a good idea what she does and does not understand (or care about). But I do realize that I need to be more specific about what is in the meetings and emails or I will confuse and bore them.

So as I was thinking about what exactly to talk about, I realized that her class is already familiar with the concept of performance feedback.  They do self appraisals every day. The class uses what they call  “Reflection sheets”* to capture when they do (and do not) show evidence of following the school rules (Respect, Useful, Listener, Ethical, Safe).  As you can see, it’s an optimized process for minimal paperwork with maximum utility.

As I work to define what I do in a way that is interesting and meaningful to a first grader, I realize that maybe what I really should be doing is recommending that business consider having more reflection sheets and less self appraisals.

I am finding myself especially fond of the useful one, I think that’s worth a second look.

__________________

*I could only get agreement to have a copy if I promised to black out her name