Friday, November 30, 2007

Journey of life :

image001

image002

image003

image004

image005

image006

image007

image008

image009

image010

image011

image012

image013

image014

Tuesday, November 27, 2007

All About Faith: God Vs Science

A science professor begins his school year with a lecture to the students, "Let me explain the problem science has with religion." The atheist professor of philosophy pauses before his class and then asks one of his new students to stand.
"You're a Christian, aren't you, son?"
"Yes sir," the student says.
"So you believe in God?"
"Absolutely."
"Is God good?"
"Sure! God's good."
"Is God all-powerful? Can God do anything?"
"Yes."
"Are you good or evil?"
"The Bible says I'm evil."
The professor grins knowingly. "Aha! The Bible!" He considers for a moment. "Here's one for you. Let's say there's a sick person over here and you can cure him. You can do it. Would you help him? Would you try?"
"Yes sir, I would."
"So you're good...!"
"I wouldn't say that."
"But why not say that? You'd help a sick and ed person if you could. Most of us would if we could. But God doesn't."
The student does not answer, so the professor continues. "He doesn't, does he? My brother was a Christian who died of cancer, even though he prayed to Jesus to heal him. How is this Jesus good? Hmmm? Can you answer that one?"
The student remains silent.
"No, you can't, can you?" the professor says. He takes a sip of water from a glass on his desk to give the student time to relax.
"Let's start again, young fella. Is God good?"
"Er...yes," the student says.
"Is Satan good?"
The student doesn't hesitate on this one. "No."
"Then where does Satan come from?"
The student falters. "From God"
"That's right. God made Satan, didn't he? Tell me, son. Is there evil in this world?"
"Yes, sir."
"Evil's everywhere, isn't it? And God did make everything, correct?"
"Yes."
"So who created evil?" The professor continued, "If God created everything, then God created evil, since evil exists, and according to the principle that our works define who we are, then God is evil."
Again, the student has no answer. "Is there sickness? Immorality? Hatred? Ugliness? All these terrible things, do they exist in this world?"
The student squirms on his feet. "Yes."
"So who created them?"
The student does not answer again, so the professor repeats his question. "Who created them?" There is still no answer. Suddenly the lecturer breaks away to pace in front of the classroom. The class is mesmerized. "Tell me," he continues onto another student. "Do you believe in Jesus Christ, son?"
The student's voice betrays him and . "Yes, professor, I do."
The old man stops pacing. "Science says you have five senses you use to identify and observe the world around you. Have you ever seen Jesus?"
"No sir. I've never seen Him."
"Then tell us if you've ever heard your Jesus?"
"No, sir, I have not."
"Have you ever felt your Jesus, tasted your Jesus or smelt your Jesus? Have you ever had any sensory perception of Jesus Christ, or God for that matter?"
"No, sir, I'm afraid I haven't."
"Yet you still believe in him?"
"Yes."
"According to the rules of empirical, testable, demonstrable protocol, science says your God doesn't exist. What do you say to that, son?"
"Nothing," the student replies. "I only have my faith."
"Yes, faith," the professor repeats. "And that is the problem science has with God. There is no evidence, only faith."
The student stands quietly for a moment, before asking a question of His own. "Professor, is there such thing as heat?"
"Yes," the professor replies. "There's heat."
"And is there such a thing as cold?"
"Yes, son, there's cold too."
"No sir, there isn't."
The professor turns to face the student, obviously interested. The room suddenly becomes very quiet. The student begins to explain. "You can have lots of heat, even more heat, super-heat, mega-heat, unlimited heat, white heat, a little heat or no heat, but we don't have anything called 'cold'. We can hit up to 458 degrees below zero, which is no heat, but we can't go any further after that. There is no such thing as cold; otherwise we would be able to go colder than the lowest -458 degrees."
"Every body or object is susceptible to study when it has or transmits energy, and heat is what makes a body or matter have or transmit energy. Absolute zero (-458 F) is the total absence of heat. You see, sir, cold is only a word we use to describe the absence of heat. We cannot measure cold. Heat we can measure in thermal units because heat is energy. Cold is not the opposite of heat, sir, just the absence of it."
Silence across the room. A pen drops somewhere in the classroom, sounding like a hammer.
"What about darkness, professor. Is there such a thing as darkness?"
"Yes," the professor replies without hesitation. "What is night if it isn't darkness?"
"You're wrong again, sir. Darkness is not something; it is the absence of something. You can have low light, normal light, bright light, flashing light, but if you have no light constantly you have nothing and it's called darkness, isn't it? That's the meaning we use to define the word."
"In reality, darkness isn't. If it were, you would be able to make darkness darker, wouldn't you?"
The professor begins to smile at the student in front of him. This will be a good semester. "So what point are you making, young man?"
"Yes, professor. My point is, your philosophical premise is flawed to start with, and so your conclusion must also be flawed."
The professor's face cannot hide his surprise this time. "Flawed? Can you explain how?"
"You are working on the premise of duality," the student explains. "You argue that there is life and then there's ; a good God and a bad God. You are viewing the concept of God as something finite, something we can measure. Sir, science can't even explain a thought."
"It uses electricity and magnetism, but has never seen, much less fully understood either one. To view as the opposite of life is to be ignorant of the fact that cannot exist as a substantive thing. is not the opposite of life, just the absence of it."
"Now tell me, professor. Do you teach your students that they evolved from a monkey?"
"If you are referring to the natural evolutionary process, young man, yes, of course I do."
"Have you ever observed evolution with your own eyes, sir?"
The professor begins to shake his head, still smiling, as he realizes where the argument is going. A very good semester, indeed.
"Since no one has ever observed the process of evolution at work and cannot even prove that this process is an on-going endeavor, are you not teaching your opinion, sir? Are you now not a scientist, but a preacher?"
The class is in uproar. The student remains silent until the commotion has subsided.
"To continue the point you were making earlier to the other student, let me give you an example of what I mean."
The student looks around the room. "Is there anyone in the class who has ever seen the professor's brain?" The class breaks out into laughter.
"Is there anyone here who has ever heard the professor's brain, felt the professor's brain, touched or smelt the professor's brain? No one appears to have done so. So, according to the established rules of empirical, stable, demonstrable protocol, science says that you have no brain, with all due respect, sir."
"So if science says you have no brain, how can we trust your lectures, sir?"
Now the room is silent. The professor just stares at the student, his face unreadable.
Finally, after what seems an eternity, the old man answers. "I guess you'll have to take them on faith."
"Now, you accept that there is faith, and, in fact, faith exists with life," the student continues. "Now, sir, is there such a thing as evil?"
Now uncertain, the professor responds, "Of course, there is. We see it everyday. It is in the daily example of man's inhumanity to man. It is in the multitude of crime and everywhere in the world. These manifestations are nothing else but evil."
To this the student replied, "Evil does not exist sir, or at least it does not exist unto itself. Evil is simply the absence of God. It is just like darkness and cold, a word that man has created to describe the absence of God. God did not create evil. Evil is the result of what happens when man does not have God's love present in his heart. It's like the cold that comes when there is no heat or the darkness that comes when there is no light."
The professor sat down.
the student was albert einstien

