30
Q. What is the difference between $ & $$ in mapping or parameter file? In which cases they are generally used? A. $ pr efixes are used to deno te session Parameter and variables and $$ prefixes are used to denote mapping parameters and variables Q. What are Target Types on the Server? A. Target Types are File, Relational and ERP. Q. What are Target Types on the Server? A. Target Types are File, Relational and ERP. Q. How do you identify existing rows of data in the target table using lookup transformation? A. There are two ways to lookup the target table to verify a row exists or not : 1. Use connect dynamic cache lookup and then check the values of NewLookuprow Output port to decide whether the incoming record already exists in the table / cache or not. 2. Use Unconnected lookup and call it from an expression transformation and check the Lookup condition port value (Null/ Not Null) to decide whether the incoming record alread y exists in the table or not. Q. What are Aggregate transformations? A. Aggregator transform is much like the Group by clause in traditional SQL.  This particular transform is a connected/active transform which can take the incoming data from the mapping pipeline and group them based on the group by ports specified and can caculated aggregate functions like ( avg, sum, count, stddev....etc) for each of those groups. From a performance perspective if your mapping has an AGGREGATOR transform use filters and sorters very early in the pipeline if there is any need for them. Q. What are various types of Aggregation?

a Interview Questions-2

Embed Size (px)

Citation preview

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 1/30

Q. What is the difference between $ & $$ in mapping orparameter file? In which cases they are generally used?

A. $ prefixes are used to denote session Parameter and

variables and $$ prefixes are used to denote mapping parametersand variables

Q. What are Target Types on the Server?

A. Target Types are File, Relational and ERP.

Q. What are Target Types on the Server?

A. Target Types are File, Relational and ERP.

Q. How do you identify existing rows of data in the target tableusing lookup transformation?

A. There are two ways to lookup the target table to verify a row existsor not :1. Use connect dynamic cache lookup and then check the values of NewLookuprow Output port to decide whether the incoming recordalready exists in the table / cache or not.2. Use Unconnected lookup and call it from an expressiontransformation and check the Lookup condition port value (Null/ Not

Null) to decide whether the incoming record already exists in the tableor not.

Q. What are Aggregate transformations?

A. Aggregator transform is much like the Group by clause in traditionalSQL.

 This particular transform is a connected/active transform which cantake the incoming data from the mapping pipeline and group them

based on the group by ports specified and can caculated aggregatefunctions like ( avg, sum, count, stddev....etc) for each of those groups.

From a performance perspective if your mapping has an AGGREGATORtransform use filters and sorters very early in the pipeline if there isany need for them.

Q. What are various types of Aggregation?

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 2/30

A. Various types of aggregation are SUM, AVG, COUNT, MAX, MIN,FIRST, LAST, MEDIAN, PERCENTILE, STDDEV, and VARIANCE.

Q. What are Dimensions and various types of Dimension?

A. Dimensions are classified to 3 types.

1. SCD TYPE 1(Slowly Changing Dimension): this contains currentdata.

2. SCD TYPE 2(Slowly Changing Dimension): this contains currentdata + complete historical data.

3. SCD TYPE 3(Slowly Changing Dimension): this contains currentdata.

Q. What are 2 modes of data movement in Informatica Server?A. The data movement mode depends on whether Informatica Servershould process single byte or multi-byte character data. This modeselection can affect the enforcement of code page relationships andcode page validation in the Informatica Client and Server.

a) Unicode - IS allows 2 bytes for each character and uses additionalbyte for each non-ascii character (such as Japanese characters)

b) ASCII - IS holds all data in a single byte

 The IS data movement mode can be changed in the Informatica Serverconfiguration parameters. This comes into effect once you restart theInformatica Server.

Q. What is Code Page Compatibility?

A. Compatibility between code pages is used for accurate datamovement when the Informatica Sever runs in the Unicode datamovement mode. If the code pages are identical, then there will not beany data loss. One code page can be a subset or superset of another.

For accurate data movement, the target code page must be a supersetof the source code page.

Superset - A code page is a superset of another code page when itcontains the character encoded in the other code page, it also containsadditional characters not contained in the other code page.

Subset - A code page is a subset of another code page when all

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 3/30

characters in the code page are encoded in the other code page.

What is Code Page used for?

Code Page is used to identify characters that might be in differentlanguages. If you are importing Japanese data into mapping, u must

select the Japanese code page of source data.

Q. What is Router transformation? A. It is different from filter transformation in that we can specifymultiple conditions and route the data to multiple targets dependingon the condition.

Q. What is Load Manager?

A. While running a Workflow, the PowerCenter Server uses the LoadManager process and the Data Transformation Manager Process (DTM)to run the workflow and carry out workflow tasks. When thePowerCenter Server runs a workflow, the Load Manager performs thefollowing tasks:

1. Locks the workflow and reads workflow properties.2. Reads the parameter file and expands workflow variables.3. Creates the workflow log file.4. Runs workflow tasks.

5. Distributes sessions to worker servers.6. Starts the DTM to run sessions.7. Runs sessions from master servers.8. Sends post-session email if the DTM terminates abnormally.

When the PowerCenter Server runs a session, the DTM performs thefollowing tasks:1. Fetches session and mapping metadata from the repository.2. Creates and expands session variables.3. Creates the session log file.4. Validates session code pages if data code page validation is

