Showing posts with label Admin tool. Show all posts
Showing posts with label Admin tool. Show all posts

Configuring OBIEE to work in Single Sign-On (SSO) Environment on IIS

In this entry I will explain how to set up Single Sign-On for OBIEE in IIS environment. For those unfamiliar with the terminology, I'll start with just a quick overview to explain what IIS and OC4J are:
OBI is by default deployed on OC4J (Oracle Containers for Java) web application server. What does it actually mean? It simply means that the core OBI application will run on OC4J platform. This application by default is called “analytics” and the default port for OC4J is 9704 (as in http://hostname:9704/analytics).
Apart from the default installation we have other deployment options. One of the most popular being the IIS deployment – using Microsoft’s Internet Information Services instead of OC4J. Again we will have application called analytics, but the default IIS port will be 80 (as in http://hostname:80/analytics or simply http://hostname/analytics as 80 is the default HTTP port).

It is worth mentioning that from the user's perspective there is virtually no difference – OBI will work and look the same on IIS as on OC4J.
The discussion on advantages and disadvantages of both solutions could easily be material for an additional post, but for now you may be interested in checking out an interesting discussion I started on the Oracle forum some time ago.
Summing it up quickly, it all really comes down to the client’s environment – if the environment is totally  based on IIS and Active Directory authentication (Windows Native Authentication – using Windows login to seamlessly access other applications), IIS may be the best choice. This is due to the compatibility with other systems and the relative simplicity of SSO implementation, which I will explain in more detail below.
In order to run SSO on IIS, first we need OBIEE itself installed on IIS. There is an option with “Basic” installation type of OBI that indicates IIS.
One thing worth mentioning is that if you start from scratch and install OBI straight on IIS, you need to have IIS already installed on the machine hosting OBI Presentation Server. If you don’t, the installation wizard will simply not give you an option to use IIS (which may give you quite a headache).
Another option is to move an existing OBI installation on OC4J to IIS. A great blog entries from John Minkjan explains the process in good detail:
http://obiee101.blogspot.com/2008/11/obiee-presentation-server-on-iis.html
As soon as OBI is working on IIS, you’ll need OBI Presentation Services configured to work in the Single Sign-On environment. Good step-by-step guidelines can be found in the documentation (chapter 8 of the Deployment Guide). We’ll use the “Server Variable” method for IIS web application server. There are  a number of steps to perform (creating Impersonator user, modifying credential store, modifying instanceconfig.xml file, etc.), but they should be quite straightforward when following the documentation.
You should also have your OBI authentication based on the existing Active Directory. That should be quite a natural choice for users’ authentication in IIS/AD dominated environment.
Now, the interesting part is how easy it is to actually enable the Single Sign-On when all the components are in place. We will only need to change the authentication method of our IIS instance hosting analytics application.
Edit properties of your “analytics” application (Virtual Folder in IIS)
Analytics Properties
Go to Directory Security tab and edit “Authentication and access control” section. Disable anonymous access and enable “Integrated Windows Authentication”.
Authentication Methods
And that should be it! Just access http://hostname/analytics and you should be automatically logged in.

Troubleshooting Tips

Just make sure you have your instanceconfig.xml file configured correctly.
It should look like this:
<Auth>
<SSO enabled="true">
<ParamList>
<Param name="IMPERSONATE" source="serverVariable" nameInSource="REMOTE_USER" stripWindowsDomain="true" />
</ParamList>

Also make sure you use serverVariable as a source for SSO authentication – that will indicate using the REMOTE_USER native IIS variable that is populated when a user logs in to a domain.
A common problem may be that the variable will come together with a domain name (i.e. MY_DOMAIN\MY_USER) – this can be overcome by using stripWindowsDomain="true" tag (as shown above).
The process described in this post is really straightforward,which may be considered quite an advantage when comparing it with Windows Native Authentication process for OC4J (or wider for Oracle AS).
We also gain an advantage here as “analytics” application comes with an IIS version by default (you have a choice of an IIS installation while installing OBI). That means “analytics” can be seamlessly run in an IIS environment and no complicated configuration process is needed.
In a future post I will explain how to configure other OBI applications (i.e. BI Publisher, MS Office plug-in) to work with Single Sign-On on IIS platform. In the meantime, feel free to leave comments and questions if you want to know more.

SAW Log File Details

Often when we check the saw server log we see a number of files in that location named sawlog0.log tosawlogN.log and sawserver.out.log. These files contain the log of the SAW server or the presentation server.
The sawserver.out.log is the current log file and contains SAW server log. When this is filled a new file is created by the name sawserver.out.log and old file is saved by the name ‘sawlogN.log’.
Now, there arise many questions like, how this new file is created and how many such files will be created and what will be the max size of each file. All these question can be answered by a file named‘logconfig.xml’.
 The ‘logconfig.xml’ file stores information about the directory in which these files will be created, the name of the log files, the max size of the file etc. This file in stored in ‘C:\OracleBIData\web\config‘ location. The file contains a writer section which contain definitions of log writers. eg: A Filelogwriter writes to disk. Some other types of writers are CoutWriter, EventLogWriter, CrashWriter. Below is how the writer section of this logconfig file looks like:
 /*<Writers>
  <Writer implementation=”FileLogWriter” name=”Global File Logger” writerClassId=”1″
    dir=”{%SADATADIR%}/web/log” filePrefix=”sawlog” maxFileSizeKb=”10000″ filesN=”10″ />
  <Writer implementation=”CoutWriter” name=”Global Output  Logger” writerClassId=”2″/>
  <Writer implementation=”EventLogWriter” name=”Event  Logger” writerClassId=”3″ />
<!–
  <Writer implementation=”CrashWriter” name=”Crash Writer 2″ writerClassId=”4″
   file=<file path>
   line=<line number>
   />
–>
</Writers>*/
The attributes need to be specified with the writers to tell the writers where to write the log etc. The attributes for the FileLogWriter are:
Implementation- Supported writer like Coutwriter,FileLogWriter etc
Name- Unique name of the writer
ClassID- Integer number from 1-10
Dir- Path of the Directory where the log will be created.
filePrefix- The saved file will be prefixed with the name given in this attribute.
 maxFileSizeKb- Tells the max size of the log file after which a new log file will be generated.
filesN- Maximum number of log files. After last file is closed, logger starts to write to the beginning of the first one.
The above information can answer many questions like the max size of the log file, the total number of log files created, the location where the log file is created and many more.

Admin tool pointing to SQL Server

Just came on with a requirement where in one of our connection pools was pointing to SQL Server and we had to move the RPD on Unix Box.  So, for that we had to make the DSN entries for SQL server on the Unix Box. Below is the series of steps that we followed for the same
For WINDOWS as Operating System:
We can define a system DSN for SQL Server DB and specify the name of the DB on which we are working in that system DSN.
For UNIX as Operating System:
OBIEE makes use of the DataDirect Connect ODBC Drivers for connectiing to LINUX and UNIX boxes. These drivers are present in the location
$OracleBI/odbc. The 32-bit drivers are installed in $OracleBI/odbc/lib and 64-bit drivers are installed in $OracleBI/odbc/lib64.
 1) We need to modify the odbc.ini file and make an entry for new DSN. So, better take a backup of the file before making any changes to the file.
2) Locate the path to ODBC driver file, SEmsss23.so in Unix system. It resides in $OracleBI/odbc/lib. Copy the path to a notepad.
3) Now,open the oddbc.ini file. We can locate the odbc.ini file in $OracleBI/setup.
4) Make the below entry in odbc.ini file:
[DSN Name]
Driver=/u01/app/oracle/product/10.1.3/dobiee1/bi/odbc/lib/SEmsss23.so
Description=DataDirect 5.1 SQL Server Wire Protocol
Address= <IP>,1433(PORT)
AlternateServers=
AnsiNPW=Yes
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=<DB Name>
LoadBalancing=0
LogonID=
Password=
QuoteID=No
ReportCodePageConversionErrors=0
In the above entry,
- The header of the entry should correspond to your DSN you used on Windows.
- Set the Driver parameter to the file name and location of the DataDirect driver for MS SQL   Server(the one  which we copied in step 2)
- The Address should be the IP of the SQL Server, then a comma, then the port (default1433).
- The Database should be set to the Database we are using.
5) We also need to make changes to the DBFeatures.ini file.
6) The DBFeatures.ini file can be located at $OracleBI/server/Config.
7) For the appropriate SQL server section in the file, turn the IDENTIFIER_QUOTE_CHAR parameter off by setting the following:
IDENTIFIER_QUOTE_CHAR = ”;
The default is:
IDENTIFIER_QUOTE_CHAR = “”;
Hope it helps. Kindly keep me posted for any more information

