October 30, 2009

The state of OBIEE on the web

Filed under: obiee, rant — rmoff @ 11:06

An advance footnote

I’ll start this by saying why I think things are how they are, and then I’ll get to the meat of my article.

OBIEE in its current incarnation (v10.1.3) is a mature product. All the big bugs have been caught and fixed. All the known quirks are well documented. All the missing features are known. All the clever workarounds have been found. All the neat little hacks have been explored.

What’s left to talk about?

Where have all the good men (and women) gone?

The OTN OBIEE Forum has become a depressing place.

This is no forum of equals, sharing and discussing a joint interest in a product.

I would say that 90%, if not 95%, of posts are from beginners. Already I can hear the shaking of heads, but bear with me. There’s nothing wrong with beginners posting on forums. Everyone has to start somewhere. But the problem is — they then disappear. So instead of organically growing as part of a community and in turn becoming more knowledgeable and helping others with their problems they leave. This leaves a fresh batch of beginners with questions, yet the same people answering them (invariably growing more frustrated and cynical).

The second problem, and not limited to this forum, is that people don’t RTFM! They don’t search in Google, and they sure as heck don’t search the forum. Why should I spend MY time looking up something in the manual for someone just so that THEY don’t have to?

This maybe shows my age, but on Usenet (nntp:// !) the mantra was always to “lurk” first. You gained a feeling for the group, and you saw quickly what questions came up repeatedly. You read the FAQ, so that you didn’t post a Frequently Asked Question. That’s where FAQs came from – people ask the same question again and again.

Asking questions is brilliant. Asking questions is how one learns. Showing curiosity in something and exploring it is how one becomes truly knowledgeable. Answering those questions and thinking about them is how one learns more and proves ones knowledge.
Asking for the hundredth time why Presentation Services won’t start, if OBIEE is supported on a certain OS, how to configure a DSN on Linux, or how to implement SSO is not learning. It’s plain lazy. It’s asking someone else to do your job for you.
If you really can’t get Presentation Services to start, and you post up the full spec of your environment, configuration, and what you’ve tried already and with details of what didn’t work with all the symptoms, links to all the posts you’ve found and ruled out as being relevant to your problem and why — then, and only then, is it fair to be posting your question.

And finally, since when did a lack of manners become acceptable? If someone helps you out, it’s polite to say thank you. People constantly abandon threads yet go on to post new ones. It’s also important from a point of view of people searching (hah!) for previously answered questions. If a suggested solution has been acknowledged to work other people may try it. If a suggested solution has been met by a deafening silence then people may give it less credence.

To finish this section on a positive note, here’s an example of what I think the forum should be about. These are a couple of threads I’ve been involved with where it’s not been necessarily something documented, where there’s been a back and forth of diagnostics, where both sides have benefited from the thread

Silence in blog land

Related to the OTN forum is the decline in OBIEE blogging. Just as there’s no sparks of new ideas or problems being discussed on the OTN Forum, there’s not a lot being posted on the OBIEE blogs any more. It could be literally the case that everything that’s to write about has been.
If one looks at the blog archives of people like Venkat and John M, what else is there to be said, other than re-hashing the same points?
There are new blogs coming along (and I include myself in that, in internet years I’m extremely recent too), but there’s either not a lot to write about, very esoteric, or just re-working the same ideas.


I’ll say again what I did at the top of this posting.

OBIEE in its current incarnation (v10.1.3) is a mature product. All the big bugs have been caught and fixed. All the known quirks are well documented. All the missing features are known. All the clever workarounds have been found. All the neat little hacks have been explored.

On the horizon and (slowly) approaching is OBIEE 11g. It’s is already in a limited ßeta. Once it’s open to a more wide field (presumably those currently ßeta testing it are under NDA) there’ll be a whole raft of exciting new things to talk about and I would imagine things will pick up again

The future

A new OBIEE forum?

I think there’s a real need for a proper, moderated, OBIEE forum. The OTN one is probably beyond redemption. Much better to start a new one with clear posting rules, and as people stray gently bring them round πŸ™‚ No-one has time to herd cats (per the OTN forum), but the odd stray question can easily be redirected. A forum outside of OTN would also be free of its dodgy functionality and restrictions.
A well organised forum with little repetition will have less traffic to read through, and thus be much easier searched.
Registration would be mandatory, to reduce the number of people “fire and forgetting” their questions.
Even have a ‘waiting period’ after registration to reduce the number of “URGETN!!!!!” posts.

Volunteers? πŸ˜€


Over here it’s approaching the time of year when animals go into hibernation, and maybe some OBIEE bloggers are doing the same, ready to burst forth full of life once OBIEE 11g is available.

A real footnote

Maybe it’s the dark autumn evenings making me a grumpy old sod, and things aren’t as I make out. I’d be interested in people’s comments πŸ™‚

October 26, 2009

The mind boggles…

Filed under: silly — rmoff @ 16:46

I honestly don’t dare click the “Did you mean” link πŸ˜‰

obiee MUDE - Google Search_1256571930733

October 22, 2009

Troubleshooting OBIEE and ORA-12154: TNS:could not resolve the connect identifier

Filed under: obiee, oracle — rmoff @ 13:30

A frequent question on the OTN OBIEE forum is how to fix this error:

[nQSError: 17001] Oracle Error code: 12154, message: ORA-12154: TNS:could not resolve the connect identifier specified at OCI call OCIServerAttach.
[nQSError: 17014] Could not connect to Oracle database.

The error is simply OBIEE reporting that it tried to connect from the BI Server to an Oracle database and the Oracle client returned an error. Distilling it down gives us this error:

ORA-12154: TNS:could not resolve the connect identifier specified at OCI call OCIServerAttach.

This generally means one of three things:

  1. You’ve got the correct Data Source Name (DSN) in your connection pool configuration, but not in your tnsnames.ora file
  2. You’ve got the correct DSN in your tnsnames.ora but you’ve not updated the connection pool, or connection pools
  3. You’ve got the correct DSN in your connection pool and tnsnames.ora, but have multiple tnsnames.ora files and OBIEE is using a different one from the one you’ve got the correct DSN in.

To check your connection pool, open the RPD in Adminstration tool and go to the Physical Layer. Expand the Database, and double-click on the Connection Pool (if you’re not sure which one, then check all of them!). admintool1
In the connection pool check the Data Source Name and make sure it matches to what you have in your tnsnames.ora file:

To check your tnsnames.ora, first locate it. This ties in with the third point on my list too. Be aware that you may have several copies of this file, so make sure you’re opening the correct one.
I’ve not done extensive testing of this but until proven otherwise I would assume that OBIEE uses the tnsnames.ora in $ORACLE_HOME/network/admin/
$ORACLE_HOME should be set in [OracleBI]/setup/user.sh or your user profile. Note that it’s the home for the connectivity (usually client), not necessarily your DB.
Once you’ve located the correct tnsnames.ora file check that it has a valid entry for the DSN in your connection pool.
You should use the tnsping utility to validate it:

$tnsping ORCL
TNS Ping Utility for HPUX: Version - Production on 22-OCT-2009 12:38:33
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = myoracleserver)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))
OK (0 msec)