enabled. Checks queryconversions if data code page validation is disabled.5. Verifies connection object permissions.6. Runs pre-session shell commands.7. Runs pre-session stored procedures and SQL.8. Creates and runs mappings, reader, writer, and transformationthreads to extract, transform, and load data.9. Runs post-session stored procedures and SQL.

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 4/30

10. Runs post-session shell commands.11. Sends post-session email.

Q. What is Data Transformation Manager?A. After the load manager performs validations for the session, itcreates the DTM process. The DTM process is the second processassociated with the session run. The primary purpose of the DTMprocess is to create and manage threads that carry out the sessiontasks.

•  The DTM allocates process memory for the session and divide itinto buffers. This is also known as buffer memory. It creates themain thread, which is called the master thread. The master threadcreates and manages all other threads.

• If we partition a session, the DTM creates a set of threads foreach partition to allow concurrent processing.. When Informaticaserver writes messages to the session log it includes thread typeand thread ID.

Following are the types of threads that DTM creates:

Master Thread - Main thread of the DTM process. Creates andmanages all other threads.

Mapping Thread - One Thread to Each Session. Fetches Session andMapping Information.

Pre and Post Session Thread - One Thread each to Perform Pre andPost Session Operations.

Reader Thread - One Thread for Each Partition for Each SourcePipeline.

Writer Thread - One Thread for Each Partition if target exist in thesource pipeline write to the target.

 Transformation Thread - One or More Transformation Thread ForEach Partition.

Q. What is Session and Batches?

A. Session - A Session Is A set of instructions that tells theInformatica Server How And When To Move Data From Sources To

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 5/30

 Targets. After creating the session, we can use either the servermanager or the command line program pmcmd to start or stop thesession. Batches - It Provides A Way to Group Sessions For EitherSerial Or Parallel Execution By The Informatica Server. There Are Two Types Of Batches :

1. Sequential - Run Session One after the Other.

2. Concurrent - Run Session At The Same Time.

Q. What is a source qualifier?

A. It represents all data queried from the source.

Q. Why we use lookup transformations?

A. Lookup Transformations can access data from relational tables thatare not sources in mapping. With Lookup transformation, we canaccomplish the following tasks:

Get a related value-Get the Employee Name from Employee tablebased on the Employee ID

Perform Calculation.

Update slowly changing dimension tables - We can use unconnectedlookup transformation to determine whether the records already exist

in the target or not.

Q. While importing the relational source definition fromdatabase, what are the meta data of source U import?

Source nameDatabase locationColumn namesData typesKey constraints

Q. How many ways you can update a relational sourcedefinition and what are they?

A.  Two ways1. Edit the definition2. Reimport the definition

Q. Where should you place the flat file to import the flat file

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 6/30

definition to the designer?

A. Place it in local folder

Q. Which transformation should u need while using the Cobol

sources as source definitions?A. Normalizer transformation which is used to normalize the data.Since Cobol sources r often consists of denormalized data.

Q. How can you create or import flat file definition in to thewarehouse designer?

A.  You can create flat file definition in warehouse designer. In thewarehouse designer, you can create a new target: select the typeas flat file. Save it and u can enter various columns for that created

target by editing its properties. Once the target is created, save it. You can import it from the mapping designer.

Q. What is a mapplet?

A. A mapplet should have a mapplet input transformation whichreceives input values, and an output transformation which passes thefinal modified data to back to the mapping. Set of transformationswhere the logic can be reusable when the mapplet is displayed withinthe mapping only input & output ports are displayed so that theinternal logic is hidden from end-user point of view.

Q. What is a transformation?

A. It is a repository object that generates, modifies or passes data.

Q. What are the designer tools for creating transformations?

A. Mapping designer Transformation developerMapplet designer

Q. What are connected and unconnected transformations?

A. Connect Transformation : A transformation which participates in themapping data flow. Connected transformation can receive multipleinputs and provides multiple outputs

Unconnected: An unconnected transformation does not participate inthe mapping data flow. It can receive multiple inputs and providessingle output

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 7/30

Q. In how many ways can you create ports?

A. Two ways

1. Drag the port from another transformation2. Click the add button on the ports tab.

Q. What are reusable transformations?

A. A transformation that can be reused is called a reusabletransformationThey can be created using two methods:

1. Using transformation developer

2. Create normal one and promote it to reusable

Q. What are mapping parameters and mapping variables?A. Mapping parameter represents a constant value that U can definebefore running a session. A mapping parameter retains the same valuethroughout the entire session.When u use the mapping parameter ,U declare and use the parameterin a mapping or mapplet. Then define the value of parameter in aparameter file for the session.Unlike a mapping parameter, a mapping variable represents a valuethat can change throughout the session. The Informatica server savesthe value of mapping variable to the repository at the end of sessionrun and uses that value next time U run the session.

Q. Can U use the mapping parameters or variables created inone mapping into another mapping?

A. NO.We can use mapping parameters or variables in any transformation of the same mapping or mapplet in which U have created mappingparameters or variables.

Q. How can U improve session performance in aggregatortransformation?

A. 1. Use sorted input. Use a sorter before the aggregator