Wednesday, October 24, 2007

Pardesi Vs Desi

Blue --> Westerner
Red --> Asian/Chinese

 

Opinion :

clip_image001[54]

 

Way of Life

clip_image001[56]

Punctuality

clip_image001[58]

 

Contacts

clip_image001[60]

 

Anger

clip_image001[62]

 

Queue when Waiting

clip_image001[64]

 

Me

clip_image001[66]

 

Sundays on the Road

clip_image001[68]

 

Party

clip_image001[70]

 

In the restaurant

clip_image001[72]

 

Stomach Ache

clip_image001[76]

 

Travelling

clip_image001[78]

 

Handling of Problems

clip_image001[80]

 

Three meals a day

clip_image001[82]

 

Transportation

clip_image001[84]

 

Elderly in day to day life

clip_image001[86]

 

Moods and Weather

clip_image001[88]

 

The Boss

clip_image001[90]

 

The child

clip_image001[92]

 

Things that are new

clip_image001[94]

 

Perception of each other

clip_image001[96]

 

Source: Guru

Saturday, October 20, 2007

BackStabbing Boss

Back stabbing boss, got shocked after listening these words? don't worry if you are smart worker it wont take much time for you to come to know about this, if you are a hard worker it may take years to understand about this. I am writing this, it doesn't mean that I always worked with such type of people.

Actually the thing is none of the things can controlled by one single person right, we need to work as team to get a fine result, if you are working with a team there will be always pros and cons.

Managers shouldn't play favorites. Those who do inadvertently encourage backstabbing. Those who do and who aren't a good judge of character pretty much ensure it.

And, at the risk of getting a lot of people mad ad me, those who use religion or religiously as a way of determining who is most worthy of their confidences are among the most likely to be poor judges of character. That someone quotes verses of the Bible, the Koran, or the Bhagavat Ghita says nothing at all about how they behave in the workplace.
Now that you know, your choices are simple: Leave your department, leave the company, or wait it out. Leaving the department is probably the best of them.
In a large company it's actually quite likely that those in charge have no idea something like this is going on - they rely on people reporting to people reporting to them to keep this sort of thing under control. The bad news is, it happens. The good news is, it probably isn't happening everywhere. Somewhere in the company you'll find opportunities without having to to change employers.
What's probably the losing strategy is to wait it out. Unless your boss isn't delivering results, that is. You can infer this from knowing, first-hand, that this is how your boss has been managing all along.

