Vous êtes sur la page 1sur 11

OBIEE Architecture OBIEE Java Components and System Components (BI Server, BI Presentation Server, BI Scheduler and BI Cluster

Controller) are managed through a number of tools, including Fusion Middleware Control (aka Enterprise Manager), Weblogic Server Admin Console and OPMN. All of these components connect to a repository database, which can be any recent Oracle database and contains the schemas In 11g the core WebLogic Server, with JRockit have replaced Oracle Application Server (which used OC4J under the covers), and by OC4J. You can either access OPMN through the command line (opmnctl), or Oracles recommended approach is to use a graphical interface within Fusion Middleware Control. OPMN is also used in the 11g stack to control Essbase, Discoverer and other BI components The BI Server is still a standalone C++ application, its just that its managed (stopped, started, monitored etc) through Fusion Middleware Control and OPMN. OPMN (Oracle Process Manager and Notification Server) : its used to start up the various Application Server components DMS, or Dynamic Monitoring System, works alongside OPMN and provides statistics on the various components which can be persisted in a database ODL, Oracle Diagnostic Logging, is a centralized framework for logging. Again, interesting for performance, though not all logs (nqquery.log, for example) are covered by it. JPS (Java Platform Security) and CSF (Credential Store Framework) are just two parts of security in 11g. Security is a big change in 11g with users no longer stored in the RPD (including the Administrator user, which has now gone), and users, roles and groups now managed by WebLogic, linking out to LDAP servers as neccessary.

Switch off caching


I want to switch off caching, as OBIEE turns it on by default for new installs but this interferes with results when Im doing development work. In OBIEE 11g, whether caching is turned on or not is still determined by an entry in the nqsconfig.ini file, but youre meant to manage this setting via Fusion Middleware Control (if you edit it directly in the file, the admin server will overwrite your changes when you restart it, though you can disable this behaviour). To turn off caching, I navigate to the Capacity Management > Performance tab, where I can see the entry to enable the cache.

OBIEE Security:

Allows object level permissions to be set on Web Catalog objects such as Folders, Filters, Dashboards etc Three parameters which affect session timeout for OBIEE users are: 1. BI => Server Edit instanceconfig.xml file Add following line
<ConnectionExpireMinutes>3</ConnectionExpireMinutes> => Location D:\OBIEE1\instances\instance2\OracleBIPresentationServicesComponent\coreapplication_ obips1