Automating OBIEE Startup and Shutdown Service

As we all know that there are couple of steps that we need to adhere before starup OBIEE services and also same for shutdown . How if it will be automated through two scripts only …i.e one for Startup and other for Shutdown OBIEE service . This utility necessarily free us from juggling around windows services .
Lets find how the tid-bit applicable for IIS Web server first . I have two batch file in desktop that do the stuff for me one is : OBIEE Start-IIS.bat having below script behind it .
===========================
cls
echo “Starting BI ……”
net start IISADMIN
net start W3SVC
net start “Oracle BI Server”
net start “Oracle BI Java Host”
net start “Oracle BI Presentation Server”
start iexplore “http://localhost/analytics/saw.dll?Dashboard&NQUser=Administrator&NQPassword=Administrator“
===========================
Another one for stopping BI Services i.e OBIEE Stop-IIS.bat having underline script .
===========================
cls
echo “Stopping BI ……”
net stop “Oracle BI Presentation Server”
net stop “Oracle BI Java Host”
net stop “Oracle BI Server”
net stop IISADMIN /Y
===========================
N.B : In above scripts while starting the BI service it will kickoff IIS and its dependent process first and finally the command window unloaded after invoking iExplore process .Now while stopping the BI service it will forcefully stop IIS and its dependent process like WWW Publishing etc .
Lets find the solution for the same in OC4J Web controller .
OBIEE Start-OC4J.bat
====================================
cd D:\OracleBI\oc4j_bi\j2ee\home
D:
cls
echo “Starting BI ……”
start D:\OracleBI\oc4j_bi\bin\oc4j.cmd -start
sleep 10
net start “Oracle BI Server”
net start “Oracle BI Java Host”
net start “Oracle BI Presentation Server”
start iexplore “http://localhost/analytics/saw.dll?Dashboard&NQUser=Administrator&NQPassword=Administrator“
====================================
OBIEE Stop-OC4J.bat
============================
cls
echo “Stopping BI ……”
net stop “Oracle BI Presentation Server”
net stop “Oracle BI Java Host”
net stop “Oracle BI Server”
cd D:\OracleBI\oc4j_bi\j2ee\home
d:
java -jar admin.jar ormi://  oc4jadmin oc4jadmin -shutdown force
taskkill /IM cmd.exe
============================
Only thing you need to know is that for OC4J you need to change the j2ee home directory as per your enviornment settings .
So finally this make life bit easy for me as you are also far away from 2 simple click on two readymade batch file