If you think you’ve eliminated these three possibilities then the next step would be to enable tracing in your Oracle Client so that you can see a bit more of what is going on.
Add this to your $TNS_NAMES/sqlnet.ora file:

trace_level_client = 10
trace_unique_client = on
trace_file_client = sqlnet.trc
trace_directory_client = /tmp

You don’t have to use /tmp, just make sure it’s a writeable directory with enough space.

Now run OBIEE until you get the error and inspect the .trc file you get in the directory you specifed (eg /tmp).
You’ll hopefully see something like this:

(42) [22-OCT-2009 11:12:32:271] nnftrne: Original name: VALUE_OF(OLAP_DSN)
(42) [22-OCT-2009 11:12:32:271] nnfttran: entry
(42) [22-OCT-2009 11:12:32:271] nnfgrne: Query unsuccessful, skipping to next adapter
(42) [22-OCT-2009 11:12:32:271] nnfgrne: exit
(42) [22-OCT-2009 11:12:32:271] nnfun2a: address for name “VALUE_OF(OLAP_DSN)” not found

In this case it showed I’d been an idiot and put VALUE_OF instead of VALUEOF. OBIEE was therefore trying to use the literal VALUE_OF(OLAP_DSN) instead of resolving the variable OLAP_DSN to the correct DSN to use.

