Pages

Saturday, November 24, 2012

What is Autosys ?


What is Autosys?
• An automated job control system for scheduling,monitoring and reporting jobs
• The jobs can reside on an Autosys configured machine attached to a network

What is an Autosys Job?
• A single action performed on a validated machine
• Autosys jobs can be defined using GUI or JIL
• Any single command,executable script or NT batch file.It includes a set of qualifying attributes ,conditions specifying when and where a job should be run.

Autosys jobs can be defined by assigning it a name and specifying attributes describing its behavior.

Two methods to define Autosys Jobs are:-
1. Using Autosys GUI
• Autosys GUI allows to set the attributes that describe when,where and how a job should be run.
• GUI Control Panel is used to define jobs.Contain fields that correspond to Autosys JIL sub-commands and attributes.

2. Using Job Information Language(JIL)
• A specification language that has its own commands to describe when,where and how a job should be run.
• The attributes are set b JIL sub-commands

Defining Autosys Jobs
There are the three methods you can use to create job definitions:

# By Autosys Web interface

# By AutoSys Graphical User Interface (GUI).

# By using AutoSys Job Information Language (JIL) through a command-line interface.

Autosys Job Types and Structure
There are three types of jobs:

Command,
File Watcher
Box.

-----------------------------------------------------------
System Components Autosys system components are:-
• Event Server
• Event Processor
• Remote Agent

Event Server (or Autosys Database)
# Data Repository that stores Autosys system information,events and job definitions.
# The Autosys Db is termed ‘Data Server’ which describes a server instance

Event Processor

# Interprets and processes all the events it reads from the Autosys Database

# A program that actually runs Autosys

# Scans the database for processing events. Checks if the events satisfy the starting conditions of the job and the determines the actions


Remote Agent

# Temporary process started by the event processor to perform a specific task on a remote machine

# It starts the command specified for a given job, sends running and completion information about a task to the Event Server

# If it is unable to transfer the information, it waits and tries until it successfully communicates with the Db


Interaction Between System Components

• Step1: From the Autosys event server(that holds the Events and Job Definitions info),the Event Processor reads the new event,checks for the condition,reads the job definition and determines the actions.

• Step2: The Remote Agent receives the instructions from the Event Processor

• Step3: The Remote Agent performs resource checks,ensuring minimum specified number of processors are available and then initiates a child process that runs the specified command

• Step4: The command completes and exits,with the Remote Agent capturing the command’s exit code.

• Step5: The Remote Agent directly communicates the event(exit code,status) to the Event Server.
Autosys Machines V/s Autosys Instances
Autosys architecture has two types of machines:-

• Server Machine:
# The machine on which the Event Processor and Event Server reside

• Client Machine:
# The machine on which the Remote Agent resides and where Autosys jobs are run.

What is an Autosys Instance?

• A version of Autosys software running as an Autosys server,with one or more clients,on single machine or on multiple machines
• An instance uses its own Event Server and Event Processor by operating independently of all other Autosys instances
• Multiple instances can run and schedule jobs on the same machine without affecting other instances on that machine.

Events
• Since Autosys in Event-driven,it requires an event to occur on which the job depends,for a job to be activated by the Event Processor.


• The sources of these events can be:-

# Jobs changing status such as starting,finishing
# Internal Autosys verification Agents such as detected errors.
# Events send with the SENDEVENT command

• While processing an event,the Event processor scans the database for jobs that are dependent on that event

• If the event satisfies another job’s starting condition,that job is run automatically and completion of that job can cause another job to be started,thereby making the jobs progress in a controlled sequence.

Alarms
• Alarms are special events that send notifications during situations requiring attention

• Addresses incidents that require manual intervention

• For example,a set of jobs could be dependent on the arrival of a file and if the file is long overdue.It is important that someone investiage the situation,make a decision and resolve the problem.

• Aspects of alarms include but is not limited to:-
# Alarms are informational only.Any action to be taken due to a problem is intiated by a separate action event.
# Alarms are system messages about a detected problem
# Alarms are sent through the system as an event

Utilities
• Autosys provides a set of commands that run essential utility programs for defining,controlling and reporting on jobs .

• For example the autorep command allows generating a variety of reports about job execution,and the sendevent commands allow manually controlling job processing.

• Additional utility programs are provided to assist in troubleshooting running monitors and browsers,and starting/stoping Autosys and its components.

• Autosys also provides database maintenance utility that runs daily by default

Autosys Work-Flow

Step1: The Event Processor scans the Event Server for the next event to processor.If no event is ready,the Event Processor scans again in 5 seconds.

• Step2: The Event Processor reads from the Event Server that an event is ready.The job definition and attributes are retrieved from the Event Server,including the command and the pointer to the profile file to be used for the job

• Step3: The Event Processor processes the event.The Event Processor attempts to establish a connection with the Remote Agent on the client machine and passes the job attributes to the client machne.The Event Processor sends a CHANGE_STATUS event marking in the Event Server that the job is in STARTING state

• Step4: The Remote Agent is invoked using the UserID and Password passed from the Event Processor.

• Step5: The Remote Agent receives the job parameters and sends an acknowledgement to the Event Processor

• Step6: The Remote Agent Starts a process and executes the command in the job definition.

• Step7: The Remote Agent issues a CHANGE_STATUS event marking in the Event Server that the job is in RUNNING state

• Step8: The client job process runs to completion,then returns an exit code to the Remote Agent and quits.

• Step9: The Remote Agent sends the Event Server a CHANGE_STATUS event corresponding to the completion status of the job.The Remote Agent quits
============================================================

/* -------------------- APT#gp#box#ps_1 ----------------- */

delete_job: APT#gp#box#ps_1
insert_job: APT#gp#box#ps_1
job_type: b
owner: PSdevl
permission: gx,ge
description: box for DIN34APT
alarm_if_fail: 1

/* -------------------- initialize ----------------- */
/* -------------- APT#gp#cmd#P0_initialize ------------- */

delete_job: APT#gp#cmd#P0_initialize
insert_job: APT#gp#cmd#P0_initialize
job_type: c
box_name: APT#gp#box#ps_1
command: /export/appl/PSdevl/src/run/pS001_initialize_id.ksh
machine: pm_ps_clust
owner: PSdevl
profile: /appl/PSdevl/.profile
permission: gx,ge
description: cmd for DIN34APT
std_out_file: /export/appl/PSdevl/serial/trans/log/$AUTO_JOB_NAME.log.$AUTORUN
std_err_file: /export/appl/PSdevl/serial/trans/err/$AUTO_JOB_NAME.err.$AUTORUN
alarm_if_fail: 1
=======================================================
Note:
gx -- group exicution
ge -- group edit
=======================================================
AutoSys Cheatsheet
=======================================================
SUB-COMMANDS

insert_job: Saves a brand-new job to the database
update_job: PERMANENTLY changes the definition of a pre-
existing job
override_job: TEMPORARILY changes the definition of a pre-
existing job
delete_job: Deletes a single job from the database
delete_box: Deletes a box as well as all the contents

ATTRIBUTES

