Vidya Bala's Blog

Search My Blog

Add RSS Feed

Tuesday, December 12, 2006

Siebel Analytics Install and Siebel Analytics Administration:

In this post I will review Siebel Analytics Administration Tool. But before we begin you will need to Install the following.
Logon to http://edelivery.oracle.com/Ok finding the Siebel Analytics Download can be tricky on edelivery


Product – pick Oracle Business Intelligence and the appropriate Platform

pick the Business Intelligence media pack
If you plan to evaluate on Windows download
B30721-01 Part 1 of 2 and B30721-01 Part 2 of 2
The above 2 parts will your Sibel Analytics Server, Siebel Analytics Web, Siebel Analytics Scheduler, Siebel Analytics Java Host, Siebel Analytics Cluster

Now if your looking to download third party products like Informatica , Actuate etc you will have to download B27745-01 Parts 1 through 4. This post will focus on the Siebel Analytics Server.

Once you have downloaded B30721-01 Part 1 of 2 and B30721-01 Part 2 of 2 , extract the zip files , find the installer and walk through the install. The install is pretty intuitive. If you run into any issues with the install (post comments on the blog and I can help you out with it).

Once you have completed the install , if you are on windows you will see 5 services created Sibel Analytics Server, Siebel Analytics Web, Siebel Analytics Scheduler, Siebel Analytics Java Host, Siebel Analytics Cluster – these are your key components for the Siebel Analytics Server.
Make sure your Siebel Analytics Server and Siebel Analytics Web service is started.

A couple of Siebel Analytics shortcuts will be installed on your desktop.

The first step in using Siebel Analytics to generate Reports is to define the metadata layer. The metadata layer is defined using the Siebel Analytics Administration tool.Click on the Siebel Analytics Administration Tool.

you can see the Administration Tool has 3 layers. The physical layer, Business Model and Mapping Layer and Presentation Layer.

Step1: Physical Layer:

Define your datasources in this layer. Create an ODBC datasource for the source database. For the purpose of this test we will be connecting to the perfstat schema on a DEV1 Instance.
In the physical layer right click and create your database connection

once you create your database folder import your database objects

select the schema you want to import and click import (choose FK constraints if you want to import the objects with FK constraints) – once you have imported the schema you should see it in the dev1 folder



Perfstat schema has been chosen just for illustration purposes , ideally you want your source database to be a warehouse or a mart , in the abscence of one and oltp system can also be your source (note if an oltp db is your source it will call for more work on the business mappings layer)– however in this post I will attempt to design this schema for Reporting Purposes.

Assuming that the crux of your reporting is Reporting on sql statement statististics :
SQL_STMTS_STATS will be our fact table in the Business Mappings Layer.
Some Dimesions around it will be
Instance Details
Execution Plan Cost Details
This is like a 2 dimensional star schema.

Now let us see how the following objects exist in our physical layer and model it in our business layer.
The 4 objects we will be looking at is
STATS$DATABASE_INSTANCE
STATS$SNAPSHOT
STATS$SQL_PLAN_USAGE
STATS$SQL_SUMMARY
Select the above 4 objects in your physical layer - right click and view physical diagram of the selected objects



Now create a new business model folder and drag and drop the 4 objects to the business model layer.



Once you have dropped the objects in the Business layer you can define the relationship between the 4 objects in the Business Layer(select the objects , right click and define the relationships in the Business Diagram area) - this is where a traditional normalized oltp schema in the physical layer will lend into a star or snowflake schema. in the Business layer.


Now let us also look into what attributes we actually need for the Presentation layer and what dimensions we need.


The Business layer is where I start modeling and maping objects with the Business Model in mind.For instance if STATS$DATABASE_INSTANCE is a good candidate for a dimension then right click on the object in the Business Model Layer and say create dimension

Once I have modeled my Business Layer to the way I want it to be , I can drag and drop objects in the Presentation Layer.


so we started with the perfstat schema and this is what we cameup with in the Presentations Layer


Instance Details
- Instance Name
- Database Name
Sql Stats Details
- Sql Statement
- Fetches
- Executions
- Loads
- Parse Calls
- Disk Reads
Sql Plan Cost
- Hash Value
- Cost

All the underlying relationships and hierarchy is masked at this presentation layer. All you see at this presentation layer is key Presentation Elements that a Business user really care about.

The next post will cover how the presentation layer can be used to build Reports using Siebel Analytics Web Console (typically the power users)

For questions – please feel to free to post them in the comments sections.
Make sure to save your work on the Siebel Analytics Administration Tool –a Repository consistency check is done at the time of saving your work – also check in changes will do a Repository Consistency Check.

