fixing: Data filter expression VALUEOF(NQ_SESSION.”variable”; for Applicaton Role is considered as non conditional, error: [nQSError: 23006]

After migrating from Oracle BI EE 11g to Oracle BI 12c the RPD consistency checker shows the following Error message with Error # 38197:

Data filter expression VALUEOF(NQ_SESSION.”variable”) for Applicaton Role is considered as non conditional, error: [nQSError: 23006] The session variable, NQ_SESSION.variable, has no value definition
Within OBI EE 11g consistency checker this was neither thrown as a Error message nor as a Warning.

Within the consistency checker of 12c, this is throwing as a error. To fix this a default value needs to be specified for each variable besides the Authorization Block. For this go to Manage| Variables |  Session |Initialization Blocks and double click on a Name e.g. Business Groups.

And open “Edit Data Target” within the variable Target area and assure that the Default Initializer as a default value as shown below:
After running the consistency checker again, the error message disappears.

Bug: creation of Windows service for Oracle BI within installation

During the installation of Oracle BI 12c (Version a Windows service called “Oracle Business Intelligence [bi]” is automatically created to start & stop the BI services (Weblogic + BI Domain) as a Windows service e.g. to auto startup the BI Services in case the complete windows server is re-booted.

For the current version a bug exist which configures the Environment variables incorrectly when the Oracle BI installation is not done to the C:\ drive, but another hard drive within the server, such as D:\ . The issue only applies to starting and stopping the BI Services via the Windows Service method and not to starting/stopping via from the start.cmd command line (as the Windows service points to a different start script located in the directory and does not use the regular bitools/bin/start.cmd script). The incorrect setting of the Environment variables prevents the Windows service from starting the BI Services and the following error is written to the windows services log file:

BI_PRODUCT_HOME set as c:\windows\system32
ORACLE_HOME set as C:\Windows
The system cannot find the path specifiedimage
This is caused by an within the start.cmd script which is called from the Windows service “Oracle Business Intelligence [bi]” and located in the following directory:


The script uses the windows shell command pushd and popd to write the current working directory into the session, but doesn’t catch if the installation is done to a different drive from C:\ when performing a cd (change directory) command. This can be seen by the fact that the BI_PRODUCT_HOME and ORACLE_HOME are referencing (pointing) to the patch of the windows cmd tool C:\windows\system32 rather then the correct Oracle BI installation directory.

As a workaround the pushd and popd have been removed from the start.cmd script and the path has been specified for path Environment variables BI_PRODUCT_HOME & ORACLE_HOME.

SET BI_PRODUCT_HOME=D:\Oracle\Obiee12c\bi\
SET ORACLE_HOME=D:\Oracle\Obiee12c
SET default_biDomainHome=%ORACLE_HOME%\user_projects\domains\bi

after saving the file like above the Windows service uses the correct environment variable path, as seen by comparing both highlighted areas below:

Examining OBIEE 11g Presentation Service Privileges and precedence

The Official Documentation for the 11g Oracle Business Intelligence (Security Guide) mentions the following key rules about the evaluation of the Presentation Service Privileges:

“Presentation Services privileges control the rights that users have to access the features and functionality of Presentation Services. Privileges are granted or denied to specific application roles, individual users, and Catalog groups using a privilege assignment table.”

The Presentation Service privileges can be access from the following URL: http://hostname:port/analytics/saw.dll?PrivilegeAdmin


“privileges are either explicitly set or are inherited through role or group membership, explicitly denying a privilege takes precedence over any granted, inherited privilege. Meaning that even if Application roles are nested and thus forming a hierarchy any denied privilege takes precedence over inherited grants or directly assigned grants.”

Additionally, the following example is provided within the D. Appendix section of the same Documentation page:


With the following statements regarding the evaluation:

    • User1 explicitly has the Executive role, and thus implicitly has Finance role and also Sales role.
    • User1 also explicitly has the BI Author role, and thus also implicitly has BI Consumer role.
    • User1’s flattened list of application roles is: Executive, BI Author, Finance, Sales and BI Consumer.

The effective privileges from Executive Role are Denied Administration privilege […] the Sales’ Denied Administration privilege takes precedence over Executive’s granted privilege, as Deny always takes precedence.”

As a showcase, the above has example has been re-created in a simplified version with all Application roles and the Presentation Service privilege for “Access to Administration” within the Oracle BI Version:


The five Application roles of the above diagram have been configured within the Enterprise Manager (EM) Application role configuration:

All five Application roles are also correctly displayed for the User1 within the Oracle Business Intelligence “My Account” view:
Afterwards, the privileges have been configured (with Granted and Denied) for the Application roles within the Presentation Service privileges Administration page:image
However, contrary to the rule and the example the “Administration Page” privilege is not denied:

The “Administration Page” privilege is granted for User1 due to the Membership of the Executive Application Role.

For testing purposes the five Application roles of the example have been enhanced to the following six:


With the following test cases and results:

# User Privilege Executive Finance Sales Sales North Result
1 User1 Admin
Granted / Denied / Granted
2 User1 Admin
/ Denied Granted / Denied
3 User1 Admin
Denied Granted Granted / Denied
4 User1 Admin
/ Granted / Denied Denied
5 User1 Admin Page / Denied / Granted Denied
6 User1 Admin Page / Granted Denied / Denied

deriving the following rules for the determination of the Presentation Service privileges:

  • if a privilege is set (either with denied or granted) for a Application role directly assigned (member of/next) to the User this takes precedence over everything else (see #1+#3)
  • for siblings on the level (within the same hierarchy level) the more restrictive is applied (#2+ #6)
  • In case of inherited ancestor privileges the more restrictive is applied (#4+#5)

Links to the 11g Documentation:

Example of Determining a User’s Privileges with Application Roles

Example of Determining a User’s Privileges with Application Roles

Example of Determining a User’s Privileges with Application Roles

Oracle BI 12c: File locations

important file locations for Oracle BI 12c:

module location
scripts directory /opt/oracle/obiee/user_projects/domains/bi/bitools/bin
Repository (RPD) /opt/oracle/obiee/user_projects/domains/bi/bidata/service_instances/
Web Catalog /opt/oracle/obiee/user_projects/domains/bi/bidata/service_instances/
NQSConfig.INI /opt/oracle/obiee/user_projects/domains/bi/config/fmwconfig/biconfig/
instanceconfig.xml /opt/oracle/obiee/user_projects/domains/bi/config/fmwconfig/biconfig/
tnsnames.ora /opt/oracle/obiee/user_projects/domains/bi/config/fmwconfig/
AdminServer log /opt/oracle/obiee/user_projects/domains/bi/servers/
Managed Server logs /opt/oracle/obiee/user_projects/domains/bi/servers/
BI Server logs /opt/oracle/obiee/user_projects/domains/bi/servers/obis1/logs
Presentation server logs /opt/oracle/obiee/user_projects/domains/bi/servers/obips1/logs

Importing Oracle Database using imp utility

1)optional but recommended: open SQL Developer and create a new Table space for the new(import) schema from the SYS User (SYSDBA Role)

DATAFILE '/u01/app/oracle/oradata/orcl12c/orcl/pts_dw_ts.dbf' 

2) create a new User similar to the User for which the Database export has been created

create user PTS_DW identified by Admin123 
default tablespace PTS_DW_TS quota unlimited on PTS_DW_TS;

3) grant privileges to the new User

grant connect, create session, imp_full_database to PTS_DW ;


4) open a terminal and navigate to the imp utility directory and invoke the utility

cd /u01/app/oracle/product/
imp PTS_DW/Admin123@orcl 
log=PTS_DW_OBIAimp.log full=y;


define alias for starting/stopping Oracle BI

For starting and stopping of Oracle BI 11g the OPMN services was used. The usage of OPMN for starting and stopping the Oracle BI 11g services has also been described in a previous posting.

With Oracle BI 12c, OPMN is not used further anymore. The scripts to start Oracle BI can be found in the following directory:



To start the Oracle 12c instance the following command can be used:



Within linux a alias can be created to call the start script without navigating to the directory each time. To create the alias the bashrc needs to be edited using the following command:

gedit ~/.bashrc


this opens the bashrc file using the gedit editor to add the following lines at the bottom of the file:

alias bistart='/opt/oracle/obiee/user_projects/domains/bi/bitools/bin/'
alias bipsstart='/opt/oracle/obiee/user_projects/domains/bi/bitools/bin/ -i obips1'
alias bistop='/opt/oracle/obiee/user_projects/domains/bi/bitools/bin/'
alias bipsstop='/opt/oracle/obiee/user_projects/domains/bi/bitools/bin/ -i obips1'
alias bistatus='/opt/oracle/obiee/user_projects/domains/bi/bitools/bin/'


after this the file needs to be saved and the bashrc needs to be executed to take effect:

. ~/.bashrc


IP Configuration for Virtual box


Virtual Box IP configuration for host and guest machine

  1. check virtual machine’s IP address
  2. set the Network adapter of the virtual machine to host only (restart VM afterwards for changes to take effect)
  3. set the host machine IP address of the host only Network adapter within the correct IP range of the virtual machines IP address
  4. ping the Virtual machine to validate configuration

Exporting Oracle database Tables using exp utility

To export Oracle Database Tables the exp utility can be used. The utility is available on the
Oracle Database machine typicalliy in the following directory $ORACLE_HOME/bin. The following command can be used to export a (selective list) of Database tables:

exp user/password file=filename.dmp tables=Table1,Table2

imageThe exp utility displays the current progress in the terminal:

After completion the exported file can be found in the directory where the utility has been executed:

starting selective BI Services with OPMN

OPMN allows to control all BI 11g Services including starting and stopping.

The installer often installs two executables into the directory structure:


However only one is typically working right after the installation, the other will throw the following error message:

opmnctl: ORACLE_INSTANCE is not set.
opmnctl status requires that ORACLE_INSTANCE be correctly set 
in your environment.
Make sure you are using ORACLE_INSTANCE/bin/opmnctl, or set 
ORACLE_INSTANCE in your environment.


In this case the working opmn is installed in the following directory:



the status can be check with the following command:

./opmnctl status


To start an individual service the following command needs to be used:

./opmnctl startproc ias-component=coreapplication_obips1


After this, the Oracle BI Presentation Service is up alive.