2. Do not forget to check the option on the aggregator that tells theaggregator that the input is sorted on the same keys as group by. Thekey order is also very important.

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 8/30

Q. Is aggregate cache in aggregatortransformation?

A. The aggregator stores data in the aggregate cacheuntil it completes aggregate calculations. When u runa session that uses an aggregator transformation, the

Informatica server creates index and data caches inmemory to process the transformation. If theInformatica server requires more space, it storesoverflow values in cache files.

Q. What r the difference between joinertransformation and source qualifiertransformation?

A. You can join heterogeneous data sources in joinertransformation which we cannot achieve in source

qualifier transformation. You need matching keys to join two relational sourcesin source qualifier transformation. Whereas u doesn’tneed matching keys to join two sources. Two relational sources should come from same datasource in sourcequalifier. You can join relationalsources which r coming from different sources also.

Q. In which conditions can we not use joinertransformations?

A. You cannot use a Joiner transformation in the

following situations (according to Informatica 7.1):♦Either input pipeline contains an Update Strategytransformation.♦You connect a Sequence Generator transformationdirectly before the Joinertransformation.

Q. What r the settings that u use to configurethe joiner transformation?

A. Master and detail source

 Type of joinCondition of the join

Q. What are the join types in joinertransformation?

A. Normal (Default) -- only matching rows from bothmaster and detailMaster outer -- all detail rows and only matching rows

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 9/30

from masterDetail outer -- all master rows and only matching rowsfrom detailFull outer -- all rows from both master and detail( matching or non matching)

Q. What are the joiner caches?

A. When a Joiner transformation occurs in a session,the Informatica Server reads all the records from themaster source and builds index and data caches basedon the master rows.After building the caches, the Joiner transformationreads records from the detail source and performs joins.

Q. Why use the lookup transformation?A. To perform the following tasks.Get a related value. For example, if your source tableincludes employee ID, but you want to include theemployee name in your target table to make yoursummary data easier to read.Perform a calculation. Many normalized tables includevalues used in a calculation, such as gross sales perinvoice or sales tax, but not the calculated value (suchas net sales).Update slowly changing dimension tables. You can use

a Lookup transformation to determine whether recordsalready exist in the target.

Q. What is meant by lookup caches?

A. The Informatica server builds a cache in memory whenit processes the first row of a data in a cached look uptransformation. It allocates memory for the cache basedon the amount u configure in the transformation orsession properties. The Informatica server storescondition values in the index cache and output values in

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 10/30

the data cache.

Q. What r the types of lookup caches?

A. Persistent cache: U can save the lookup cache files

and reuse them the next time the Informatica serverprocesses a lookup transformation configured to use thecache.

Recache from database: If the persistent cache is notsynchronized with the lookup table, you can configure thelookup transformation to rebuild the lookup cache.

Static cache: U can configure a static or read-only cachefor only lookup table. By default Informatica servercreates a static cache. It caches the lookup table andlookup values in the cache for each row that comes intothe transformation. When the lookup condition is true,the Informatica server does not update the cache while itprocesses the lookup transformation.

Dynamic cache: If you want to cache the target table andinsert new rows into cache and the target, you can createa look up transformation to use dynamic cache. TheInformatica server dynamically inserts data to the targettable.

Shared cache: U can share the lookup cache betweenmultiple transactions. You can share unnamed cachebetween transformations in the same mapping.

Q. What r the types of lookup caches?

A. Persistent cache: U can save the lookup cache filesand reuse them the next time the Informatica serverprocesses a lookup transformation configured to use thecache.

Recache from database: If the persistent cache is notsynchronized with the lookup table, you can configure thelookup transformation to rebuild the lookup cache.

Static cache: U can configure a static or read-only cachefor only lookup table. By default Informatica servercreates a static cache. It caches the lookup table and

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 11/30

lookup values in the cache for each row that comes intothe transformation. When the lookup condition is true,the Informatica server does not update the cache while itprocesses the lookup transformation.

Dynamic cache: If you want to cache the target table andinsert new rows into cache and the target, you can createa look up transformation to use dynamic cache. TheInformatica server dynamically inserts data to the targettable.

Shared cache: U can share the lookup cache betweenmultiple transactions. You can share unnamed cachebetween transformations in the same mapping.

Q: What do you know about Informatica and ETL?A: Informatica is a very useful GUI based ETL tool.

Q: FULL and DELTA files. Historical and Ongoing load.A: FULL file contains complete data as of today including history data,DELTA file contains only the changes since last extract.

Q: Power Center/ Power Mart – which products have youworked with?

A: Power Center will have Global and Local repository, whereas PowerMart will have only Local repository.

Q: Explain what are the tools you have used in Power Centerand/or Power Mart?A: Designer, Server Manager, and Repository Manager.

Q: What is a Mapping?A: Mapping Represent the data flow between source and target

Q: What are the components must contain in Mapping?A: Source definition, Transformation, Target Definition and Connectors

Q: What is Transformation?A: Transformation is a repository object that generates, modifies, orpasses data. Transformation performs specific function. They are twotypes of transformations:

1. Active

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 12/30

Rows, which are affected during the transformation or canchange the no of rows that pass through it. Eg: Aggregator,Filter, Joiner, Normalizer, Rank, Router, Source qualifier, UpdateStrategy, ERP Source Qualifier, Advance External Procedure.