Don’t forget to disable tracing as soon as you’ve finished with it, because you’ll impact performance and end up with big trace files filling up your disks.

October 21, 2009

Critical Patch Update – OBIEE vuln CVE-2009-1990

Filed under: bug, obiee, security — rmoff @ 11:54

October’s Oracle Critical Patch Update Advisory has been released. There are two vulnerabilities (CVE-2009-1999, CVE-2009-1990) listed under Oracle Application Server for “Component” Business Intelligence Enterprise Edition and one (CVE-2009-3407) for “component” Portal.

  • CVE-2009-1999 is OBIEE and “Fixed in all supported versions. No patch provided in this Critical Patch Update.”.
  • CVE-2009-3407 looks like only OAS (not OBIEE), up to versions and
  • CVE-2009-1990 is OBIEE and is the main vuln of interest. It’s unclear if it’s just OBIEE, or all versions of OBIEE through to and including It’s also confusing putting it on the same table as OAS especially given it has similar versioning (10.1.3.x.x).

For information about patches, see My Oracle Support Note 881382.1. This doc lists patches 8927890 and 8927886 for OBIEE and respectively. Since no other versions are mentioned that suggests it doesn’t affect them but that’d be a heck of an assumption to make and if I were running < I'd be raising an SR to seek clarification especially given the ambiguity of the table in the Advisory doc.