Bad bosses -- whether ogres, control freaks, jerks, micro managers, or bumbling fools -- can be found in all organizations. Bad bosses are no laughing matter when you have to face him or her every working day. And, unfortunately, with the rightsizing of the last several years, there are probably more overworked and undertrained bosses than ever. It’s also possible, though, that bad bossing is just part of the organization’s corporate culture.

So, what can you do if you are working for a bad boss? This article will provide you with the tools you need to manage the situation as best you can, but remember that sometimes the only solution is transferring to a different part of the company -- or switching employers.

Make sure you are doing everything right
The first solution is an honest analysis of your actions and behavior. How have you been handling yourself in your job? Have you always taken the high road, or have you resorted to occasional backstabbing, gossiping, or underperforming? If you’re human, it’s likely your bad boss has affected your performance, so try ignoring all these distractions and focus on your work to see if that changes anything. Find other sources of positive reinforcement for doing your job to the best of your abilities.

Compile a list of bad boss behaviors
The second solution is a bit more involved, but should be a cathartic experience for you. Make a list of all the things that your boss does that drive you nuts. Let the list sit for a few days and then review it again, adding or deleting activities upon further reflection. Next, rank the list from most annoying to least annoying. Pick the top two or three worst offenses and develop some suggestions for how your boss could act differently in those situations. Edit the suggestions to remove sarcasm or anger. Show the suggestions to a trusted friend who has no vested interest in the situation. Edit the suggestions again.

Once you feel comfortable that your suggestions are positive and helpful, consider scheduling a meeting with your boss to discuss. Perhaps suggest meeting outside the office for breakfast or lunch. Leave your emotions at the door, but be prepared for your boss to have an emotional reaction. It’s possible that your boss is unaware of his/her actions, and this meeting could be very positive for all involved; however, it’s also possible that the meeting will end badly.

Keep a journal of incidents
The third solution involves documenting each bad behavior of your boss in a journal. Don’t judge or write emotional reactions; simply document the facts of the situation and how the bad behavior impacted your performance -- as well as others in the department. Again, this process may be enough to relieve you of the stress so that you can cope. However, at some point in the future -- perhaps as you are leaving for a new job -- you might consider taking the journal to a trusted colleague in human resources or even a mentor within the company.

Find a mentor with the company
If you love the company but hate the boss, another solution is to develop a mentoring relationship with a boss/supervisor in another part of the company. Mentoring is a fantastic strategy that you should consider even if you have a good boss because a mentor is someone who can help you in many ways, from offering advice to suggesting you for a promotion. And in coping with a bad boss, a mentor can be a good sounding board for you, and perhaps after you have documented all the offenses, someone who has the pull and the power to do something about your bad boss.

Report your bad boss
A last resort is reporting the bad actions/performance of your boss to his/her supervisor -- or to someone in human resources. While logic would hold that the company would not want a manager who is hurting performance or productivity, the reality is often that you become branded as a trouble-maker/whiner/complainer and your days at the company quickly become numbered.

Don’t sacrifice your health or self-esteem
The worst thing you can do is simply to do nothing, hoping the problems will get resolved. No job, boss, or company is worth losing your health, sanity, or self-esteem. If you can’t find a way to resolve these issues and/or your boss simply will never change his/her behavior, you should immediately start working your network and begin looking for a new job -- within or outside the organization. Again, if you love the company, a transfer might be the best option -- but keep in mind that your boss might be as evil as to sabotage that transfer. And try not to quit before you find a new job, but again, if work just becomes too unbearable, you may need to consider quitting to save yourself.

Not All Bosses Are Bad

As much as we like to complain about our bosses, workers respect their bosses a great deal, these are the most important traits for a boss to have:
· Leading by examples
· Strong ethics or morals
· Knowledge of the business
· Fairness
· Overall intelligence and competence
· Recognition of employees

Not sure how many of you have worked with a boss who is having the above features those are real lucky, but not me and very definitely not in my current assignment :).

Wednesday, October 17, 2007

Mapping Design : Optimization Techniques