job_type:command (c), file watcher (f), box (b)(command is default)
machine: Name of machine (or IP) where job is to be
run
command: Command to be executed (.exe, .sh, .bat)
watch_file: File being monitored by file watcher
box_name: Used to nest a job inside a box
std_out_file: Redirects output from a command job to a text
file
std_err_file: Redirects error messages to a text file
condition: Used to structure job dependencies (success,
failure, terminated, done, notrunning, exit code,
and value)
min_run_alarm: Causes job to issue an alarm if it finishes too
quickly
max_run_alarm: Causes a job to issue an alarm if it runs too
long
alarm_if_fail: States whether a job will issue an alarm if it
fails
date_conditions: Toggle which must be set in order for date/time
attributes to be recognized by AutoSys
run_calendar: Specifies the calendar a job will run off of
[cannot be used with days_of_week]
days_of_week: Specifies exact days a job will run [cannot be used with run_calendar]
start_times: Exact time each day a job will run [cannot be
used with start_mins]
start_mins: Minutes after each hour a job will execute
[cannot be used with start_times]
exclude_calendar: Specifies a calendar with days specified upon
which a job will not execute
watch_interval: Steady state for file watchers
watch_file_min_size: Minimum size a file must be before a file watcher can evaluate to success
box_success: Specifies custom success condition for a box
box_failure: Specifies custom failure condition for a box
max_exit_success: Specifies maximum exit code which will be
evaluated as a success
box_terminator: “If I fail, I kill the box I’m in”
job_terminator: “If the box I’m in fails or gets killed, I kill
myself”
term_run_time: “I kill myself after this many minutes”
chk_files: Resource check that verifies a minimum amount
of file space is available before running job
heartbeat_interval: Specifies frequency in minutes at which job’s
command is expected to issue a “heartbeat”
profile: Specifies a file which contains custom
environment variables to be used by a single job
std_in_file: Specifies a file to be used as input for a job
n_retrys: Specifies how many times a job should attempt to
re-run itself after an application-level failure
timezone: Specifies which timezone a job should use when
running
auto_delete: Specifies how many HOURS after successful
completion a job should delete itself from the
database
auto_hold: Used only with jobs in boxes. When the box goes
to a RUNNING state, the job will automatically go ON_HOLD
permission: Extend edit or execute permissions to others
run_window: Specifies when a job can start
avg_runtime: *Only accessible through JIL* Specifies how long
a job takes to run, on average

TOAD KEYBOARD SHORTCUTS


F1 ------------- Windows help file

F2 ------------- Toggle full screen editor

Shift+F2-------- Toggle full screen grid

F3---------------Find next occurrence

F4---------------Describe

F5---------------Set or delete a breakpoint in Proc Editor for
PL/SQL debugging or execute as script in SQL Editor.

F6---------------Toggle between SQL Editor and results panel.

F7-------------- Clear all text, trace into Proc Editor

F8---------------Recall previous SQL statement or step over in
Proc Editor for PL/SQL debugging.

F9--------------- Execute statement in SQL Editor compile in Proc Editor

Ctrl+F9---------- Verify statement without execution (parse) in SQL Editor, set parameters in Proc Editor for PL/SQL debugging.

Shift+F9--------- Execute current statement at cursor in SQL Editor or
execute current source in Proc Editor without PL/SQL debugging
F10-------------- Popup menu

F11------------- Run (continue execution) in Proc Editor for PL/SQL debugging

F12-------------- Run to cursor in Proc Editor for PL/SQL debugging.

ctrl+F12--------- Pass SQL or Proc Editor contents to specified external editor

ctrl+alt+B------- Display PL/SQL debugger breakpoints window

ctrl+D----------- Display procedure parameters

ctrl+alt+D------- Display PL/SQL debugger in DBMS output window

ctrl+E----------- Execute explain plan on current statement

ctrl+alt+E------- Display PL/SQL debugger evaluate/modify window

ctrl+G----------- Go to line

ctrl+L----------- Convert text to lowercase

ctrl+M----------- Make code statement

ctrl+N----------- Recall named SQL statement

ctrl+P----------- Strip code statement

ctrl+R----------- Find and replace

shift+ctrl+S---- Save file as

ctrl+alt+S------- Display PL/SQL debugger call stack window

ctrl+T------------ column dropdown

ctrl+U----------- Converts text to uppercase

ctrl+alt+W------- Display PL/SQL debugger watches window

ctrl+shift+z----- Redo last undo

alt+UP----------- Display previous statement

alt+DOWN--------- Display next statement (after alt+UP)

ctrl+HOME-------- In data grids, go to top of the recordset

ctrl+END--------- In data grids, go to end of the recordset

ctrl+TAB--------- Cycle through collection of MDI child windows

ctrl+(period)---- Auto completes tablenames

ctrl+ENTER-------- Execute current SQL (same as shift+F9)

Sunday, October 14, 2012

SCD Type 6 Implementation

SCD Type 6 / Hybrid Implementation:

The Type 6 method combines the approaches of types 1, 2 and 3  (1 + 2 + 3 = 6). One possible explanation of the origin of the term was  that it was coined by Ralph  Kimball during a conversation with Stephen Pace from Kalido[citation needed]Ralph Kimball calls this method "Unpredictable Changes with  Single-Version Overlay" in The Data Warehouse Toolkit[1].

The Supplier table starts out with one record for our example  supplier:

Supplier_Key Supplier_Code Supplier_Name Current_State Historical_State


123ABCAcme Supply CoCACA



The Current_State and the Historical_State are the same. The  Current_Flag attribute indicates that this is the current or most recent  record for this supplier.

When Acme Supply Company moves to Illinois, we add a new record, as  in Type 2 processing:

Supplier_Key Supplier_Code Supplier_Name Current_State Historical_State


123ABCAcme Supply CoILCA


124ABCAcme Supply CoILIL



We overwrite the Current_State information in the first record  (Supplier_Key = 123) with the new information, as in Type 1 processing.  We create a new record to track the changes, as in Type 2 processing.  And we store the history in a second State column (Historical_State),  which incorporates Type 3 processing.

If our example supplier company were to relocate again, we would add  another record to the Supplier dimension, and we would once again  overwrite the contents of the Current_State column:

Supplier_Key Supplier_Code Supplier_Name Current_State Historical_State


123ABCAcme Supply CoNYCA


124ABCAcme Supply CoNYIL


125ABCAcme Supply CoNYNY



Note that, for the current record (Current_Flag = 'Y'), the  Current_State and the Historical_State are always the same.

Wednesday, September 5, 2012

DataWareHousing - ETL Project Life Cycle ( Simple to understand )

> Data warehousing projects are categorized into 4 types.
1) Development Projects.
2) Enhancement Projects
3) Migration Projects
4) Production support Projects.

-> The following are the different phases involved in a ETL project development life cycle.
1) Business Requirement Collection ( BRD )
2) System Requirement Collection ( SRD )
3) Design Phase
a) High Level Design Document ( HRD )
b) Low level Design Document ( LLD )
c) Mapping Design
4) Code Review
5) Peer Review
6) Testing
a) Unit Testing
b) System Integration Testing.
c) USer Acceptance Testing ( UAT )
7) Pre - Production
8) Production ( Go-Live )