OBIEE Administration Tool

The OBIEE Administration tool is the main engine to develop RPDs and manage major OBIEE configurations. It provides a graphical representation of the three layers of a repository namely;
1 Physical Layer
2 Business Model and Mapping layer and
3 Presentation Layer
1. Physical Layer
The Physical layer contains information about the physical data sources to which Oracle BI Server submits queries. There can be one or more data sources in the Physical layer. It consists of Connection pool, Schema folder, Tables, Columns keys.
2. Business Model and Mapping Layer (BMM)
The BMM layer is used to simply and reorganizes the data to present a meaningful data model to form the basis for presentation layer. All the major calculations are made in this layer as per the customer requirements. This layer contains more business models to support the organization strategic goals. It consists of Business models, dimensional hierarchies, logical dimension tables, logical fact tables, logical table source, logical columns, and logical measures. The dimensional modeling star schemas are built using dimensions and facts. BMM layer objects map to source data objects in the Physical layer. Business models may map to multiple data sources, Logical tables may map to multiple physical tables, Logical columns may map to multiple physical columns etc. Some of the Major configurations like, time series, level based measures, MUDE, additional calculations, aggregations, fragmentations and partitions are made here.
3. Presentation Layer.
Presentations layer provides customized view of a business model to users. The columns are more meaningful in this layer as these are represented to end users for ad hoc reporting. Presentation layer objects map to objects in the BMM layer. A Model in the presentation layer is called presentation catalog and same model in the answers is called subject area. A presentation catalog can map to only a single business model. However, multiple presentation catalogs can reference the same business model. It consists of presentation catalog, presentation folder, and presentation columns.

BI Administration Tool in command mode

Some events / operations within the BI Administration Tool can be called from the command line, for example, provide an automated process together (Merge) more BI metadata repository. To run the BI Administration Tool in command mode, you call with parameter / command and path to file (CommandFile ) contains the commands you want to execute in BI AdminToolu. CommandFile is a text file, and each command in it that must be stored on a new line. Example:CommandFile me_prikazy.txt contains a list of commands: Hide New Nove_rep.rpd Save Exit command AdminTool.exe / command me_prikazy.txt Administration Tool runs in hidden mode establishes a new repository called Nove_rep.rpd, stores it and then exits. The commands that can be used in CommandFile include:










  • Open FileName [user [password]]
    - opens the online repository
  • New FileName
    - Creates new repository offline
  • Save
    - saves opened repository
  • SaveAs FileName
    - saves repository opened under new name
  • Close
    - closes opened repository
  • Exit
    - closes AdminTool
  • MessageBox [message]
    - displays messagebox with the text, the default message is "Siebel Analytics Administration Tool"
  • ImportRepository {online | offline} {FileName | DSNname} [user [password]]
    - initiates import from The Other repository
  • Project ImportRepositoryObject {| "Presentation Catalog" | User | "Security Group" | Variable {Name} | *} [True | False [True | False]]
    - Imports object (s) from The Other repository
  • ImportRepositoryExecute
    - executes the import of repository defined by previous calls it ImportRepository and ImportRepositoryExecute
  • Compare FileName [user [password [Outputfile]]]
    - Compares current repository with another repository
  • Merge FileName1 FileName2 [DecisionFile] [user1 [password1 [user2 [password2]]]]
    - merges repositories
  • ConsistencyCheck [outputFileName]
    - Global Consistency check
  • BusinessModelConsistencyCheck businessModelName [outputFileName]
    - Consistency check for one business model
  • CreateSubset NewRepositoryName MasterRepositoryName numberOfProjects Project1 [Project2 [project3 [...]]] [user [password]]
    - Creates and opens a multi-user repository subset
  • CheckinSubset ModifiedSubsetRepositoryName LockUserFullName [user [password]]
    - checks in ModifiedSubsetRepository into the master repository
  • Hide
    - hides AdminTool