2. Passive

Does not change the number of rows that pass through it. Eg:Expression, External Procedure, Input, Lookup, Stored Procedure,Output, Sequence Generator, XML Source Qualifier.

Q: Which transformation can be overridden at the Server?A: Source Qualifier and Lookup Transformations

Q: What is connected and unconnected Transformation andgive Examples?

Q: What are Options/Type to run a Stored Procedure?

A:Normal: During a session, the stored procedure runs where thetransformation exists in the mapping on a row-by-row basis. Thisis useful for calling the stored procedure for each row of datathat passes through the mapping, such as running a calculationagainst an input port. Connected stored procedures run only innormal mode.

Pre-load of the Source. Before the session retrieves data fromthe source, the stored procedure runs. This is useful for verifyingthe existence of tables or performing joins of data in a temporary

table.

Post-load of the Source. After the session retrieves data fromthe source, the stored procedure runs. This is useful for removingtemporary tables.

Pre-load of the Target. Before the session sends data to thetarget, the stored procedure runs. This is useful for verifyingtarget tables or disk space on the target system.

Post-load of the Target. After the session sends data to the

target, the stored procedure runs. This is useful for re-creatingindexes on the database.

It must contain at least one Input and one Output port.

Q: What kinds of sources and of targets can be used inInformatica?A:

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 13/30

Sources may be Flat file, relational db or XML.  Target may be relational tables, XML or flat files.

Q: Transformations: What are the different transformationsyou have worked with?

A: Source Qualifier (XML, ERP, MQ)  Joiner Expression Lookup Filter Router Sequence Generator Aggregator Update Strategy

Stored Proc External Proc Advanced External Proc Rank Normalizer

Q: What are active/passive transformations?

A: Passive transformations do not change the nos. of rows passingthrough it whereas active transformation changes the nos. rowspassing thru it.

Active: Filter, Aggregator, Rank, Joiner, Source QualifierPassive: Expression, Lookup, Stored Proc, Seq. Generator

Q: What are connected/unconnected transformations?A: Connected transformations are part of the mapping pipeline. The

input and output ports are connected to other transformations. Unconnected transformations are not part of the mapping

pipeline. They are not linked in the map with any input or outputports. Eg. In Unconnected Lookup you can pass multiple values

to unconnected transformation but only one column of data willbe returned from the transformation. Unconnected: Lookup,Stored Proc.

Q: In target load ordering, what do you order - Targets orSource Qualifiers?

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 14/30

A: Source Qualifiers. If there are multiple targets in the mapping, whichare populated from multiple sources, then we can use Target Loadordering.

Q: Have you used constraint-based load ordering? Where do

you set this?A: Constraint based loading can be used when you have multipletargets in the mapping and the target tables have a PK-FK relationshipin the database. It can be set in the session properties. You have to setthe Source “Treat Rows as: INSERT” and check the box “Constraintbased load ordering” in Advanced Tab.

Q: If you have a FULL file that you have to match and load intoa corresponding table, how will you go about it? Will you use Joiner transformation?A: Use Joiner and join the file and Source Qualifier.

Q: If you have 2 files to join, which file will you use as themaster file?A: Use the file with lesser nos. of records as master file.

Q: If a sequence generator (with increment of 1) is connectedto (say) 3 targets and each target uses the NEXTVAL port,what value will each target get?A: Each target will get the value in multiple of 3.

Q: Have you used the Abort, Decode functions?

A: Abort can be used to Abort / stop the session on an error condition.If the primary key column contains NULL, and you need to stop thesession from continuing then you may use ABORT function in thedefault value for the port. It can be used with IIF and DECODE functionto Abort the session.

Q: Have you used SQL Override?A: It is used to override the default SQL generated in the SourceQualifier / Lookup transformation.

Q: If you make a local transformation reusable by mistake, can

you undo the reusable action?A: No

Q: What is the difference between filter and routertransformations?A: Filter can filter the records based on ONE condition only whereasRouter can be used to filter records on multiple condition.

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 15/30

Q: Lookup transformations: Cached/un-cachedA: When the Lookup Transformation is cached the Informatica Servercaches the data and index. This is done at the beginning of the sessionbefore reading the first record from the source. If the Lookup isuncached then the Informatica reads the data from the database for

every record coming from the Source Qualifier.

Q: Connected/unconnected – if there is no match for thelookup, what is returned?A: Unconnected Lookup returns NULL if there is no matching recordfound in the Lookup transformation.

Q: What is persistent cache?A: When the Lookup is configured to be a persistent cache Informaticaserver does not delete the cache files after completion of the session.In the next run Informatica server uses the cache file from the previous

session.

Q: What is dynamic lookup strategy?A: The Informatica server compares the data in the lookup table andthe cache, if there is no matching record found in the cache file then itmodifies the cache files by inserting the record. You may use only (=)equality in the lookup condition.If multiple matches are found in the lookup then Informatica fails thesession. By default the Informatica server creates a static cache.

Q: Mapplets: What are the 2 transformations used only in

mapplets?A: Mapplet Input / Source Qualifier, Mapplet Output