Business Requirement Collection :-
---------------------------------------------
-> The business requirement gathering start by business Analyst, onsite technical lead and client business users.
-> In this phase,a Business Analyst prepares Business Requirement Document ( BRD ) (or) Business Requirement Specifications ( BRS )
-> BR collection takes place at client location.
-> The o/p from BR Analysis are
-> BRS :- Business Analyst will gather the Business Requirement and document in BRS
-> SRS :- Senior technical people (or) ETL architect will prepare the SRS which contains s/w and h/w requirements.
The SRS will includes
a) O/S to be used ( windows or unix )
b) RDBMS required to build database ( oracle, Teradata etc )
c) ETL tools required ( Informatica,Datastage )
d) OLAP tools required ( Cognos ,BO )
The SRS is also called as Technical Requirement Specifications ( TRS )

Designing and Planning the solutions :-
------------------------------------------------
-> The o/p from design and planning phase is
a) HLD ( High Level Design ) Document
b)LLD ( Low Level Design ) Document
HLD ( High Level Design ) Document : -
An ETL Architect and DWH Architect participate in designing a solution to build a DWH.
An HLD document is prepared based on Business Requirement.
LLD ( Low Level Design ) Document : -

Based on HLD,a senior ETL developer prepare Low Level Design Document
The LLD contains more technical details of an ETL System.
An LLD contains data flow diagram ( DFD ), details of source and targets of each mapping.
An LLD also contains information about full and incremental load.
After LLD then Development Phase will start

Development Phase ( Coding ) :-
--------------------------------------------------
-> Based an LLD, the ETL team will create mapping ( ETL Code )
-> After designing the mappings, the code ( Mappings ) will be reviewed by developers.

Code Review :-
-> Code Review will be done by developer.
-> In code review,the developer will review the code and the logic but not the data.
-> The following activities takes place in code review
-> You have to check the naming standards of transformation,mappings of data etc.
-> Source and target mapping ( Placed the correct logic or not in mapping )

Peer Review :-
-> The code will reviewed by your team member ( third party developer )

Testing:-
--------------------------------
The following various types testing carried out in testing environment.
1) Unit Testing
2) Development Integration Testing
3) System Integration Testing
4) User Acceptance Testing
Unit Testing :-
-> A unit test for the DWH is a white Box testing,It should check the ETL procedure and Mappings.
-> The following are the test cases can be executed by an ETL developer.
1) Verify data loss
2) No.of records in the source and target
3) Dataload/Insert
4) Dataload/Update
5) Incremental load
6) Data accuracy
7) verify Naming standards.
8) Verify column Mapping
-> The Unit Test will be carried by ETL developer in development phase.
-> ETL developer has to do the data validations also in this phase.
Development Integration Testing -
-> Run all the mappings in the sequence order.
-> First Run the source to stage mappings.
-> Then run the mappings related to dimensions and facts.
System Integration Testing :-
-> After development phase,we have to move our code to QA environment.
-> In this environment,we are giving read-only permission to testing people.
-> They will test all the workflows.
-> And they will test our code according to their standards.
User Acceptance Testing ( UAT ) :-
-> This test is carried out in the presence of client side technical users to verify the data migration from source to destination.

Production Environment :-
---------------------------------
-> Migrate the code into the Go-Live environment from test environment ( QA Environment ).

Monday, September 3, 2012

Some Interesting Informatica Blogs

Sample Informatica Interview Questions - I

1.    Difference between static cache and dynamic cache?
In case of Dynamic cache when you are inserting a new row it looks at the lookup cache to see if the row existing or not, If not it inserts in the target and cache as well in case of Static cache when you are inserting a new row it checks the cache and writes to the target but not cache
If you cache the look up table, you can choose to use a dynamic or static cache. By default, the lookup cache remains static and does not change during the session. With a dynamic cache, the Informatica Server inserts or updates rows in the cache during the session. When you cache the target table as the lookup, you can look up values in the target and insert them if they do not exist, or update them if they do.

2.    Which transformation should we use to normalize the COBOL and relational sources?
Normalizer Transformation.

When we drag the COBOL source in to the mapping Designer workspace, the normalizer transformation automatically appears, creating input and output ports for every column in the source.

3.    What are the join types in joiner transformation?
Normal, Master Outer, Detail Outer, Full Outer

4. In which conditions we can not use joiner transformation (Limitations of joiner transformation)?
No restrictions.

you perform the following task before configuring the joiner transformation configure the transformation to use sorted data and define the join condition to receive sorted data in the same order as the sort origin .
In the conditions; either input pipeline contains an Update Strategy transformation, You connect a Sequence Generator transformation directly before the Joiner transformation
1.Both input pipelines originate from the same Source Qualifier transformation. 2. Both input pipelines originate from the same Normalizer transformation. 3. Both input pipelines originate from the same Joiner transformation. 4. Either input pipeline contains an Update Strategy transformation. 5. We connect a Sequence Generator transformation directly before the Joiner transformation.

5. What is the look up transformation?
Look-up is a passive transformation and used to look up data in a flat file or a relational table.

6.What are the difference between joiner transformation and source qualifier transformation?
1. Source Qualifier Operates only with relational sources within the same schema. Joiner can have either heterogeneous sources or relation sources in different schema 2. Source qualifier requires at least one matching column to perform a join. Joiner joins based on matching port. 3. Additionally, Joiner requires two separate input pipelines and should not have an update strategy or Sequence generator (this is no longer true from Infa 7.2).

7. Why use the lookup transformation?
Used to look up data in a relational table or view. In Inf 7.1, we can get from flat file also
Generally, look up is used to perform one of the following task: 

1. To get related value 2. to perform calculation 3. To update slowly changing dimension table
 4) check whether the record already existing in the table.

8. How can you improve session performance in aggregator transformation?
Yes, we can use a Sorted Input option to improve the performance. Basically aggregate transformation reduces the performance because it uses caches. Also, By using Incremental Aggregation.

9. What is meant by lookup caches?
    Session will read all unique rows from the reference table/ file to fill the local buffer first; then for each row received from up-stream transformation, it tries to match them against the local buffer.
Informatica server builts a cache in memory when it process the first row of a cached lookup transformation. 

1. When server runs a lookup transformation, the server builds a cache in memory, when it process the first row of data in the transformation. 2. Server builds the cache and queries it for the each row that enters the transformation. 3. The server creates index and data cache files in the lookup cache drectory and used the server code page to create the files. 4 index cache contains conductional values and data cache contains output values.
The informatica server builds a cache in memory when it processes the first row of a data in a cached look up transformation. It allocates memory for the cache based on the amount you configure in the transformation or session properties. The informatica server stores condition values in the index cache and output values in the data cache.

10. What is source qualifier transformation?
        SQ is an active tramsformation. It performs one of the following task: to join data from the same source database to filtr the rows when Power centre reads source data to perform an outer join to select only distinct values from the source. 

          In source qualifier transformation a user can defined join conditions,filter the data and eliminating the duplicates. The default source qualifier can over written by the above options, this is known as SQL Override.
The source qualifier represents the records that the Informatica server reads when it runs a session.
     When we add a relational or a flat file source definition to a mapping,we need to connect it to a source qualifier transformation.The source qualifier transformation represents the records that the informatica server reads when it runs a session.

11. How the informatica server increases the session performance through partitioning the source?
Partitioning the session improves the session performance by creating multiple connections to sources and targets and loads data in parallel pipe lines

12. What are the settings that you use to configure the joiner transformation?
Master group flow detail group flow join condition type of join take less no. of rows table as master table, more no of table as detail table and join condition. joiner will put all row from master table into cache and check condition with detail table rows.
1) Master Source 2) Detail Source 3) Type Of Join 4) Condition of Join