General Suggestions for Optimizing
  1. Reduce the number of transformations. There is always overhead involved in moving data between transformations.
  2. Consider more shared memory for large number of transformations. Session shared memory between 12MB and 40MB should suffice.
  3. Calculate once, use many times.
    • Avoid calculating or testing the same value over and over.
    • Calculate it once in an expression, and set a True/False flag.
    • Within an expression, use variable ports to calculate a value than can be used multiple times within that transformation.
  4. Only connect what is used.
    • Delete unnecessary links between transformations to minimize the amount of data moved, particularly in the Source Qualifier.
    • This is also helpful for maintenance. If a transformation needs to be reconnected, it is best to only have necessary ports set as input and output to reconnect.
    • In lookup transformations, change unused ports to be neither input nor output. This makes the transformations cleaner looking. It also makes the generated SQL override as small as possible, which cuts down on the amount of cache necessary and thereby improves performance.
  5. Watch the data types.
    • The engine automatically converts compatible types.
    • Sometimes data conversion is excessive. Data types are automatically converted when types are different between connected ports. Minimize data type changes between transformations by planning data flow prior to developing the mapping.
  6. Facilitate reuse.
    • Plan for reusable transformations upfront.
    • Use variables. Use both mapping variables as well as ports that are variables. Variable ports are especially beneficial when they can be used to calculate a complex expression or perform a disconnected lookup call only once instead of multiple times
    • Use mapplets to encapsulate multiple reusable transformations.
    • Use mapplets to leverage the work of critical developers and minimize mistakes when performing similar functions.
  7. Only manipulate data that needs to be moved and transformed.
    • Reduce the number of non-essential records that are passed through the entire mapping.
    • Use active transformations that reduce the number of records as early in the mapping as possible (i.e., placing filters, aggregators as close to source as possible).
    • Select appropriate driving/master table while using joins. The table with the lesser number of rows should be the driving/master table for a faster join.
  8. Utilize single-pass reads.
    • Redesign mappings to utilize one Source Qualifier to populate multiple targets. This way the server reads this source only once. If you have different Source Qualifiers for the same source (e.g., one for delete and one for update/insert), the server reads the source for each Source Qualifier.
    • Remove or reduce field-level stored procedures.
    • If you use field-level stored procedures, the PowerCenter server has to make a call to that stored procedure for every row, slowing performance.
Lookup Transformation Optimizing Tips
  1. When your source is large, cache lookup table columns for those lookup tables of 500,000 rows or less. This typically improves performance by 10 to 20 percent.
  2. The rule of thumb is not to cache any table over 500,000 rows. This is only true if the standard row byte count is 1,024 or less. If the row byte count is more than 1,024, then the 500k rows will have to be adjusted down as the number of bytes increase (i.e., a 2,048 byte row can drop the cache row count to between 250K and 300K, so the lookup table should not be cached in this case). This is just a general rule though. Try running the session with a large lookup cached and not cached. Caching is often still faster on very large lookup tables.
  3. When using a Lookup Table Transformation, improve lookup performance by placing all conditions that use the equality operator = first in the list of conditions under the condition tab.
  4. Cache only lookup tables if the number of lookup calls is more than 10 to 20 percent of the lookup table rows. For fewer number of lookup calls, do not cache if the number of lookup table rows is large. For small lookup tables(i.e., less than 5,000 rows), cache for more than 5 to 10 lookup calls.
  5. Replace lookup with decode or IIF (for small sets of values).
  6. If caching lookups and performance is poor, consider replacing with an unconnected, uncached lookup.
  7. For overly large lookup tables, use dynamic caching along with a persistent cache. Cache the entire table to a persistent file on the first run, enable the update else insert option on the dynamic cache and the engine will never have to go back to the database to read data from this table. You can also partition this persistent cache at run time for further performance gains.
  8. Review complex expressions.
  • Examine mappings via Repository Reporting and Dependency Reporting within the mapping.
  • Minimize aggregate function calls.
  • Replace Aggregate Transformation object with an Expression Transformation object and an Update Strategy Transformation for certain types of Aggregations.