Q: Have you used Shortcuts?A: Shortcuts may used to refer to another mapping. Informatica refersto the original mapping. If any changes are made to the mapping /mapplet, it is immediately reflected in the mapping where it is used.

Q: If you used a database when importing sources/targets thatwas dropped later on, will your mappings still be valid?A: No

Q: In expression transformation, how can you store a valuefrom the previous row?A: By creating a variable in the transformation.

Q: How does Informatica do variable initialization?Number/String/DateA: Number – 0, String – blank, Date – 1/1/1753

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 16/30

Q: Have you used the Informatica debugger?A: Debugger is used to test the mapping during development. You cangive breakpoints in the mappings and analyze the data.

Q: What do you know about the Informatica serverarchitecture? Load Manager, DTM, Reader, Writer,Transformer.A: Load Manager is the first process started when the session runs.

It checks for validity of mappings, locks sessions and otherobjects.

DTM process is started once the Load Manager has completed its job. It starts a thread for each pipeline.

Reader scans data from the specified sources.

Writer manages the target/output data.

 Transformer performs the task specified in the mapping.

Q: Have you used partitioning in sessions? (not available withPowermart)A: It is available in PowerCenter. It can be configured in the sessionproperties.

Q: Have you used External loader? What is the differencebetween normal and bulk loading?A: External loader will perform direct data load to the table/data files,bypass the SQL layer and will not log the data. During normal dataload, data passes through SQL layer, data is logged in to the archivelog file and as a result it is slow.

Q: Do you enable/disable decimal arithmetic in sessionproperties?A: Disabling Decimal Arithmetic will improve the session performancebut it converts numeric values to double, thus leading to reducedaccuracy.

Q: When would use multiple update strategy in a mapping?A: When you would like to insert and update the records in a Type 2Dimension table.

Q: When would you truncate the target before running thesession?A: When we want to load entire data set including history in one shot.Update strategy do not have dd_update, dd_delete and it does onlydd_insert.

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 17/30

Q: How do you use stored proc transformation in the mapping?A: In side mapping we can use stored procedure transformation, passinput parameters and get back the output parameters. When handlingthrough session, it can be invoked either in Pre-session or post-session

scripts.

Q: What did you do in the stored procedure? Why did you usestored proc instead of using expression?A:

Q: When would you use SQ, Joiner and Lookup?A:

If we are using multiples source tables and they are related atthe database, then we can use a single SQ.

If we need to Lookup values in a table or Update Slowly Changing

Dimension tables then we can use Lookup transformation.  Joiner is used to join heterogeneous sources, e.g. Flat file and

relational tables.

Q: How do you create a batch load? What are the differenttypes of batches?A: Batch is created in the Server Manager. It contains multiplesessions. First create sessions and then create a batch. Drag thesessions into the batch from the session list window.Batches may be sequential or concurrent. Sequential batch runs thesessions sequentially. Concurrent sessions run parallel thus optimizing

the server resources.

Q: How did you handle reject data? What file does Informaticacreate for bad data?A: Informatica saves the rejected data in a .bad file. Informatica adds arow identifier for each record rejected indicating whether the row wasrejected because of Writer or Target. Additionally for every columnthere is an indicator for each column specifying whether the data wasrejected due to overflow, null, truncation, etc.

Q: How did you handle runtime errors? If the session stops

abnormally how were you managing the reload process?

Q: Have you used pmcmd command? What can you do usingthis command?A: pmcmd is a command line program. Using this command  You can start sessions Stop sessions

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 18/30

Recover session

Q: What are the two default repository user groupsA: Administrators and Public

Q: What are the Privileges of Default Repository and ExtendedRepository user?A:

Default Repository Privilegeso Use Designero Browse Repositoryo Create Session and Batches

Extended Repository Privilegeso Session Operatoro Administer Repositoryo Administer Servero Super User

Q: How many different locks are available for repositoryobjectsA: There are five kinds of locks available on repository objects:

Read lock. Created when you open a repository object in a folderfor which you do not have write permission. Also created whenyou open an object with an existing write lock.

Write lock. Created when you create or edit a repository object in

a folder for which you have write permission. Execute lock. Created when you start a session or batch, or when

the Informatica Server starts a scheduled session or batch.

Fetch lock. Created when the repository reads information aboutrepository objects from the database.

Save lock. Created when you save information to the repository.

Q: What is Session Process?A: The Load Manager process. Starts the session, creates the DTMprocess, and sends post-session email when the session completes.

Q: What is DTM process?A: The DTM process creates threads to initialize the session, read,write, transform data, and handle pre and post-session operations.

Q: When the Informatica Server runs a session, what are thetasks handled?A: Load Manager (LM):

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 19/30

o LM locks the session and reads session properties.o LM reads the parameter file.o LM expands the server and session variables and

parameters.o LM verifies permissions and privileges.

o LM validates source and target code pages.o LM creates the session log file.o LM creates the DTM (Data Transformation Manager)

process.

Data Transformation Manager (DTM):o DTM process allocates DTM process memory.o DTM initializes the session and fetches the mapping.o DTM executes pre-session commands and procedures.o DTM creates reader, transformation, and writer threads for

each source pipeline. If the pipeline is partitioned, itcreates a set of threads for each partition.

o DTM executes post-session commands and procedures.o DTM writes historical incremental aggregation and lookup