13. What are the rank caches?
     The informatica server stores group information in an index catche and row data in data cache. when the server runs a session with a Rank transformation, it compares an input row with rows with rows in data cache. If the input row out-ranks a stored row,the Informatica server replaces the stored row with the input row.
    During the session ,the informatica server compares an input row with rows in the data cache. If the input row out-ranks a stored row, the informatica server replaces the stored row with the input row. The informatica server stores group information in an index cache and row data in a data cache.

14. What is Code Page Compatibility?
When two code pages are compatible, the characters encoded in the two code pages are virtually identical. Compatibility between code pages is used for accurate data movement when the Informatica Sever runs in the Unicode data movement mode. If the code pages are identical, then there will not be any data loss. One code page can be a subset or super set of another. For accurate data movement, the target code page must be a superset of the source code page.

15. How can you create or import flat file definition in to the warehouse designer?
By giving server connection path
    Create the file in Warehouse Designer or Import the file from the location it exists or modify the source if the structure is one and the same. First create in source designer then drag into warhouse designer you can't create a flat file target definition directly.
   There is no way to import target definition as file in Informatica designer. So while creating the target definition for a file in the warehouse designer it is created considering it as a table, and then in the session properties of that mapping it is specified as file.
   You can not create or import flat file definition in to warehouse designer directly.Instead U must analyze the file in source analyzer,then drag it into the warehouse designer.When U drag the flat file source definition into warehouse designer workspace,the warehouse designer creates a relational target definition not a file definition.If u want to load to a file,configure the session to write to a flat file.When the informatica server runs the session,it creates and loads the flatfile.

16. What is aggregate cache in aggregator transformation?
        Aggregator Index Cache stores group by values from Group-By ports and Data Cache stores aggregate data based on Group-By ports (variable ports, output ports, non group by ports). When the PowerCenter Server runs a session with an Aggregator transformation, it stores data in memory until it completes the aggregation. If you use incremental aggregation, the Power Center Server saves the cache files in the cache file directory.
        The aggregator stores data in the aggregate cache until it completes aggregate calculations.When u run a session that uses an aggregator transformation,the informatica server creates index and data caches in memory to process the transformation.If the informatica server requires more space,it stores overflow values in cache files.

17. How can you recognize whether or not the newly added rows in the source are gets insert in the target?In the type-2 mapping we have three options to recognize the newly added rows. i) Version Number ii) Flag Value iii) Effective Date Range
we can add a count aggregator column to the target and generate it before running the mapping there might couple of different ways to do this or we can run a SQL query after running the mapping each time to make sure new data is inserted
From session SrcSuccessRows can be compared with TgtSuccessRows
check the session log or check the target table.

18. What are the types of metadata that stores in repository?
Following are the types of metadata that stores in the repository Database connections Global objects Mappings Mapplets Multidimensional metadata Reusable transformations Sessions and batches Short cuts Source definitions Target definitions Transformations.

19. What happens if Informatica server doesn't find the session parameter in the parameter file?
Workflow will fail.
 

20. Can you access a repository created in previous version of informatica?
We have to migrate the repository from the older version to newer version. Then you can use that repository.

21. Without using ETL tool can u prepare a Data Warehouse and maintain?
Yes we can do that using PL/ SQL or Stored procedures when all the data are in the same databases. If you have source as flat files you can?t do it through PL/ SQL or stored procedures.

22. How do you identify the changed records in operational data?
In my project source system itself sending us the new records and changed records from the last 24 hrs.

23. Why couldn't u go for Snowflake schema?
Snowflake is less performance while compared to star schema, because it will contain multi joins while retrieving the data.
Snowflake is preferred in two cases.

 1.  If you want to load the data into more hierarchical levels of information example yearly, quarterly, monthly, daily, hourly, minutes of information. Prefer snowflake.
 2. Whenever u found input data contain more low cardinality elements. You have to prefer snowflake schema. Low cardinality example: sex , marital Status, etc., Low cardinality means no of distinct records is very less while compared to total number of the records,

24. Name some measures in your fact table?
Sales amount.

25. How many dimension tables did you had in your project and name some dimensions (columns)?
Product Dimension : Product Key, Product id, Product Type, Product name, Batch Number.
Distributor Dimension: Distributor key, Distributor Id, Distributor Location,
Customer Dimension : Customer Key, Customer Id, CName, Age, status, Address, Contact
Account Dimension : Account Key, Acct id, acct type, Location, Balance,

26. How many Fact and Dimension tables are there in your project?
In my module (Sales) we have 4 Dimensions and 1 fact table.

27. How many Data marts are there in your project?
There are 4 Data marts, Sales, Marketing, Finance and HR. In my module we are handling only sales data mart.

28. What is the daily data volume (in GB/records)? What is the size of the data extracted in the extraction process?

Approximately average 40k records per file per day. Daily we will get 8 files from 8 source systems.

29. What is the size of the database in your project?
Based on the client's database, it might be in GB's.

30. What is meant by clustering?
It will join two (or more) tables in single buffer, will retrieve the data easily.

31. Whether are not the session can be considered to have a heterogeneous target is determined?
It will consider (there is no primary key and foreign key relationship)

32. Under what circumstance can a target definition are edited from the mapping designer. Within the mapping where that target definition is being used?

We can't edit the target definition in mapping designer. we can edit the target in warehouse designer only. But in our projects, we haven't edited any of the targets. if any change required to the target definition we will inform to the DBA to make the change to the target definition and then we will import again. We don't have any permission to the edit the source and target tables.

33. Can a source qualifier be used to perform a outer join when joining 2 database?
No, we can't join two different databases join in SQL Override.

34. If u r source is flat file with delimited operator.when next time u want change that delimited operator where u can make?In the session properties go to mappings and click on the target instance click set file properties we have to change the delimited option.

35. If index cache file capacity is 2MB and data cache is 1 MB. If you enter the data of capacity for index is 3 MB and data is 2 MB. What will happen?
Nothing will happen based the buffer size exists in the server we can change the cache sizes. Max size of cache is 2 GB.
 

36. Difference between next value and current value ports in sequence generator?
Assume that they r both connected to the input of another transformer?
It will gives values like nextvalue 1, currval 0.

37. How does dynamic cache handle the duplicates rows?
Dynamic Cache will gives the flags to the records while inserting to the cache it will gives flags to the records, like new record assigned to insert flag as "0", updated record is assigned to updated flag as "1", No change record assigned to rejected flag as "2"

38. How will u find whether your mapping is correct or not without connecting session?
Through debugging option.

39. If you are using aggregator transformation in your mapping at that time your source contain dimension or fact?
According to requirements, we can use aggregator transformation. There is no limitation for the aggregator. We should use source as dimension or fact.

40. My input is oracle and my target is flat file shall I load it? How?
Yes, Create flat file based on the structure match with oracle table in warehouse designer than develop the mapping according requirement and map to that target flat file. Target file is created in TgtFiles directory in the server system.

41. for a session, can I use 3 mappings?
No, for one session there should be only one mapping. We have to create separate session for each mapping.

42. Type of loading procedures?
Load procedures are two types 1) Normal load 2) bulk loads if you are talking about informatica level. If you are talking about project load procedures based on the project requirement. Daily loads or weekly loads.

43. Are you involved in high level r low level design? What is meant by that high level design n low level design?