Operations and Expression Optimizing Tips
  1. Numeric operations are faster than string operations.
  2. Optimize char-varchar comparisons (i.e., trim spaces before comparing).
  3. Operators are faster than functions (i.e., vs. CONCAT).
  4. Optimize IIF expressions.
  5. Avoid date comparisons in lookup; replace with string.
  6. Test expression timing by replacing with constant.
  7. Use flat files.
  • Using flat files located on the server machine loads faster than a database located in the server machine.
  • Fixed-width files are faster to load than delimited files because delimited files require extra parsing.
  • If processing intricate transformations, consider loading first to a source flat file into a relational database, which allows the PowerCenter mappings to access the data in an optimized fashion by using filters and custom SQL Selects where appropriate.
  1. If working with data that is not able to return sorted data (e.g., Web Logs), consider using the Sorter Advanced External Procedure.
  2. Use a Router Transformation to separate data flows instead of multiple Filter Transformations.
  3. Use a Sorter Transformation or hash-auto keys partitioning before an Aggregator Transformation to optimize the aggregate. With a Sorter Transformation, the Sorted Ports option can be used, even if the original source cannot be ordered.
  4. Use a Normalizer Transformation to pivot rows rather than multiple instances of the same target.
  5. Rejected rows from an update strategy are logged to the bad file. Consider filtering before the update strategy if retaining these rows is not critical because logging causes extra overhead on the engine. Choose the option in the update strategy to discard rejected rows.
  6. When using a Joiner Transformation, be sure to make the source with the smallest amount of data the Master source.
  7. If an update override is necessary in a load, consider using a Lookup transformation just in front of the target to retrieve the primary key. The primary key update will be much faster than the non-indexed lookup override.
Suggestions for Using Mapplets

A mapplet is a reusable object that represents a set of transformations. It allows you to reuse transformation logic and can contain as many transformations as necessary. Use the Mapplet Designer to create mapplets.

  1. Create a mapplet when you want to use a standardized set of transformation logic in several mappings. For example, if you have several fact tables that require a series of dimension keys, you can create a mapplet containing a series of Lookup transformations to find each dimension key. You can then use the mapplet in each fact table mapping, rather than recreate the same lookup logic in each mapping.
  2. To create a mapplet, add, connect, and configure transformations to complete the desired transformation logic. After you save a mapplet, you can use it in a mapping to represent the transformations within the mapplet. When you use a mapplet in a mapping, you use an instance of the mapplet. All uses of a mapplet are tied to the parent mapplet. Hence, all changes made to the parent mapplet logic are inherited by every child instance of the mapplet. When the server runs a session using a mapplet, it expands the mapplet. The server then runs the session as it would any other session, passing data through each transformation in the mapplet as designed.
  3. A mapplet can be active or passive depending on the transformations in the mapplet. Active mapplets contain at least one active transformation. Passive mapplets only contain passive transformations. Being aware of this property when using mapplets can save time when debugging invalid mappings.
  4. Unsupported transformations that should not be used in a mapplet include: COBOL source definitions, normalizer, non-reusable sequence generator, pre- or post-session stored procedures, target definitions, and PowerMart 3.5-style lookup functions.
  5. Do not reuse mapplets if you only need one or two transformations of the mapplet while all other calculated ports and transformations are obsolete.
  6. Source data for a mapplet can originate from one of two places:
  • Sources within the mapplet. Use one or more source definitions connected to a Source Qualifier or ERP Source Qualifier transformation. When you use the mapplet in a mapping, the mapplet provides source data for the mapping and is the first object in the mapping data flow.
  • Sources outside the mapplet. Use a mapplet Input transformation to define input ports. When you use the mapplet in a mapping, data passes through the mapplet as part of the mapping data flow.
  1. To pass data out of a mapplet, create mapplet output ports. Each port in an Output transformation connected to another transformation in the mapplet becomes a mapplet output port.
  • Active mapplets with more than one Output transformations. You need one target in the mapping for each Output transformation in the mapplet. You cannot use only one data flow of the mapplet in a mapping.
  • Passive mapplets with more than one Output transformations. Reduce to one Output Transformation; otherwise you need one target in the mapping for each Output transformation in the mapplet. This means you cannot use only one data flow of the mapplet in a mapping.

Source: Informatica

Wednesday, October 10, 2007

Informatica Upgradation to 8.1.1

This document will prepare you for the things you should look for when planning your upgrade so that your upgrade process will go as smoothly as possible.

IMPORTANT NOTES:
  • This document is for issues that will arise when upgrading from PowerCenter 7.1.x only. If you are upgrading from versions prior to 7.1.x, refer to the "Global Customer Support PowerCenter 7.1 Upgrade guide".

  • If you have repositories that are a version prior to 6.0 they cannot be upgraded directly to PowerCenter 8.1.1 SP4. In such cases they must first be upgraded to 6.x or 7.x version and then upgraded to 8.1.1 SP4.

  • For further information on upgrading to PowerCenter 8.1.1 SP4 and a complete list of upgrade changes refer to the PowerCenter 8.1 Upgrade Guide.

  • For a complete list of all known issues and limitations and other upgrade information refer to the PowerCenter 8.1.1 SP4 Release Notes.



1. Upgrade

1.1. Cannot upgrade a repository with special characters in name