The patch (8927890 for / 8927886 for updates libnqsmetadata and libnqsexecutionlist libraries (dll / so), so installation should be simple (and thus backout too).

Watch out for the pre-reqs on 8927890, which list the same build ( as 8927886, even though it’s supposed to be for
You also need to shutdown BI Scheduler (nqscheduler), even though only BI Server is named in the readme.txt.

There’s no details on the vuln itself that I can find. The READMEs for each patch simply say “This patch fixes the following bug(s)” and lists the patch number (8927886 or 8927890). On MyOracleSupport there’s no results for these bug numbers except a JDEdwards bug (!). On Metalink2 each bug turns up but is not publicly visible.

OTN forum – “Pro”

Filed under: OTN — rmoff @ 10:23

w00t πŸ˜€

Yesterday I got my “Pro” medal for 500 points on OTN Forums

I’d been intending to post a grumpy rant about OTN recently, but maybe I’ll postpone that for a few days now πŸ˜‰


October 19, 2009

New OBIEE blogs

Filed under: obiee — rmoff @ 08:35

Two new blogs of note :

Both are well worth a read & following.

October 16, 2009

BI Server hung – nQSError 14054 / 15001 / 23005

Filed under: obiee — rmoff @ 10:43

Watch out if you are using init blocks in your RPD. We hit a bug (#9019374) recently that caused BI Server ( to hang.

The init block in question should have returned a date to update a repository variable, but because of badly-written SQL and abnormal data in the source table actually returned a null value. BI Server evidently didn’t like this null being inserted somewhere where it shouldn’t have and understandably logged :

[14054] Unable to load subject area: Core.[nQSError: 15001] Could not load navigation space for subject area Core.
[nQSError: 23005] The repository variable, LAST_REFRESH_DT, has no value definition.

Instead of invalidating the subject area Core and continuing as normal (which is what it should do), it hung and had to be killed forcefully (kill -9 nqsserver).
We fixed the init block SQL to exclude the NULL value, and restarted BI Server successfully.

The hang was worse than a crash because diagnostics are harder since it’s less clear what the problem is immediately as nothing’s “broken”, things just aren’t working right. The symptoms we got were

  • Users already logged in found dashboards or answers weren’t working (no errors, just no response when items clicked on)
  • Admin Tool hanging after a short period of time when connected to the server.
  • Users who weren’t logged in getting stuck at the OBIEE β€œLogging in” screen.

It’s always interesting with these kind of problems looking back on the initial diagnosis. With hindsight, it’s obvious why this caused a problem, but at the time we were scratching our heads. How could our server suddenly have stopped working, when we’d not changed anything for weeks? But of course something had changed: the data! Our init block refreshed hourly, and the data it read from had changed since it refreshed the previous hour.

So lessons to take away are:

  • Don’t write SQL that can return NULL values – never mind if “the data should never be null” – if it CAN then it MIGHT, so code for it!
  • If something’s “suddenly” stopped working, remember to think about less obvious factors like init blocks

Update 12th Feb 2010: Another bug’s been raised on the back of this: BUG 9358471 – REPOSITORY VARIABLES INIT BLOCK SQL SHOULD HANDLE NULL CONDITIONS

Heads up – Critical Patch Update affecting OBIEE

Filed under: bug, OAS, obiee, security — rmoff @ 09:40

The Critical Patch Update Pre-Release Announcement for October has been published. The pre-release is advance notice of the affected software prior to release of the quarterly Critical Patch Update. It is published on the Thursday prior to the patch releases (which was postponed by a week because of OOW).

It looks like if you’re running OBIEE or through OAS then you should check back next Tuesday 20th for details.

Paraphrasing the announcement:

Security vulnerabilities addressed by this Critical Patch Update affect the following products:
β€’ Oracle Application Server 10g Release 3 (10.1.3), versions,
β€’ Oracle Application Server 10g Release 2 (10.1.2), version
β€’ Oracle Business Intelligence Enterprise Edition, versions,
Oracle Application Server Executive Summary

This Critical Patch Update contains 3 new security fixes for the Oracle Application Server. 2 of these vulnerabilities may be remotely exploitable without authentication, i.e., may be exploited over a network without the need for a username and password. None of these fixes are applicable to client-only installations, i.e., installations that do not have an Oracle Application Server installed.
The highest CVSS base score of vulnerabilities affecting Oracle Application Server products is 4.3.

The Oracle Application Server components affected by vulnerabilities that are fixed in this Critical Patch Update are:

* Oracle Business Intelligence Enterprise Edition

More details from the Oracle Critical Patch Updates and Security Alerts page.

[update 21st October]
Details here, patch is for BI Server so presumably the application server is irrelevant

October 12, 2009

New OBIEE benchmark – 50,000 users

Filed under: obiee, performance — rmoff @ 14:05

A new OBIEE benchmark has been published by Oracle. It’s on the same hardware as August’s benchmark – Sun T5440s. Anyone would think that Oracle like Sun πŸ˜‰

Details here

Numbers added to my collation post here

OBIA released

Filed under: informatica, obia — rmoff @ 07:47

The latest point release of Oracle Business Intelligence Applications,, has been released and is available for download from here (direct link to download).

The version.txt reports the version as:

Release Version: Oracle Business Intelligence Applications
Package: 100609.2038

No updated documentation library yet through, so can’t nosey through the release notes. The docs that come with the download are labelled 7.9.6 and dated April 09 so don’t look like they’ve been updated either.


Update 13th Oct:
@alex has got the scoop on the new functionality. From this and the press release here’s a few snippets:

  • 28 supported languages
  • […] ideal for data warehouses running on the Sun Oracle Database Machine.
    • So I assume this means that it supports 11gR2 whether Exadata’d or not?
  • “adds support for Informatica PowerCenter 8.6.1 for ETL”
  • More supported DBs and OSs: IBM DB2 9.5 / Microsoft SQL Server 2008 / Teradata v13 / OEL 5 / IBM AIX 6.1 / Windows Server 2008 / RH Linux 5

Still no updated documentation on OTN. Never let it be said that the documentation lets OBIA down …. 😐
Update 15th Oct:
Documentation is now available on OTN

Older Posts »

Create a free website or blog at WordPress.com.