Low Level design:
Requirements should be in the excel format which describes field to field validations and business logic needs to present. Mostly onsite team will do this Low Level design.
High Level Design:
Describes the informatica flow chart from source qualifier to target simply we can say flow chart of the informatica mapping. Developer will do this design document.

44. what r the dimension load methods?
Daily loads or weekly loads based on the project requirement.

45. where we are using lkp t/r source to stage or stage to target?
Depend on the requirement. There is no rule we have to use in this stage only.

46. How will you do SQL tuning?
We can do SQL tuning using Oracle Optimizer, TOAD software.

47. did u use any other tools for scheduling purpose other than workflow manager or pmcmd?
Using third party tools like "Control M".

48. What is SQL mass updating?
Update (select hs1.col1 as hs1_col1
, hs1.col2 as hs1_col2
, hs1.col3 as hs1_col3
, hs2.col1 as hs2_col1
, hs2.col2 as hs2_col2
, hs2.col3 as hs2_col3
From hs1, hs2
Where hs1.sno = hs2.sno)
set hs1_col1 = hs2_col1
, hs1_col2 = hs2_col2
, hs1_col3 = hs2_col3;

49. what is unbounded exception in source qualifier?
"TE_7020 Unbound field in Source Qualifier" when running session
A) Problem Description:
When running a session the session fails with the following error:
TE_7020 Unbound field in Source Qualifier "
Solution:
This error will occur when there is an inconsistency between the Source Qualifier and the source table.
Either there is a field in the Source Qualifier that is not in the physical table or there is a column
of the source object that has no link to the corresponding port in the Source Qualifier.
To resolve this, re-import the source definition into the Source Analyzer in Designer.
Bring the new Source definition into the mapping.This will also re-create the Source Qualifier.
Connect the new Source Qualifier to the rest of the mapping as before.

50. Using unconnected lookup how we you remove nulls n duplicates?
We can't handle nulls and duplicates in the unconnected lookup. We can handle in dynamic connected lookup.

51. I have 20 lookup, 10 joiners, 1 normalizer how will you improve the session performance?
We have to calculate lookup & joiner caches size

52. What is version controlling?
It is the method to differentiate the old build and the new build after changes made to the existing code. For the old code v001 and next time u have to increase the version number as v002 like that. In my last company we haven't use any version controlling. We just delete the old build and replace with the new code.
We don't maintain version controlling in informatica. We are maintaining the code in VSS (Virtual visual Source) that is the software with maintain the code with versioning. Whenever client made change request came once the production starts we have to create another build.

53. How is the Sequence Generator transformation different from other transformations?
         The Sequence Generator is unique among all transformations because we cannot add, edit, or delete its default ports (NEXTVAL and CURRVAL).
         Unlike other transformations we cannot override the Sequence Generator transformation properties at the session level. This protects the integrity of the sequence values generated.

54.What are the advantages of Sequence generator? Is it necessary, if so why?
We can make a Sequence Generator reusable, and use it in multiple mappings. We might reuse a Sequence Generator when we perform multiple loads to a single target.
For example, if we have a large input file that we separate into three sessions running in parallel, we can use a Sequence Generator to generate primary key values. If we use different Sequence Generators, the Informatica Server might accidentally generate duplicate key values. Instead, we can use the same reusable Sequence Generator for all three sessions to provide a unique value for each target row.

55. What are the uses of a Sequence Generator transformation?
We can perform the following tasks with a Sequence Generator transformation:
o    Create keys
o    Replace missing values
o    Cycle through a sequential range of numbers

56.What is the difference between connected lookup and unconnected lookup?
Connected Lookup   
Receives input values directly from the pipeline.   
We can use a dynamic or static cache   
Supports user-defined default values   

Unconnected Lookup
Receives input values from the result of a :LKP expression in another transformation.
We can use a static cache
Does not support user-defined default values

57. What is a Look up transformation and what are its uses?
We use a Look up transformation in our mapping to look up data in a relational table, view or synonym. We can use the Lookup transformation for the following purposes:
1. Get a related value. For example, if our source table includes employee ID, but we want to include the employee name in our target table to make our summary data easier to read.

2. Perform a calculation. Many normalized tables include values used in a calculation, such as gross sales per invoice or sales tax, but not the calculated value (such as net sales).
3. Update slowly changing dimension tables. We can use a Lookup transformation to determine whether records already exist in the target.

58.What is a lookup table?
The lookup table can be a single table, or we can join multiple tables in the same database using a lookup query override. The Informatica Server queries the lookup table or an in-memory cache of the table for all incoming rows into the Lookup transformation.
If your mapping includes heterogeneous joins, we can use any of the mapping sources or mapping targets as the lookup table.

59. Where do you define update strategy?
We can set the Update strategy at two different levels:
1. Within a session: When you configure a session, you can instruct the Informatica Server to either treat all records in the same way (for example, treat all records as inserts), or use instructions coded into the session mapping to flag records for different database operations.

2. Within a mapping: Within a mapping, you use the Update Strategy transformation to flag records for insert, delete, update, or reject.

60. What is Update Strategy?
When we design our data warehouse, we need to decide what type of information to store in targets. As part of our target table design, we need to determine whether to maintain all the historic data or just the most recent changes.
The model we choose constitutes our update strategy, how to handle changes to existing records.
Update strategy flags a record for update, insert, delete, or reject. We use this transformation when we want to exert fine control over updates to a target, based on some condition we apply. For example, we might use the Update Strategy transformation to flag all customer records for update when the mailing address has changed, or flag all employee records for reject for people no longer working for the company

61. What are the tools provided by Designer?
The Designer provides the following tools:
1. Source Analyzer. Use to import or create source definitions for flat file, XML, Cobol, ERP, and relational sources. 2. Warehouse Designer. Use to import or create target definitions. 3. Transformation Developer. Use to create reusable transformations. 4. Mapplet Designer. Use to create mapplets. 5. Mapping Designer. Use to create mappings.

62. What are the different types of Commit intervals?
The different commit intervals are:
1)Target-based commit. The Informatica Server commits data based on the number of target rows and the key constraints on the target table. The commit point also depends on the buffer block size and the commit interval.
2) Source-based commit. The Informatica Server commits data based on the number of source rows. The commit point is the commit interval you configure in the session properties.

63. What is Event-Based Scheduling?
When you use event-based scheduling, the Informatica Server starts a session when it locates the specified indicator file. To use event-based scheduling, you need a shell command, script, or batch file to create an indicator file when all sources are available. The file must be created or sent to a directory local to the Informatica Server. The file can be of any format recognized by the Informatica Server operating system. The Informatica Server deletes the indicator file once the session starts.
Use the following syntax to ping the Informatica Server on a UNIX system:
pmcmd ping [{user_name | %user_env_var} {password | %password_env_var}] [hostname:]portno
Use the following syntax to start a session or batch on a UNIX system:
pmcmd start {user_name | %user_env_var} {password | %password_env_var} [hostname:]portno [folder_name:]{session_name | batch_name} [:pf=param_file] session_flag wait_flag
Use the following syntax to stop a session or batch on a UNIX system:
pmcmd stop {user_name | %user_env_var} {password | %password_env_var} [hostname:]portno[folder_name:]{session_name | batch_name} session_flag
Use the following syntax to stop the Informatica Server on a UNIX system:
pmcmd stopserver {user_name | %user_env_var} {password | %password_env_var} [hostname:]portno