Restart OracleBI services 2. The time of connection between the OracleBI Presentation Services and the
WebBrowser => Edit the file instanceconfig.xml Add the following line in the block ServerInstance) ((/) ServerInstance <ClientSessionExpireMinutes> 1440</ClientSessionExpireMinutes> Please note internal value is 24hours => 1440 minutes 3. Log User Off: To force user out of the Logoff OracleBI Presentation Services. This setting only applies to users who have not selected the option remember my ID and password. 1. Edit the file instanceconfig.xml 2. Add the following line in the block <LogOnExpireMinutes>180</LogOnExpireMinutes> 3. Restart services OracleBI Presentation Services Notes: The internal default value is 180 minutes (3 hours).

What is Authentication? How many types of authentication. o Authentication is the process by which a system verifies, through the use of a user ID and password, that a user has the necessary permissions and authorizations to log in and access data. The Siebel Analytics Server authenticates each connection request it receives. Operating system autentication External table authentication Database authentication LDAP authentication What is object level security? o There are two types of object level security: Repository level and Web level

o Repository level : In presentation layer we can set Repository level security by giving permission or deny permission to users/groups to see particular table or column. o web level: this provides security for objects stored in the web catlog,such as dashboards,dashboards pages,folder and reports you can only view the objects for which you are authorized. For example,a mid level manager may not be granted access to a dashboard containing summary information for an entire department. What is data level security? o This controls the type an amount of data that you can see in a report.When multiple users run the same report the results that are returned to each depend on their access rights and roles in the organization.For example a sales vice president sees results for alll regions, while a sales representative for a particular region sees onlu datafor that region. What is the difference between Data Level Security and Object Level Security? o Data level security controls the type and amount of data that you can see in a reports.Objectlevel security provides security for objects stored in the siebel analytics web catlog, like dashboards,dashboards pages,folder,and reports. How do you implement security using External Tables and LDAP? o Instead of storing user IDs and passwords in a Server repository, you can maintain lists of users and their passwords in an external database table and use this table for authentication purposes. The external database table contains user IDs and passwords, and could contain other information, including group membership and display names used for Siebel Analytics Web users. The table could also contain the names of specific database catalogs or schemas to use for each user when querying data o Instead of storing user IDs and passwords in a Server repository, you can have the Server pass the user ID and password entered by the user to an LDAP(Lightweight Directory Access Protocol ) server for authentication. The server uses clear text passwords in LDAP authentication. Make sure your LDAP servers are set up to allow this.

If you want to limit the users by the certain region to access only certain data, what would you do? o using data level security. o Siebel Analytics Administrator: go to Manage -> Security in left hand pane u will find the user, groups, LDAP server, Hierarchy What you can do is select the user and right click and go to properties, you will find two tabs named as users and logon, go to user tab and click at permission button in front of user name you have selected as soon as u click at permission you will get a new window with user group permission having three tabs named as general ,query limits and filter and you can specify your condition at filter tab, in which you can select presentation table ,presentation columns ,logical table and logical columns

where you can apply the condition according to your requirement for the selected user or groups. If there are 100 users accessing data, and you want to know the logging details of all the users, where can you find that? o To set a user.s logging level 1. In the Administration Tool, select Manage > Security. The Security Manager dialog box appears. 2. Double-click the user.s user ID. The User dialog box appears. 3. Set the logging level by clicking the Up or Down arrows next to the Logging Level field How to set session variables using url variables
Set session variables using url variables, but you also do this for the user and password ? url variable (&Upwd) is not passed to session variable USER_PWD. The variable USER is correctly passed, the variable USER_PWD is not! The steps to set an OBIS session variable via a URL call utilizing the instanceconfig.xml tag should be as follows 1. Create a session init block that will act as a placeholder for the session variable to be set via the url call the variable can be set to anything. 2. Set the Enable any user to set the value option for the variable. 3. Add the following tag block to the instanceconfig.xml file anywhere between the <ServerInstance></ServerInstance> tags: <Auth> <UserIdPassword enabled=true> <ParamList> <Param name=NQ_SESSION.TEST_VAR source=url nameInSource=SETVAR/> </ParamList> </UserIdPassword> </Auth> TEST_VAR should match the session variable name (case sensitive). 4. The following option will need to be appended to the OBI url passed &SETVAR=variable value to pass. So a full example would be: http://localhost:9704/analytics/saw.dll?Dashboard&nqUser=USER001&nqPassword=US ER001&SETVAR=SomeValue

However, note that you cannot set the value of any System Security Session variable (specifically USER, PROXY, GROUP and WEBGROUPS) using any source method (e.g.: url, cookie, httpHeader) by design. Having this ability would open possible security breaches. If you attempt to set the USER variable with the following instanceconfig.xml setting: <Param name=NQ_SESSION.USER source=url nameInSource=nquser /> You will get the following error when using the url: http://localhost:9704/analytics/saw.dll? Dashboard&nquser=user1&nqpassword=public : nQSError: 10018: Access for the requested connection is refused nQSError: 1315 You do not have the permission to set the value of the variable :USER

Q: What is connection pool and how many connection pools did you have in your last project? o connection pool is needed for every physical database. o It contains information about the connection to the database, not the database itself. o Can use either shared user accounts or can use pass-through accounts -Use: USER and PASSWORD for pass through . o We can have multiple connection pools for each group to avoid waiting What are different types of variables? Explain each. o There are two classes of variables: 1. Repository variables 2. Session variables. Repository variables. A repository variable has a single value at any point in time. There are two types of repository variables: static : This value persists, and does not change until a Siebel Analytics Server administrator decides to change it. dynamic:The values are refreshed by data returned from queries. When defining a dynamic repository variable, you will create an initialization block or use a preexisting one that contains a SQL query. You will also set up a schedule that the Siebel Analytics Server will follow to execute the query and periodically refresh the value of the variable. Session Variables Session variables are created and assigned a value when each user logs on. There are two types of session variables: 1.system 2.nonsystem.

What are the duties of OBIEE Admin ?

I want to know the day to day activities of OBIEE Admin, Can you please send me if is there any material regarding admin tasks of OBIEE. How obiee admin work differs between windows and linux environments ? Lets address above questions Over all OBIEE Administration work includes 1> Installations OBIEE repository Server , OBIEE Presentation Sever , oc4j or any other web server , JDK , Oracle Client Instlaation ,Clustering(not everyone does clustering) , Helping user with OBIEE briefing book component and OBIEE MS Office component installations , BI Publisher 2> Configurations Configuraing MUDE( Multi User Development Environment) OBIEE scheduler , Usage Tracking , Security integration between rpd and BI Publisher ,Repository Sever and Presentation Server configuration changes , Cluster Configs ,Cache etc 3>Security Over all security , SSO , OBIEE content and Data level security etc 3>Merge and Migrations OBIEE Repository and Catalogs as well as BI Publisher reports merge and migrations 4>Space Management- Server space management for various log file , cache files , back up files etc 5>Monitoring Monitoring the over all obiee usage on server and capture the usage spikes etc to improve the performance 6> Uptime Over all uptime of server Linux v/s Window Environment Basic Obiee Administration activity on both Windows and Linux are pretty much the same. Its way of doing it differs on 2 environments. e.g starting/stoping services , Taking back up rpd and web cat ,changing some config parameters like cache etc. Bottom Line - One will be do the tasks on Linux as one does on Windows.As both Platforms are different you will have to do it differently to achieve the same task. Best place to start I would suggest go through Oracle By Example for OBIEE, then read OBIEE documentation and internet blogs and most important get your hand dirty by working on Admin tasks. What are the cache management? Name all of them and their uses. For Event polling table do u need the table in your physical layer? o Monitoring and managing the cashe is cache management.There are three ways to do that. o Disable caching for the system.(INI NQ config file), Cashe persistence time for specified physical tables and Setting event polling table. o Disable caching for the system.(INI NQ config file : You can disable caching for the whole system by setting the ENABLE parameter to NO in the NQSConfig.INI file and restarting the Siebel Analytics Server. Disabling caching stops all new cache entries and stops any new queries from using the existing

cache. Disabling caching allows you to enable it at a later time without losing any entries already stored in the cache. o Cashe persistence time for specified physical tables : You can specify a cachable attribute for each physical table; that is, if queries involving the specified table can be added to the cache to answer future queries. To enable caching for a particular physical table, select the table in the Physical layer of the Administration Tool and select the option Make table cachable in the General tab of the Physical Table properties dialog box. You can also use the Cache Persistence Time settings to specify how long the entries for this table should persist in the query cache. This is useful for OLTP data sources and other data sources that are updated frequently, potentially down to every few seconds. o Setting event polling table : Siebel Analytics Server event polling tables store information about updates in the underlying databases. An application (such as an application that loads data into a data mart) could be configured to add rows to an event polling table each time a database table is updated. The Analytics server polls this table at set intervals and invalidates any cache entries corresponding to the updated tables. o For event polling table ,It is a standalone table and doesnt require to be joined with other tables in the physical layer Purpose of Alias Tables o An Alias table (Alias) is a physical table with the type of Alias. It is a reference to a logical table source, and inherits all its column definitions and some properties from the logical table source. A logical table source shows how the logical objects are mapped to the physical layer and can be mapped to physical tables, stored procedures, and select statements. An alias table can be a reference to any of these logical table source types. o Alias Tables can be an important part of designing a physical layer. The following is a list of the main reasons to create an alias table: To reuse an existing table more than once in your physical layer (without having to import it several times) To set up multiple alias tables, each with different keys, names, or joins o To help you design sophisticated star or snowflake structures in the business model layer. Alias tables are critical in the process of converting ER Schemas to Dimensional Schemas.

Creating a new/blank Web Catalog


1. Create a new/empty directory within the $ORACLEBIDATA/web/catalog directory where BI presentation Server is installed

2. Then edit catalogpath in: $ORACLEBIDATA/web/config/instanceconfig.xml file to point to this new directory.
3. Then

stop and start the BI Presentation Server service, this will create necessary folder structure within this folder.

Use complex join to define relationship between facts and dimensions in BMM layer.
What are the other ways of improving summary query reports other than Aggregate Navigation and Cache Management 1. Indexes 2. Join Algorithm 3. Materialized and view query rewrite

What is level-base matrics? Level-base matrics means, having a measure pinned at a certain level of the dimension. For Example, if you have a measure called Dollars, you can create a Level Based Measure called Yearly Dollars which (you guessed it) is Dollars for a Year.
What is a Variable Variables are used in a repository to streamline administrative tasks and to change metadata content dynamically to adjust to a changing data environment.

What is system variable and non system variable? System variables are session variables with reserved names used for specific purposes. They are prefixed with NQ_SESSION. Non-System variables common use is for setting USE FILTERS for example define a non-system variable called sales region that would be initialized to the name of the users sales region. A security filter for all members of a group would allow them see only data pertinent to their region. What are different types of variables? Explain each 1. Repository variables: Has a single value at always. Two types are static which are persistent until changed by BI Admin. Dynamic repository variables are refreshed by by data from queries. This requires creation of initialization block or use of preexisting one that contains a sql query that periodically refreshes variable value according to set up schedule 2. Session variables are created and assigned a value when each user logs on. There are two types of session variables: 1.system 2.nonsystem. Define pipeline. Did you use it in your projects? Yes, pipelines are the stages in a particular transaction. assessment, finance etc How do you work in a multi user environment? What are the steps? 1. create a shared directory on the for multi-user development (MUD) 2. Open the RPD to use in the MUD from Tools=>options => multiusers setup the MUD directory to point to this directory 3. Define projects within the RPD to allow multiple users to develop within their subject area or facts. 4. Save and move the RPD to setup shared directory above 5. Users work in the MUD mode opening admin tool with MUD => checkout project they need to work on not suing File open as you would normally do

6. Checkin changes after completing development. what are the things you can do in the BMM layer? o Aggrigation navigation,level base matrics,time series wizard,create new logical column,comlex join. How do you know which report is hitting which table, either the fact table or the aggregate table? o After running the report, go to Administration tab and go to click on Manage Sessions. There you can find the queries that are run and in the View Log option in the Session Management you can find which report is hitting which table Do you know about Initialization Blocks? Can you give me an example where you used them? o Init blocks are used for instantiating a session when a user logs in. o To create dynamic variable you have to create Initialization Blocks to write sql statement Oracle doesnt recommend Opaque Views because of performance considerations, so why/when do we use them? o an opaque view is a physical layer table that consists of select statement. an opaque view should be used only if there is no other solution How do you identify what are the dimension tables and how do you decide them during the Business/Data modeling? o Dimension tables contain descriptions that data analysts use as they query the database. For example, the Store table contains store names and addresses; the Product table contains product packaging information; and the Period table contains month, quarter, and year values. Every table contains a primary key that consists of one or more columns; each row in a table is uniquely identified by its primary-key value or values.
Using a Presentation Variable
A presentation variable can be created as part of the process for creating a column or variable prompt. When part of a column prompt, it is associated with a specific column and takes on that column's value. If part of a variable prompt, you define the values that the prompt can have as it is not associated with any specific column. The name and value of the presentation variable is determined by the user when it is initially declared or when it is referenced in the analysis, dashboard, or agent. Note: Creating a Narrative view to your analysis is an example of presentation variable.

OBIEE ON UNIX SECTION


Oracle BI uses shell scripts located in the directory:

for 10g: OracleBI_HOME/setup. for 11g: ORACLE_INSTANCE/bifoundation/OracleBIApplication/coreapplication/set up

To set environment variables and run specific component shell commands. The main administration scripts (scripts which call other scripts) are:
oc4j (start OC4J) run-sa.sh (calls user.sh and starts the Oracle BI Server) run-saw.sh (calls saw.sh and starts the Oracle BI Presentation Services.) run-sch.sh (for BI Scheduler) run-ccs.sh (for the Cluster Controller) sa-cli.sh (Sets up the environment for running the Oracle BI Client)

8.4 Configuring an ODBC DSN for the Oracle BI Server on Linux or UNIX
This section explains how to create an ODBC DSN for the Oracle BI Server on Linux or UNIX to enable remote client access. On Linux and UNIX systems, the file odbc.ini contains the standard or clustered Oracle BI ODBC connection details that are used by Oracle BI Presentation Services and nqcmd processes. Do not change the DSN logical name, or the Primary and Secondary Cluster Controller and Port parameters for the centrally managed default DSN. To create an ODBC DSN for the Oracle BI Server on Linux or UNIX: 1. Log on as a separate telnet session. 2. Open the odbc.ini file for editing. You can find this file at:

3. ORACLE_INSTANCE/bifoundation/OracleBIApplication /coreapplication/setup/odbc.ini
4. In the section [ODBC Data Sources], add the new data source name you want to create and define it as an Oracle BI Server data source. For example:

5. [ODBC Data Sources] 6. my_new_dsn = Oracle BI Server


7. Add a section for the new DSN and provide parameters as follows:

8. [my_new_dsn]

9. Driver = ORACLE_HOME/bifoundation/server/bin/call_interfa ce.library_suffix 10. ServerMachine = local 11. Port = bi_server_port_number 12. ForwardOnlyCursor = No 13. SelectPhysical = No 14. Regional = Yes

WebLogic
In OBIEE 11G, the users are created and administered using the weblogic console. The users for obiee are to be migrated to the BI repository in order to access the query log. what does WebLogic do At a high level, WebLogic provides the following functions for OBIEE 11g:

It hosts the WebLogic LDAP server, the default authentication provider (i.e., user directory) for OBIEE 11g, which is where users and groups are now stored instead of holding them in the RPD file It also provides other security providers used by OBIEE It hosts the much wider range of java components that you get with OBIEE 11g now, including ones for web service and SOA integration which themselves make use of WebLogic integration functionality It hosts the WebLogic Admin Server, Oracle Enterprise Manager Fusion Middleware Control, two web-based admin tools for OBIEE 11g, and the MBeans that Enterprise Manager and the Admin Console use to perform their administration functions

Vous aimerez peut-être aussi