The repository service name (which is the same as the repository name) cannot have the following special characters in its name: ?, ", <, >, *, /, , tab and trailing spaces. In previous versions of PowerCenter all these characters were allowed in the repository name. In order to upgrade these repositories, restore the repository with a different name in the older version and then upgrade using 8.1.

1.2. Teradata and Informix repositories no longer supported

You will not be able to upgrade a Teradata or Informix repository using PowerCenter 8.1.
To upgrade a PowerCenter 7.x repository in a Teradata or Informix database, copy the repository to a database supported by PowerCenter 8.1 (Oracle, DB2, Microsoft SQL Server or Sybase) using PowerCenter 7.x. Then upgrade this repository to PowerCenter 8.1.

1.3. Server Grid

Server Grids existing in PowerCenter 7.x will not be upgraded in PowerCenter 8.1. Create a new grid object in the PowerCenter 8.1 Administration Console. Refer to the PowerCenter Upgrade Guide.

1.4. Do not create a new Integration Service for already existing servers in upgraded repositories.

Do not create a new Integration Service for already existing servers in upgraded repositories. If you create a new service in the Administration Console in an upgraded repository with the same name as a server in that same repository there will be two servers of the same name in the Workflow Manager and sessions will be assigned to the original server.
Use the PowerCenter server configuration file in the Upgrade tab in the Administration Console.

1.5. Repository Service cannot create or upgrade repository on Oracle 10

The Repository Service cannot create or upgrade a repository on Oracle when the Oracle server version is 10.1.0.2 or 10.1.0.3 and is on a different platform than the Oracle client.
The Repository Service writes the following message to the service log:

ERROR: OBJM_54543 [Tue Nov 09 19:42:35 2004] : (23201972) DataBase error: ORA-01455: converting column overflows integer datatype

Workaround: Perform one of the following actions:

  • Use the same platform for the Oracle server and client.
  • Upgrade Oracle server to version 10.1.0.4.
  • Contact Oracle about bug 3417593 to install a patch for the Oracle server.

1.6. Using ODBC Database Connectivity on UNIX

PowerCenter 8.1 does not package DataDirect ODBC drivers for Oracle, IBM DB2, or Sybase ASE on a UNIX machine.
If you use DataDirect ODBC drivers packaged by PowerCenter to connect to Oracle, IBM DB2, or Sybase ASE from a UNIX machine, install database client software and configure native connectivity on the machine that runs the Integration Service. You can also use a third-party ODBC driver that is level 2 or above compliant.
For more details refer to the PowerCenter Post-Upgrade Reference Guide.


2. Services

2.1. When a server variable is changed the Data Integration Service must be re-started.

In previous versions server variables ($PMRootDir, $PMWorkflowLogDir, $PMCacheDir, etc.) could be changed and the server did not need to be re-started. Now in PowerCenter 8.1 it is necessary to re-start the the Integration Service after modifying these variables.

2.2. MaxSessions is replaced by MaxProcesses

The PowerCenter Server parameter MaxSessions has been replaced with the Integration Service parameter MaxProcesses. Now in PowerCenter 8.1 this value includes stand alone Command tasks. Depending on the number of stand alone Command tasks used a fewer number of Session tasks may be able to run concurrently in PowerCenter 8.1 than in previous versions.

2.3. Low precision decimal values are rounded.

Previously in 7.x, whenever we had a decimal in low precision that was originally a double, we guaranteed only the first 15 digits would be correct. The remaining digits would be whatever the OS returned to us.
Now in PowerCenter 8.1 this behavior has been corrected, the value is rounded and the remaining digits are now zeroed out.
Example:

7.x
8.1

123456580.901844999999980
123456580.90184500000000


2.4. ZoneAlarm firewall prevents you from logging in to the Administration Console

If the network is protected by a ZoneAlarm firewall that blocks third-party cookies, you may not be able to log in to the PowerCenter Administration Console.

Workaround: Disable the blocking of third-party cookies.


2.5. Command task error messages do not appear in the workflow log

The Integration Service writes error messages generated by the Command task to the Log Service as part of the domain log events. It does not write them to the workflow log.

Workaround: To view Command task error messages, view domain log events in the Log Viewer.


2.6. Repository Service processes in different domains can connect to the same repository database

The Administration Console does not prevent you from associating Repository Services in different PowerCenter domains with the same repository database. When two Repository Services access the same repository database, you may experience repository inconsistencies and object locking issues.

Workaround: If the PowerCenter environment includes multiple PowerCenter domains, ensure that a one-to-one relationship exists between Repository Services and repository databases across all domains. If two Repository Services are associated with the same repository database, disable all Repository Service processes for one of the Repository Services. Then, uniquely associate that Repository Service with a different repository database, or remove that Repository Service.