64.I have the Administer Repository Privilege, but I cannot access a repository using the Repository Manager?
To perform administration tasks in the Repository Manager with the Administer Repository privilege, you must also have the default privilege Browse Repository. You can assign Browse Repository directly to a user login, or you can inherit Browse Repository from a group.

65. My privileges indicate I should be able to edit objects in the repository, but I cannot edit any metadata?
You may be working in a folder with restrictive permissions. Check the folder permissions to see if you belong to a group whose privileges are restricted by the folder owner.

66. How does read permission affect the use of the command line program, pmcmd?
To use pmcmd, you do not need to view a folder before starting a session or batch within the folder. Therefore, you do not need read permission to start sessions or batches with pmcmd. You must, however, know the exact name of the session or batch and the folder in which it exists.
With pmcmd, you can start any session or batch in the repository if you have the Session Operator privilege or execute permission on the folder.

67. I do not want a user group to create or edit sessions and batches, but I need them to access the Server Manager to stop the Informatica Server?
To permit a user to access the Server Manager to stop the Informatica Server, you must grant them both the Create Sessions and Batches, and Administer Server privileges. To restrict the user from creating or editing sessions and batches, you must restrict the user's write permissions on a folder level.
Alternatively, the user can use pmcmd to stop the Informatica Server with the Administer Server privilege alone.

68. I created a new group and removed the Browse Repository privilege from the group. Why does every user in the group still have that privilege?
Privileges granted to individual users take precedence over any group restrictions. Browse Repository is a default privilege granted to all new users and groups. Therefore, to remove the privilege from users in a group, you must remove the privilege from the group, and every user in the group.

69. After creating users and user groups, and granting different sets of privileges, I find that none of the repository users can perform certain tasks, even the Administrator?

Repository privileges are limited by the database privileges granted to the database user who created the repository. If the database user (one of the default users created in the Administrators group) does not have full database privileges in the repository database, you need to edit the database user to allow all privileges in the database.

70. What are the different types of locks?
There are five kinds of locks on repository objects:
1. Read lock. Created when you open a repository object in a folder for which you do not have write permission. Also created when you open an object with an existing write lock.

2. Write lock. Created when you create or edit a repository object in a folder for which you have write permission.
3. Execute lock. Created when you start a session or batch, or when the Informatica Server starts a scheduled session or batch. 

4. Fetch lock. Created when the repository reads information about repository objects from the database.
5. Save lock. Created when you save information to the repository.

71. What is Local Repository?
Each local repository in the domain can connect to the global repository and use objects in its shared folders. A folder in a local repository can be copied to other local repositories while keeping all local and global shortcuts intact.

72. What is a Global repository?
The centralized repository in a domain, a group of connected repositories. Each domain can contain one global repository. The global repository can contain common objects to be shared throughout the domain through global shortcuts. Once created, you cannot change a global repository to a local repository. You can promote an existing local repository to a global repository.

73. When should you create the dynamic data store? Do you need a DDS at all?
To decide whether you should create a dynamic data store (DDS), consider the following issues:
      Answer1: How much data do you need to store in the DDS? The one principal advantage of data marts is the selectivity of information included in it. Instead of a copy of everything potentially relevant from the OLTP database and flat files, data marts contain only the information needed to answer specific questions for a specific audience (for example, sales performance data used by the sales division). A dynamic data store is a hybrid of the galactic warehouse and the individual data mart, since it includes all the data needed for all the data marts it supplies. If the dynamic data store contains nearly as much information as the OLTP source, you might not need the intermediate step of the dynamic data store. However, if the dynamic data store includes substantially less than all the data in the source databases and flat files, you should consider creating a DDS staging area.
     Answer2: What kind of standards do you need to enforce in your data marts? Creating a DDS is an important technique in enforcing standards. If data marts depend on the DDS for information, you can provide that data in the range and format you want everyone to use. For example, if you want all data marts to include the same information on customers, you can put all the data needed for this standard customer profile in the DDS. Any data mart that reads customer data from the DDS should include all the information in this profile.
     Answer3: How often do you update the contents of the DDS? If you plan to frequently update data in data marts, you need to update the contents of the DDS at least as often as you update the individual data marts that the DDS feeds. You may find it easier to read data directly from source databases and flat file systems if it becomes burdensome to update the DDS fast enough to keep up with the needs of individual data marts. Or, if particular data marts need updates significantly faster than others, you can bypass the DDS for these fast update data marts.
      Answer4: Is the data in the DDS simply a copy of data from source systems, or do you plan to reformat this information before storing it in the DDS? One advantage of the dynamic data store is that, if you plan on reformatting information in the same fashion for several data marts, you only need to format it once for the dynamic data store. Part of this question is whether you keep the data normalized when you copy it to the DDS.
    Answer5: How often do you need to join data from different systems? On occasion, you may need to join records queried from different databases or read from different flat file systems. The more frequently you need to perform this type of heterogeneous join, the more advantageous it would be to perform all such joins within the DDS, then make the results available to all data marts that use the DDS as a source.

74. What are Shortcuts?
We can create shortcuts to objects in shared folders. Shortcuts provide the easiest way to reuse objects. We use a shortcut as if it were the actual object, and when we make a change to the original object, all shortcuts inherit the change.
       Shortcuts to folders in the same repository are known as local shortcuts. Shortcuts to the global repository are called global shortcuts.
We use the Designer to create shortcuts.

75. What are Sessions and Batches?
Sessions and batches store information about how and when the Informatica Server moves data through mappings. You create a session for each mapping you want to run. You can group several sessions together in a batch. Use the Server Manager to create sessions and batches.

76. Why do we need SQL overrides in Lookup transformations?
In order to lookup more than one value from one table, we go for SQL overrides in Lookups.

77. Which ETL tool is more preferable Informatica or Data Stage and why?
Preference of an ETL tool depends on affordability and functionality. It is mostly a tradeoff between the price and feature. While Informatica has been a market leader since the past many years, DataStage is beginning to pick up momentum.

78. What is the use of auxiliary mapping?
Auxiliary mapping reflects change in one table whenever there is a change in the other table.

79. What is authenticator?
It validates user name and password to access the PowerCenter repository.

80. How do we create primary key only on odd numbers?
To create primary key, we use sequence generator and set the 'Increment by' property of sequence generator to 2.

81. What is the difference between source qualifier transformation and application source qualifier transformation?

Source qualifier transformation extracts data from RDBMS or from a single flat file system. Application source qualifier transformation extracts data from application sources like ERP.

82. What is the use of control break statements?
They execute a set of codes within the loop and endloop.

83. What is the use of tracing levels in transformation?
Tracing levels store information about mapping and transformations.

84. What are the different types of OLAP TECHNOLOGY?
Online Analytical process is of three types, they are MOLAP, HOLAP and ROLAP. MOLAP Multidimensional online analytical process. It is used for fast retrieval of data and also for slicing and dicing operations. It plays a vital role in easing complex calculations. ROLAP Relational online analytical process. It has the ability to handle large amount of data. HOLAP Hybrid online analytical process. It is a combination of both HOLAP and MOLAP.

85. What is Data Modeling? What are the different types of Data Modeling?
Data modeling is a process of creating data models. In other words, it is structuring and organizing data in a uniform manner where constraints are placed within the structure.The Data structure formed are maintained in a database management system. The Different types of Data Modeling are: 1. Dimension Modelling 2. E-R Modelling