data to disk, and it writes persisted sequence values andmapping variables to the repository.

o Load Manager sends post-session email

Q: What is Code Page?A: A code page contains the encoding to specify characters in a set of one or more languages.

Q: How to handle the performance in the server side?A: Informatica tool has no role to play here. The server administratorwill take up the issue.

Q: What are the DTM (Data Transformation Manager)Parameters?A: DTM Memory parameter - Default buffer block size/Data & Index

Cache size ,

Reader Parameter - Line Sequential buffer length for flat files,

General Parameter - Commit Interval (source and Target)/Others- Enabling Lookup cache,

Event based Scheduling - Indicator file to wait for.

1. Explain about your projects– Architecture– Dimension and Fact tables– Sources and Targets

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 20/30

– Transformations used– Frequency of populating data– Database size

2. What is dimension modeling?

Unlike ER model the dimensional model is very asymmetric with onelarge central table called as fact table connected to multipledimension tables .It is also called star schema.

3. What are mapplets?Mapplets are reusable objects that represents collection of transformationsTransformations not to be included in mapplets areCobol source definitions Joiner transformationsNormalizer Transformations

Non-reusable sequence generator transformationsPre or post session procedures Target definitionsXML Source definitionsIBM MQ source definitionsPower mart 3.5 style Lookup functions

4. What are the transformations that use cache forperformance?Aggregator, Lookups, Joiner and Ranker

5. What the active and passive transformations?An active transformation changes the number of rows that passthrough the mapping.1. Source Qualifier2. Filter transformation3. Router transformation4. Ranker5. Update strategy6. Aggregator7. Advanced External procedure8. Normalizer

9. Joiner

Passive transformations do not change the number of rows thatpass through the mapping.1. Expressions2. Lookup3. Stored procedure4. External procedure

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 21/30

5. Sequence generator6. XML Source qualifier

6. What is a lookup transformation?

Used to look up data in a relational table, views, or synonym, Theinformatica server queries the lookup table based on the lookupports in the transformation. It compares lookup transformation portvalues to lookup table column values based on the lookup condition. The result is passed to other transformations and the target.

Used to :Get related valuePerform a calculationUpdate slowly changing dimension tables.Diff between connected and unconnected lookups. Which is

better?Connected :Received input values directly from the pipelineCan use Dynamic or static cache.Cache includes all lookup columns used in the mappingCan return multiple columns from the same rowIf there is no match , can return default valuesDefault values can be specified.Un connected :Receive input values from the result of a LKP expression in anothertransformation.

Only static cache can be used.Cache includes all lookup/output ports in the lookup condition andlookup or return port.Can return only one column from each row.If there is no match it returns null.Default values cannot be specified.

Explain various caches :Static:Caches the lookup table before executing the transformation. Rowsare not added dynamically.

Dynamic:Caches the rows as and when it is passed.Unshared:Within the mapping if the lookup table is used in more than onetransformation then the cache built for the first lookup can be usedfor the others. It cannot be used across mappings.Shared:If the lookup table is used in more than one transformation/mapping

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 22/30

then the cache built for the first lookup can be used for the others.It can be used across mappings.Persistent :If the cache generated for a Lookup needs to be preserved forsubsequent use then persistent cache is used. It will not delete the

index and data files. It is useful only if the lookup table remainsconstant.

What are the uses of index and data caches?The conditions are stored in index cache and records from thelookup are stored in data cache

7. Explain aggregate transformation? The aggregate transformation allows you to perform aggregatecalculations, such as averages, sum, max, min etc. The aggregatetransformation is unlike the Expression transformation, in that you

can use the aggregator transformation to perform calculations ingroups. The expression transformation permits you to performcalculations on a row-by-row basis only.Performance issues ? The Informatica server performs calculations as it reads and storesnecessary data group and row data in an aggregate cache.Create Sorted input ports and pass the input records to aggregatorin sorted forms by groups then by port

Incremental aggregation?In the Session property tag there is an option for performing

incremental aggregation. When the Informatica server performsincremental aggregation , it passes new source data through themapping and uses historical cache (index and data cache) data toperform new aggregation calculations incrementally.

What are the uses of index and data cache? The group data is stored in index files and Row data stored in datafiles.

8. Explain update strategy?Update strategy defines the sources to be flagged for insert,

update, delete, and reject at the targets.What are update strategy constants?DD_INSERT,0 DD_UPDATE,1 DD_DELETE,2DD_REJECT,3

If DD_UPDATE is defined in update strategy and Treatsource rows as INSERT in Session . What happens?Hints: If in Session anything other than DATA DRIVEN is mentions

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 23/30

then Update strategy in the mapping is ignored.

What are the three areas where the rows can be flagged forparticular treatment?In mapping, In Session treat Source Rows and In Session Target

Options.

What is the use of Forward/Reject rows in Mapping?

9. Explain the expression transformation ?Expression transformation is used to calculate values in a single rowbefore writing to the target.What are the default values for variables?Hints: Straing = Null, Number = 0, Date = 1/1/1753

10. Difference between Router and filter transformation?

In filter transformation the records are filtered based on thecondition and rejected rows are discarded. In Router the multipleconditions are placed and the rejected rows can be assigned to aport.