2.7. You cannot concurrently update service options and service process options for a single service

If you use the Administration Console or infacmd command line program to update options for the same service at the same time, only the last option saved is updated.

Workaround: Allow one command to complete before entering the next command.


2.8. Session fails after upgrade due to invalid lookup SQL override

Even though an SQL override is valid and works correctly in PowerCenter 7.1.1 or earlier, it fails in later releases in some instances, including the following cases:
  • It includes comments placed between /* */.
  • It contains a subquery.
  • It uses a Trim (BOTH FROM) command.

Workaround: For a simple SQL override, rewrite the SQL statement.
-or-
For other SQL overrides, configure the following custom property in the Administration Console for the Integration Service:

lookupOverrideParsingSetting=1


2.9. Cannot edit Web Services Hub properties on the Administration Console after upgrade from PowerCenter 8.1

After you upgrade to PowerCenter 8.1.1 SP3, the Web Services Hub does not have the following properties set:
  • SessionExpiryPeriod
  • MaxLMConnections

You cannot change these Web Services Hub properties in the Administration Console.
Workaround: Create Web Services Hub and configure the properties on the Administration Console. Alternatively, you can use the command line program infacmd to change the settings of the Web Services Hub properties. Use the -so option with the UpdateWSHubService command to configure the properties.


2.10. Cannot change Repository Service properties after upgrade

If a Repository Service does not have all the required properties after you upgrade to PowerCenter 8.1.1 (SP3), you cannot change the Repository Service properties in the Administration Console. For example, if a Repository Service does not have the DBPoolExpiryThreshold and DBPoolExpiryTimeout properties in PowerCenter 8.1.1 (SP3), you cannot use the Administration Console to modify the Repository Service properties, such as the operating mode.
Workaround: Use the infacmd UpdateRepositoryService command to add the missing properties to the Repository Service. For example, if the Repository Service lacks the DBPoolExpiryThreshold and DBPoolExpiryTimeout properties, use the -so option with the UpdateRepositoryService command to add the missing properties and their values. Then, you can use the Administration Console to modify the Repository Service properties. Alternatively, create a Repository Service that has all the required properties.

2.11. Nodes upgraded from PowerCenter 8.1 have different default values for some Load Balancer settings

If you created nodes using PowerCenter 8.1, and you upgrade from version 8.1 to version 8.1.1 (SP3), the upgraded nodes have the following default values for the “CPU Profile” and “Maximum Memory %” general properties:
  • CPU Profile = 10 (should be 1.0)
  • Maximum Memory % = 100% (should be 150%)

Workaround: If you use metric-based or adaptive dispatch mode, manually set “Maximum Memory %” to 150% or some other value. If you use adaptive dispatch mode, calculate the CPU profile for all nodes in the grid, or manually set the CPU profile for the upgraded nodes to 1.0.


2.12. Cache memory and DTM may not be optimized on session in upgraded repository.

Sessions in upgraded repositories have preset values for automatic memory settings that may not be optimal. For more details refer to KnowledgeBase article 20919.

2.13. Flat file target header column names can be specified at the session level now.

Starting with PowerCenter 8.1 a flat file target can be configured to include column names as the first row. For more details refer to KnowledgeBase article 13533.

2.14. Session on grid can run on backup node

A session can run on a backup node when it is configured to run on a grid. For more details refer to KnowledgeBase article 20000.

2.15. Certain repository operations must be done in "Exclusive mode"

The PowerCenter repository must first be set to Exclusive Mode before performing certain repository operations, such as backup and delete. For more details refer to KnowledgeBase article 18156.

2.16. Sessions fail while upgrading the incremental aggregation cache

When you use an incremental Aggregator cache file from a previous PowerCenter version in a session, the session fails while upgrading the cache to the current version.
Workaround: Rebuild the cache.

2.17. Sessions may fail with upgraded Advanced External Procedure transformations

Sessions with Custom transformations that were upgraded from Advanced External Procedure transformations fail if you used the following upgrade path:
1. You created the transformation in version 4.x and upgraded to version 7.0 or 7.1.
2. You upgrade the 7.0 or 7.1 repository to version 8.x.
These Custom transformations have an IsActive attribute set to false. The IsActive attribute should be true.
Workaround: Export the Custom transformation to an XML file. Change the IsActive attribute to true in the XML file and import the object from the XML file.


3. Command Line

3.1. The PmRepAgent command has been removed

The pmrepagent command no longer exists in PowerCenter 8.1 and now all repository commands have been consolidated into the pmrep command.
The following commands are now performed using the pmrep command line tool:
  • Connect
  • Showconnectioninfo
  • Deployfolder
  • Deploydeploymentgroup
  • Register
  • Unregister
  • Notify