86. What is the need of building a data warehouse?
The need of building a data warehouse is that, it acts as a storage fill for a large amount of data. It also provides end user access to a wide variety of data, helps in analyzing data more effectively and also in generating reports. It acts as a huge repository for integrated information.

87. What is drill-down and drill-up?
Both drill-down and drill-up are used to explore different levels of dimensionally modeled data. Drill-down allows the users view lower level (i.e. more detailed level) of data and drill-up allows the users to view higher level (i.e. more summarized level) of data.

88. What is cube?
Cube is a multidimensional representation of data. It is used for analysis purpose. A cube gives multiple views of data.

89. Where did u use the Unix shell scripts in informatica projects?
To concatenate 2 or more Flat files, Workflow scheduling, File watcher script.

90. how to u generate surrogate keys for tables with more than 2 billion records (surrogate key is a primary key field)?

 Do not use sequence generator, But use a Expression variable increment & look up transformation to get the last value used from target.

91. how do u propagate date column to a flat file, if u need format to be DD-MON-YYYY?
Using To_date function before loading to flat file?
 

92. If you use sorted I/P option in Aggregator but gave it Unsorted I/P then what will happen?
Fails the session with error messg 'Expecting keys to be ascending'.

93. If i have 100 rows given as I/P to aggregator & want 100 rows as O/P then how can u achieve that?(none of the columns are primary key)?
Aggregator is an active transformation. So you can't expect it to give exact number of output rows for all input rows you have given to it.

94. If i have 100 rows given as I/P to aggregator & want just 100th row as O/P then how can u achieve that?

If you don't select any group by port in ports tab of aggregator transformation then informatica is only going to give last row as output for all the numerous records given to it as input.

95. What are all the conditions (=, Not Between) you have in Lookup  in Joiner?
Lookup (=, !=, >=, <=, >, <), Joiner (= only )


96. If i had a flat file, Can i over ride SQL in Source Qualifier or Lookup?
You can never over ride a SQL Query when you are playing with flat files.

97. If i have a flat file target, When i click it in the Workflow manager, What all properties would i get?
File Writer, Merge Partitioned file, Merge File name, Merge File Dir, O/P file name, O/P file dir, Reject file name, Reject file dir.

98. What is the use of Return Port & Output port in Lookup Transformation?
By default all the ports in lookup transformation are Look up & O/P ports. Return ports are only used in Unconnected lookup & You need have at least 1 Output port in Connected lookup. (cant explain in detail here...)

99. If i have used 2 update strategies in my mapping..1 for insert & other for delete, then I changed target option in session properties from data driven to delete...then how is my mapping going to perform ? (all deletes or insert & delete)
Workflow succeeds but you get an error mesg in logs saying target did not permit to insert & all the records marked for inserts are loaded into bad file.

100. Scenario for using dynamic lookup?
Loading data from flat file to a table, But the data in file is violating primary key constraint of table due to duplicate data

101. Why you need surrogate key instead of OLTP primary key, Tell a scenario where it’s mandatory to use surrogate key?
Ans: If prod key is numeric before & OLTP People decided to go for alphanumeric, we may have to change all data types. in warehouse where that key is involved. So best to keep it away from business defined values, To track SCD

102. What’s the default & Max size of data cache?
20 MB, 2 GB

103. What is materialized view, how it’s going to improve performance.
Ans: It creates physical table unlike normal view

104. When you use bitmap indexes?
Ans: when cardinality is low, distinct rows <> Newfile.txt

105. what is implicit cursor & explicit cursor in oracle?
Ans: Implicit cursor is a defined for every query executed. Its attributes can be retrieved after executing query using SQL as prefix Ex: sql%rowcount. Explicit cursor is the cursors what we define manually.

106. what is the cursor attributes?
Ans:%found
%notfound
%rowcount

107. how would you stop session row if a value for particular column is matched to a given value?
Ans: use abort function of informatica in expression transformation

108. how about error function in informatica?
Ans: it logs the error message you defined in the session log if particular condition is satisfied

109. levels of logs you can maintain in informatica sessions?
Ans: Terse,Normal,And Verbose

110. how to run sequential sessions only if previous session loads at least one row in target?
Ans: Defined a link condition between sessions with TgtSuccessrows>0

111. difference between max & greatest functions in oracle?
Ans: Greatest gives greatest of 2 values, max is the max value of all available values

112. how you get number of rows returned by lookup when a condition matches?
Ans: Define a new column & use SQL override with count(*)

113. how can you configure informatica workflow to run only on first working day of the month?
Ans: Define a calendar & go with a session or script.

114. when you go for sql overrides?
Ans: When you want to share some processing load with Database, When it’s more effective

115. what are types of triggers, difference between row level & statement level trigger?
Ans: after/before statement level/row level insert/delete/update

116. Can you join 2 tables using SQL override in Lookup transformation
Ans: Yes

117. If a session fails, What are the steps you follow in resolving it?
Ans: check session logs with various tracing levels.

118. How you filter records in TOAD?
Ans: Use filter icon & Add rule on columns

119. What is persistent cache in lookup transformation?
Ans: Its remains even after session run, useful in incremental aggregation

120. how did you implement incremental extraction?
Ans: Mostly using set variable or some way of truncating stage tables or use parameter files

121. tell me about 'set variable' function in Informatica?
Ans: Set a value to variable depending on the last row processed

122. if you change properties in session, which one takes preference, is it mapping level or session level?
Ans: Session Level

123. Syntax for defining a parameter in parameter file?
Ans: Folder - workflow - session – mapplet

124. How would you identify why a record is rejected?
Ans: (D,O,N,T Indicators).

Monday, March 26, 2012

New Releases of OBI Software Enable Enterprises to Improve Timely, Accurate, and Role-Based Insight.

To help organizations achieve better business visibility and alignment, Oracle today introduced new releases of its complete, integrated and scalable business intelligence products including Oracle Business Intelligence, Oracle Business Intelligence Applications and Oracle Real-Time Decisions.

The new product capabilities delivered span out-of-the-box iPad and iPhone support, extended OLAP tools and in-memory platform support, enhanced real-time decision management features, new certifications, and more.

Enterprise-Class Analytics and Actionable Intelligence on the Go

The new Oracle Business Intelligence Release 11.1.1.5 introduces support for the iPad and iPhone. This release provides on-the-go access to the complete range of alert, ad hoc analysis, dashboard, reporting, scorecard, “what-if” analysis, and unified relational OLAP (R-OLAP) and multidimensional OLAP (M-OLAP) content of Oracle Business Intelligence.

In addition, users now have the ability to initiate actions and workflows directly from their mobile devices – helping to reduce the time needed to make decisions while enabling a more flexible, agile organization. Oracle Business Intelligence Release 11.1.1.5 content is optimized for use with the iPad and iPhone – without requiring design changes to existing reports and dashboards.

This new product release also introduces extended support for additional data sources including Oracle TimesTen In-Memory Database, Oracle OLAP, Microsoft SQL Server Analysis Services and SAP Business Information Warehouse (BW). Oracle Business Intelligence is a component of the Oracle Business Intelligence (BI) Foundation Suite, which offers organizations a complete, open, and architecturally unified Business Intelligence solutions. The suite serves every class of user, providing multiple channels of information access, and supporting all enterprise BI requirements