How many ways you can filter the records?1. Source Qualifier2. Filter transformation3. Router transformation4. Ranker5. Update strategy.

11. How do you call stored procedure and external proceduretransformation ?External Procedure can be called in the Pre-session and post sessiontag in the Session property sheet.Store procedures are to be called in the mapping designer by threemethods1. Select the icon and add a Stored procedure transformation2. Select transformation – Import Stored Procedure3. Select Transformation – Create and then select stored procedure.

12. Explain Joiner transformation and where it is used?While a Source qualifier transformation can join data originatingfrom a common source database, the joiner transformation joinstwo related heterogeneous sources residing in different locations orfile systems. Two relational tables existing in separate databases Two flat files in different file systems.

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 24/30

 Two different ODBC sourcesIn one transformation how many sources can be coupled? Two sources can be couples. If more than two is to be couples addanother Joiner in the hierarchy.What are join options?

Normal (Default)Master OuterDetail OuterFull Outer

13. Explain Normalizer transformation? The normaliser transformation normalises records from COBOL andrelational sources, allowing you to organise the data according toyour own needs. A Normaliser transformation can appear anywherein a data flow when you normalize a relational source. Use a

Normaliser transformation instead of the Source Qualifiertransformation when you normalize COBOL source. When you draga COBOL source into the Mapping Designer Workspace, theNormaliser transformation appears, creating input and output portsfor every columns in the source.

14. What is Source qualifier transformation?When you add relational or flat file source definition to a mapping ,you need to connect to a source Qualifier transformation. Thesource qualifier represents the records that the informatica serverreads when it runs a session.

 Join Data originating from the same source database.Filter records when the Informatica server reads the source data.Specify an outer join rather than the default inner join.Specify sorted portsSelect only distinct values from the sourceCreate a custom query to issue a special SELECT statement for theInformatica server to read the source data.

15. What is Ranker transformation?Filters the required number of records from the top or from the

bottom.

16. What is target load option?It defines the order in which informatica server loads the data intothe targets. This is to avoid integrity constraint violations

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 25/30

17. How do you identify the bottlenecks in Mappings?Bottlenecks can occur in1. Targets

The most common performance bottleneck occurs when theinformatica server writes to a target

database. You can identify target bottleneck by configuring thesession to write to a flat file target.If the session performance increases significantly when you write

to a flat file, you have a targetbottleneck.Solution :Drop or Disable index or constraintsPerform bulk load (Ignores Database log)Increase commit interval (Recovery is compromised)Tune the database for RBS, Dynamic Extension etc.,

2. SourcesSet a filter transformation after each SQ and see the records are

not through.If the time taken is same then there is a problem.You can also identify the Source problem byRead Test Session – where we copy the mapping with sources, SQ

and remove all transformationsand connect to file target. If the performance is same then there

is a Source bottleneck.Using database query – Copy the read query directly from the log.

Execute the query against the

source database with a query tool. If the time it takes to executethe query and the time to fetch

the first row are significantly different, then the query can bemodified using optimizer hints.

Solutions:Optimize Queries using hints.Use indexes wherever possible.

3. MappingIf both Source and target are OK then problem could be in

mapping.

Add a filter transformation before target and if the time is thesame then there is a problem.

(OR) Look for the performance monitor in the Sessions propertysheet and view the counters.Solutions:

If High error rows and rows in lookup cache indicate a mappingbottleneck.

Optimize Single Pass Reading:

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 26/30

Optimize Lookup transformation :1. Caching the lookup table:

When caching is enabled the informatica server cachesthe lookup table and queries the

cache during the session. When this option is not enabled

the server queries the lookuptable on a row-by row basis.Static, Dynamic, Shared, Un-shared and Persistent cache

2. Optimizing the lookup conditionWhenever multiple conditions are placed, the condition

with equality sign should takeprecedence.

3. Indexing the lookup tableThe cached lookup table should be indexed on order by

columns. The session log containsthe ORDER BY statement

The un-cached lookup since the server issues a SELECTstatement for each row passing

into lookup transformation, it is better to index the lookuptable on the columns in the

condition

Optimize Filter transformation:You can improve the efficiency by filtering early in the data

flow. Instead of using a filtertransformation halfway through the mapping to remove a

sizable amount of data.

Use a source qualifier filter to remove those same rows at thesource,

If not possible to move the filter into SQ, move the filtertransformation as close to the

sourcequalifier as possible to remove unnecessary data early in the

data flow.Optimize Aggregate transformation:

1. Group by simpler columns. Preferably numeric columns.2. Use Sorted input. The sorted input decreases the use of 

aggregate caches. The server

assumes all input data are sorted and as it reads itperforms aggregate calculations.

3. Use incremental aggregation in session property sheet.Optimize Seq. Generator transformation:

1. Try creating a reusable Seq. Generator transformation anduse it in multiple mappings

2. The number of cached value property determines thenumber of values the informatica

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 27/30

server caches at one time.Optimize Expression transformation:

1. Factoring out common logic2. Minimize aggregate function calls.3. Replace common sub-expressions with local variables.

4. Use operators instead of functions.

4. SessionsIf you do not have a source, target, or mapping bottleneck, you

may have a session bottleneck.You can identify a session bottleneck by using the performance

details. The informatica servercreates performance details when you enable Collect