For these commands to work the Repository Service must be running.
To restore a repository using pmrep: the user first has to create a repository service and enable it. This will start a PmRepAgent process even though the repository database has not been created yet.
Refer to the PowerCenter Upgrade Guide for more information.


3.2. Some Commands have been moved from pmrep to infasetup or infacmd.

The following commands are no longer performed using pmrep. They will be available in either the infasetup command line tool or infacmd.
  • Updatesrvvar
  • Updateserver
  • Deleteserver
  • Addserver
  • Addrepository
  • Removerepository
  • Stoprepository
  • Enablerepository
  • Disablerepository

3.3. New connection options for pmcmd

In the previous version pmcmd could work by specifying the host name/port number of any of the Servers in a Server Grid. This is no longer supported. If the Integration Service has more than one node in it, use the new –service -sv option instead.

3.4. New Load Manager behavior for pmcmd

In previous versions all worker Load Managers were accepting connections from the client applications. Now, in PowerCenter 8.1, when pmcmd connects to a worker Load Manager, it will redirect the connection to the master Load Manager by default. Two properties are available to change the behavior – WorkerAcceptsAllConnection and EnableConnectionRedirection. Refer to KnowledgeBase Article 15951 for more details.

3.5. The infasetup DefineDomain command does not support Windows authentication for SQL Server domain configuration databases

The infasetup DefineDomain command does not support the Microsoft SQL Server feature that allows you to log in to the database using your Windows user name and password. To define a domain that uses a Microsoft SQL Server domain configuration database, you must enter a valid database user name and password.

3.6. infasetup displays an error message if you omit the -databasepassword (-dp) option

If you omit the -databasepassword (-dp) option from an infasetup command that expects this option as a mandatory one, infasetup displays an error message. This prevents infasetup from obtaining the password from the INFA_DEFAULT_DATABASE_PASSWORD environment variable.

Workaround: Specify the domain configuration database password using the -dp option.



4. Client

4.1. Explicit Checkout

In previous versions of PowerCenter repository objects were implicitly checked-out (automatically checked-out when the object is edited). Now users have to explicitly check-out the objects and and there is no option to revert to the implicit check-out behavior.
When a repository user first opens an object it will be read-only and will require the user to check it out before it can be edited.

4.2. ALL: Creating or restoring a repository no longer adds the repository to the client tools Repository Navigator automatically.

After creating or restoring a repository in PowerCenter 8.1, you must Add the repository to the client tools.

4.3. ALL: Client needs Write Access to the client install directory

In previous versions, all client repository information was stored in the Windows Registry. In PowerCenter 8.1, while some information is still stored in the registry, the client now stores (and writes to) a file on disk called domains.infa. The client will store the domain_name/hostname/portnumber in this file. As a result, the client MUST have write-access to this file.


5. Expressions

5.1. DATE_DIFF function correctly calculates the difference in dates that include leap years. If you use the DATE_DIFF function to calculate the number of months or years between two dates, where one date is a leap year, the DATE_DIFF function returns a more accurate value for the number of months or years.

In previous releases, the DATE_DIFF function returned inaccurate values if one of the dates included a leap year. If you modified any expression to correct the error in months or years, you may want to update the expression. For more details refer to the PowerCenter Post-Upgrade Reference Guide.

5.2. Integration Service fails to match a lookup value using ROUND(TO_DECIMAL(string)) in a string lookup port expression in low precision mode

The upgrade process from versions prior to 6.1 replaces TO_INTEGER() with ROUND(TO_DECIMAL()). When you have ROUND(TO_DECIMAL()) in a lookup port with a String datatype, the Integration Service does not match the port value with a string integer value in the lookup cache or table in low precision mode.
For example, you have the following expression in a previous version of PowerCenter or PowerMart:

TO_INTEGER(‘5.18’)

The upgrade process changes this expression to:

ROUND(TO_DECIMAL(‘5.18’))

ROUND(TO_DECIMAL()) returns values as a Double with trailing zeros in low precision mode.
Workaround: Manually change expressions in string lookup ports of a Lookup transformation. Change ROUND(TO_DECIMAL()) to TO_INTEGER().

5.3. Change of ROUND function behavior

The behavior of the ROUND function has been reverted to PowerCenter 7.x.
If you are upgrading from 7.x then there will be no change in the behavior of expressions using the ROUND function.
If you are installing SP4 on top of PowerCenter 8.1.x versions ROUND behavior will change.
Example:
Round of zero (ROUND(0,2)) will return 0.00 and not 0.01.

Source: Informatica