Enhanced BI Application Mobile Capabilities, User Experience and Performance
The latest release of Oracle BI Applications is built upon Oracle Business Intelligence Release 11.1.1.5 — enabling organizations to take advantage of the platform’s enhanced mobile features, user experience, systems management, performance, and scalability. Oracle BI Applications Release 7.9.6.3 benefits include:

Alerts, dashboards and reports are available for secure access and interaction via iPad and iPhone to provide organizational visibility, insight and alignment;
A new user interface featuring a wide range of interactive charting and prompting capabilities, including map visualization options directly linked to spatial data, providing a richer, more intuitive end user experience;
An enhanced Common Enterprise Information Model with 25 conformed dimensions that provides alignment across the enterprise as well as high performance, federated queries against hundreds of data sources in relational, OLAP, and XML formats; and,
Integrated system management services to simplify system configuration, testing, deployment, monitoring, and installation of patches to enable continuous availability, with unmatched query performance, scalability, and security.
Oracle BI Applications are complete, prebuilt analytical solutions for Oracle and non-Oracle applications including SAP. Subject areas include Financial, Human Resources, Procurement and Spend, Projects, Supply Chain and Order Management, Contact Center Telephony, Loyalty, Marketing, Price, Sales, Service, and a range of vertical industries.

Optimizing Customer Interactions with Real-Time Intelligence
o better help organizations optimize their customer interactions, Oracle Real-Time Decisions Release 3.1 introduces “Decision Manager,” an application to manage, monitor, refine, and optimize operational decisions across customer interaction channels. Decision Manager enables business stakeholders to collaboratively define closed-loop analytical business logic for delivering optimized customer experiences. Built using Oracle Application Development Framework (ADF), a component of Oracle Fusion Middle ware 11g, Decision Manager offers a collaborative and rich user interface for business stakeholders to:

1. Author and refine their decision eligibility and targeting logic;
2. Search and manage their catalogs of campaigns, offers, products and other enterprise content; and,
3. Analyze the results of their operational decisions to discover new insights.

The application also provides role-based access control, versioning, and audit trail to ensure operational consistency and reduce overall cost of ownership. Oracle Real-Time Decisions is a highly scalable service oriented decision management platform for decision optimization. It leverages real-time and historical data, business rules, predictive models, automation, and self-learning techniques to deliver decisions that adapt over time. Its decision services can be embedded in transactional applications across the enterprise to optimize performance of recurring operational decisions.

Oracle Real-Time Decisions is an open enterprise decision management platform, that integrates easily with any customer touch-points infrastructure for web, contact center, email, kiosks and point-of-sale. It is also available per-integrated with Oracle’s Siebel CRM.

Supporting Quotes
“These new Oracle Business Intelligence product releases build upon the success of Oracle BI 11g and provide customers a wide range of new capabilities that extend intelligence to the iPad and iPhone, offer more powerful visualization, interactivity, performance and scalability features to their ERP and CRM applications, and optimize customer interactions and decisions in real-time,” said Paul Rodwick, vice president of Product Management, Oracle Business Intelligence.

“Oracle continues to deliver new capabilities and enhancements including heterogeneous platform support across Oracle BI Foundation, Oracle BI Applications and Oracle Real-Time Decisions,” said Dan Vesset, vice president, business analytics solutions, IDC. “According to IDC research, worldwide demand for business analytics software continues to grow, and Oracle is positioned to help organizations benefit from the analysis of the vast amounts of data they generate.”

Business Analytics (BA): Are the vendors trying to create the next hype?

Business Analytics: analyzing data
A few business intelligence vendors like IBM Cognos and SAS Institute say the term business intelligence fall short. They find out that business intelligence is all about business analytics: analyzing data to get to know why things happen and what may happen in the future.

Quit common
Business AnalyticsSuch a shift in terminology is quit common in the software branche. Earlier business intelligence software is called performance management, business performance management, corporate performance management and so on. But it is the same software they try to sell.

Business Intelligence Trends :- BI in the cloud

The vendors say: just turn on the tap and ‘drink intelligence’ – BI in the cloud a hype?

A lot of business intelligence vendors are selling their cloud offerings, which seems like ‘heaven on earth’ to us. It’s cheaper, faster, more scalable and more reliable they say. But can true business intelligence be in the cloud? Can we draw parallels between water from the tap and BI in the cloud?

What is true business intelligence?


In our view it’s running your business better using key information about your processes, your clients and the market. To be able to do that you should gather all kinds of data from a variety of source systems inside and outside your company network, integrate the data and transform it into information to produce insights in such a way that we can speak of ‘intelligence’. Each company has it’s own intelligence which can bring a real competitive advantage, allowing companies to swim in the profit pool.

What is a cloud?

A cloud is an infrastructure of hard- and software that can be used for a period of time. You may want to use more disk storage, give more users access to the applications or use more memory. Or maybe at some time you want to drop a group of users, which does not pose a problem with the cloud concept. With your applications in a cloud, it should be really simple to scale up or down. Often you only have to pay for the usage, which can be a real advantage.

There are various types of clouds including; the private cloud and the public cloud. In the public cloud every user uses the same business intelligence software solution, the same version and has the same standard indicators and reports. In this type of cloud there is often very little space for customization as it comes down to the data that can be stored, the transformations and the key performance indicators. If you want high customization for example you should extract data from a source system that other users in the cloud don’t have. This means you should move to a private cloud. In a private cloud, which is almost the same as buying a virtual or dedicated private server from your hosting partner, which we are all familiar with, some of the advantages of being in the cloud will disappear. In a private, highly customized cloud, scaling up isn’t that easy (compared to the scalability of a public cloud), whether it is deployed within the company’s firewall or hosted by a third party.

Tap water and BI in the cloud

Cloud solutions like BI in the cloud are often compared to tap water, at least it is often visualized that way. The vendors are marketing their offerings of BI in the cloud as: just turn on the tap and ‘drink the intelligence’. Maybe it tastes good for a while, but what competitive advantage will this solution really bring to your company if your competitors can do exactly the same? In our view true business intelligence can’t really be in the public cloud. In addition, who likes the idea that someone else is managing their brain?

“The only way to make money in the Cloud is to have a lot of customers. The only way to get a lot of customers quickly is to give everyone the same configurable application and avoid custom development work. In the Cloud, economies of scale are everything. But BI is largely a custom development effort.” Wayne Eckerson, BeyeNETWORK

Tap water is, on average, 500 times cheaper than bottled water, some people would say, boycott the bottle. Could we say the same about BI in relation to the public cloud? Is it, on average, 500 times cheaper than having your own BI infrastructure? Even if that is true, we don’t think it’s wise to move your company specific intelligence to the public cloud, even if it is possible (there are some really nasty integration, security and compliance issues to overcome). However, non-specific highly standardized indicators like the sickness rate could be in the public cloud as a data mart. However you may have to ask yourself if that is true business intelligence. So, don’t boycott the BI bottle!

What is BI – Business Intelligence?

BI is an abbreviation of the two words Business Intelligence, bringing the right information at the right time to the right people in the right format. It is a 5-step process to run your business smarter, starting with registering the right data correctly, collecting the data from multiple sources, transforming, combining and storing it in a data warehouse.

This data should be reported, analyzed and distributed to the right people at the right time in the right format. The figure below shows these steps.