Art of BI: Proxy As Upgrade to 11g Does Not Like NQSession.User

By | In 11g, Art of BI | September 01st, 2012

In Oracle BI 10g the application was a lot more tolerant of bad design cavalier usage of variables.  We noticed an issue recently during an upgrade where the Proxy As configuration in Oracle BI 10g used the NQSession.User variable to identify the user logged into Presentation Servers acting as Proxy.

For example the getValues element of the LogonSQLParamsTemplate.xml file looked something like:

[sourcecode lang=”sql”]

select TARGETID from OBIEE_PROXYAS where UPPER(PROXYID) = UPPER(‘VALUE_OF(NQ_SESSION.USER)’)

[/sourcecode]

As you can see in the image below the resulting NQSQuery log file when using 11g Proxy As turns this logic to resolve to the BISystemUser instead of the user logged in (ex: tom1234).

[simage=609,640,y,center]

Solution

Quite simple, just leverage the Proxy As configuration logic from the Oracle BI Documentation, which points you to reference the {@USER} variable using the proper syntax.  This was the correct way of doing it in Oracle BI 10g as well even though the VALUE_OF() use of the USER session variable worked in the legacy tool.

In this  case:

[sourcecode lang=”sql”]

select TARGETID from OBIEE_PROXYAS where UPPER(PROXYID) = UPPER(‘@{USERID}’)

[/sourcecode]

Contact Us
Christian Screen
Christian is an innovator in analytics and data warehousing design, best practices, and delivery. With more than fifteenyears of decision support and data warehousing with key experiences at Office Depot HQ, Sierra-Cedar, and Capgemini, he oversees the Oracle Analytics Practice which includes the technical development and delivery of Oracle BI collaboration software, data warehouse solutions, Oracle BI/EPM projects, and packaged analytics solutions at Datavail.

Leave a Reply

Your email address will not be published.
Required fields are marked (*).