Performance Data on the General Tab of the session properties.Performance details display information about each Source

Qualifier, target definitions, andindividual transformation. All transformations have some basic

counters that indicate theNumber of input rows, output rows, and error rows.Any value other than zero in the readfromdisk and writetodisk 

counters for Aggregate, Joiner,or Rank transformations indicate a session bottleneck.Low bufferInput_efficiency and BufferOutput_efficiency

counter also indicate a sessionbottleneck.Small cache size, low buffer memory, and small commit intervals

can cause session bottlenecks.5. System (Networks)

18. How to improve the Session performance?1 Run concurrent sessions2 Partition session (Power center)3. Tune Parameter – DTM buffer pool, Buffer block size, Index cachesize, data cache size, Commit Interval, Tracing level (Normal, Terse,Verbose Init, Verbose Data)The session has memory to hold 83 sources and targets. If it ismore, then DTM can be increased.

The informatica server uses the index and data caches forAggregate, Rank, Lookup and Joinertransformation. The server stores the transformed data from theabove transformation in the datacache before returning it to the data flow. It stores groupinformation for those transformations inindex cache.If the allocated data or index cache is not large enough to store the

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 28/30

date, the server stores the datain a temporary disk file as it processes the session data. Each timethe server pages to the disk theperformance slows. This can be seen from the counters .Since generally data cache is larger than the index cache, it has to

be more than the index.4. Remove Staging area5. Tune off Session recovery6. Reduce error tracing

19. What are tracing levels?Normal-defaultLogs initialization and status information, errors encountered,skipped rows due to transformation errors, summarizes sessionresults but not at the row level. Terse

Log initialization, error messages, notification of rejected data.Verbose Init.In addition to normal tracing levels, it also logs additionalinitialization information, names of index and data files used anddetailed transformation statistics.Verbose Data.In addition to Verbose init, It records row level logs.

20. What is Slowly changing dimensions?Slowly changing dimensions are dimension tables that have slowlyincreasing data as well as updates to existing data.

21. What are mapping parameters and variables?A mapping parameter is a user definable constant that takes up avalue before running a session. It can be used in SQ expressions,Expression transformation etc.Steps:Define the parameter in the mapping designer - parameter &variables .Use the parameter in the Expressions.Define the values for the parameter in the parameter file.

A mapping variable is also defined similar to the parameter except

that the value of the variable is subjected to change.It picks up the value in the following order.1. From the Session parameter file2. As stored in the repository object in the previous run.3. As defined in the initial values in the designer.4. Default values

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 29/30

Q. What are the output files that the Informatica servercreates during the session running?Informatica server log: Informatica server (on UNIX) creates a log forall status and error messages (default name: pm.server.log). It alsocreates an error log for error messages. These files will be created in

Informatica home directorySession log file: Informatica server creates session log file for eachsession. It writes information about session into log files such asinitialization process, creation of sql commands for reader and writerthreads, errors encountered and load summary. The amount of detailin session log file depends on the tracing level that you set.Session detail file: This file contains load statistics for each target inmapping. Session detail includes information such as table name,number of rows written or rejected. You can view this file by doubleclicking on the session in monitor window.Performance detail file: This file contains information known as session

performance details which helps you where performance can beimproved. To generate this file select the performance detail option inthe session property sheet.Reject file: This file contains the rows of data that the writer does notwrite to targets.Control file: Informatica server creates control file and a target filewhen you run a session that uses the external loader. The control filecontains the information about the target flat file such as data formatand loading instructions for the external loader.Post session email: Post session email allows you to automaticallycommunicate information about a session run to designated recipients.

 You can create two different messages. One if the session completedsuccessfully the other if the session fails.Indicator file: If you use the flat file as a target, you can configure theInformatica server to create indicator file. For each target row, theindicator file contains a number to indicate whether the row wasmarked for insert, update, delete or reject.Output file: If session writes to a target file, the Informatica servercreates the target file based on file properties entered in the sessionproperty sheet.Cache files: When the Informatica server creates memory cache it alsocreates cache files.

For the following circumstances Informatica server creates index anddata cache files:Aggregator transformation Joiner transformationRank transformationLookup transformation

8/6/2019 a Interview Questions-2

http://slidepdf.com/reader/full/a-interview-questions-2 30/30

Q. What is the difference between joiner transformation andsource qualifier transformation?A. You can join heterogeneous data sources in joiner transformationwhich we cannot do in source qualifier transformation.

Q. What is meant by lookup caches?A. The Informatica server builds a cache in memory when it processesthe first row of a data in a cached look up transformation. It allocatesmemory for the cache based on the amount you configure in thetransformation or session properties. The Informatica server storescondition values in the index cache and output values in the datacache.

Q. What is meant by parameters and variables in Informaticaand how it is used?A. Parameter: A mapping parameter represents a constant value that

you can define before running a session. A mapping parameter retainsthe same value throughout the entire session.Variable: A mapping variable represents a value that can changethrough the session. Informatica Server saves the value of a mappingvariable to the repository at the end of each successful session run anduses that value the next time you run the session

Q. What is target load order? You specify the target load order based on source qualifiers in amapping. If you have multiple source qualifiers connected to multipletargets, you can define the order in which Informatica server loads

data into the targets