7 Comments:

  • Hi Vidya,

    Thanks for a very nice post. I am facing an issue with my Siebel Analytics setup while connecting to Oracle using ODBC datasource. I have been struggling with this issue for the last few days but not able to figure out what the issue is. It will be of immense help to me if you can make some suggestions. Here's what I am trying to do:

    1) I installed Siebel Analytics platform on Solaris10 which is hosting Oracle10g database.
    2) I am able to start both Analytics and Analytics Web servers successfully.
    3) loaded successfully analytics.war file in Oracle appserver for the webconsole.
    4) On the windows machine created a new SYSTEM DSN using Oracle Driver 10g driver.
    5) Created Database object in the physical layer and used the call interface to "ODBC2.0".
    6) Tested the DB tables by "view Data". Test successful.
    7) created Business and presentation layer mappings.
    8) Saved the repository and verified the consistency check.
    9) Tested it by running the analytic web from Windows. I am able to view results from "Answers" section.
    10) Copied the repository file ".rpd" into the Solaris machine

    11) On Solaris machine I made an entry in NQSConfig:

    [ REPOSITORY ]
    OracleBi =OSIOracleDemo.rpd, DEFAULT ;

    12) Made changes to the instanceConfig.xml to point to the correct DSN
    "OracleBi"

    13) Updated the odbc.ini file using the DSN I created in the phyical layer.
    [ODBC Data Sources]
    OracleBi=Siebel Analytics Server

    [OracleBi]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    Catalog=
    UID=bi
    PWD=bi
    Port=9703

    [Siebel Analytics Server]
    APILevel=2
    ConnectFunctions=YYY
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    DriverODBCVer=02.00
    SQLLevel=2

    I am able to run get the analytics web console and log in as Administrator. When I try to display results by selecting a column, it doesn't work.Some times it just keep searching to retrieve data and times out. At times I am getting the below error on the analytics webconsole:

    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    File: odbcstatementimpl.cpp, Line: 186
    State: 37000. Code: 10034. [NQODBC] [SQL_STATE: 37000] [nQSError: 10034] The SQL statement has a syntax error. [nQSError: 16001] ODBC error state: S1000 code: 10058 message: [NQODBC] [SQL_STATE: S1000] [nQSError: 10058] A general error has occurred. [nQSError: 27004] Unresolved table: "FACT_TABLE".. [nQSError: 16014] SQL statement preparation failed. (37000)
    SQL Issued: SELECT Sales.TOTAL_AMOUNT saw_0 FROM OracleBi


    Please advice where am I going wrong. Also I observed in the NQServer.log the below message:

    [43030] : Siebel Analytics Server started. Version: 7.8.5.6927.
    2006-12-14 14:22:09
    [16020] Metadata Database Type: ODBC2.00
    Data Source Name: OracleBi
    Data Source Type: Siebel Analytics Server 7.8.5.6927
    2006-12-14 14:22:09
    Data Source Name: OracleBi
    Client Driver Version 02.00.0000

    Why is it showing the DSN Type as Siebel.? I configured the DSN to talk to Oracle.

    Best Regards,

    - Raj

    By Blogger RAJYM, at 2:42 PM  

  • Raj,
    13) Updated the odbc.ini file using the DSN I created in the phyical layer.
    [ODBC Data Sources]
    OracleBi=Siebel Analytics Server

    did you make this change on the BI Server (unix or windows??)


    ---------------------
    the error you mentioned below is because it is reading the above dsn
    [43030] : Siebel Analytics Server started. Version: 7.8.5.6927.
    2006-12-14 14:22:09
    [16020] Metadata Database Type: ODBC2.00
    Data Source Name: OracleBi
    Data Source Type: Siebel Analytics Server 7.8.5.6927
    2006-12-14 14:22:09
    Data Source Name: OracleBi
    Client Driver Version 02.00.0000

    can you give me more details on the odbac changes your are making on the unix side

    By Blogger Vidya Balasubramanian, at 11:19 AM  

  • Hi Vidya,

    Thanks for a prompt reply.

    1) I made the below change in the Unix server
    [ODBC Data Sources]
    OracleBi=Siebel Analytics Server

    The "OracleBi" DSN is supposed to point to the Oracle Database. I don't know what to put in the righthand side of the above configuration for Oracle.


    I am not making whole lot of changes for ODBC in the Unix. I assume that the odbc drivers are already a part of the Siebel Analytics installation.

    Here are all changes with respect to odbc I made under unix server:

    1)user.sh
    2)odbc.ini

    user.sh:
    #For Oracle, Uncomment the following
    # Oracle Parameters
    #---------------------------
    ORACLE_HOME=/d01/oracle/product/10.2.0/Db_1
    export ORACLE_HOME
    TNS_ADMIN=$ORACLE_HOME/network/admin
    export TNS_ADMIN
    PATH=$ORACLE_HOME/bin:/opt/bin:$PATH
    export PATH
    SHLIB_PATH=$ORACLE_HOME/lib32:$SHLIB_PATH
    LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/d01/SiebelAnalytics/SiebelAnalytics/odbc/lib
    export LD_LIBRARY_PATH
    #---------------------------


    odbc.ini:

    [ODBC Data Sources]
    AnalyticsWeb=Siebel Analytics Server
    OracleBi=Siebel Analytics Server
    SnowFlake=Siebel Analytics Server
    AutoSnowFlake=Siebel Analytics Server
    DimSnowFlake=Siebel Analytics Server
    Reccode=Siebel Analytics Server

    [OracleBi]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=172.10.25.16
    Repository=
    Catalog=
    UID=bi
    PWD=bi
    Port=9703

    [AnalyticsWeb]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=172.10.25.16
    Repository=
    Catalog=
    UID=
    PWD=
    Port=9703

    [SnowFlake]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    Catalog=SnowflakeSales
    UID=
    PWD=
    Port=9703

    [AutoSnowFlake]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    Catalog=AutoSnowflakeSales
    UID=
    PWD=
    Port=9703

    [DimSnowFlake]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    Catalog=DimSnowflakeSales
    UID=
    PWD=
    Port=9703

    [Reccode]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    Catalog=AtomicStar
    UID=
    PWD=
    Port=9703

    [Siebel Analytics Server]
    APILevel=2
    ConnectFunctions=YNN
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    DriverODBCVer=02.00
    SQLLevel=2

    [ODBC]
    Trace=1
    TraceFile=/d01/SiebelAnalytics/SiebelAnalytics/odbc/trace/odbctrace1.out
    TraceDll=/d01/SiebelAnalytics/SiebelAnalytics/odbc/lib/odbctrac.so
    InstallDir=/d01/SiebelAnalytics/SiebelAnalytics/odbc
    UseCursorLib=0
    IANAAppCodePage=4

    [Cluster]
    Driver=/d01/SiebelAnalytics/SiebelAnalytics/Bin/libnqsodbc.so
    Description=Siebel Analytics Server
    ServerMachine=local
    Repository=
    FinalTimeOutForContactingCCS=60
    InitialTimeOutForContactingPrimaryCCS=5
    IsClusteredDSN=Yes
    Catalog=SnowFlakeSales
    UID=bi
    PWD=bi
    Port=9703
    PrimaryCCS=
    PrimaryCCSPort=9706
    SecondaryCCS=
    SecondaryCCSPort=9706
    Regional=No


    Is there anything else that I need to configure on the unix side for odbc? Please advice.

    Thanks

    - Raj

    By Blogger RAJYM, at 6:20 PM  

  • Rajym,

    what DSN are you using to connect to the database server?
    That DSN should have the correct server configurations.

    If [OracleBI] is the dsn that you are using to connect to the database then 172.10.25.16 should be the host on which your database resides.


    OracleBi=Siebel Analytics Server
    what get's put on the right hand side is the Oracle Driver Information.

    were the odbc drives for Unix - part of the Siebel Analytics Install or was it downloaded seperately - they should have a configuration guide on setting up odbc.ini.

    Thanks,
    Vidya

    By Blogger Vidya Balasubramanian, at 1:53 PM  

  • Hi Vidya,

    Here's the info:

    1. I am using OracleBi as the DSN name. The DSN has the correct configuration as I am able to connect to the database using the DSN name setup from Windows Administration client.

    2. Yes. 172.10.25.16 is the host for both Oracle DB and Siebel Analytics server and web.

    3. I tried to use the Oracle Drivers information on the righthand side of the DSN, but Siebel doesn't recognize that and errors out at the login itself.

    4. The drivers weren't part of Siebels install. I installed the drivers separately downloaded from Oracle's website.

    I am not sure how to link oracle drivers information with Siebel Analytics server. I want to have the Siebel Analytics server running on Unix machine to talk to Oracle Database. Apparently I am having a tough time figuring this out. Please advice.

    Thanks

    - Raj

    By Blogger RAJYM, at 2:02 PM  

  • Happy New Year - any progress on the issue. Really the toughest part of the Siebel Analyics Server Install is setting up the ODBC Drivers on UNix - do you have a tar opened with support ?

    By Blogger Vidya Balasubramanian, at 6:26 AM  

  • Raj,

    3. I tried to use the Oracle Drivers information on the righthand side of the DSN, but Siebel doesn't recognize that and errors out at the login itself.

    I think this is where the problem is ? Without the correct driver information the DSN would not know how to connect to the database - you should try and lookup some Siebel Analytic Server Install Guides on Unix to see what driver information needs to be provided.

    By Blogger Vidya Balasubramanian, at 7:18 AM  

Post a Comment

<< Home