what is the difference between stop and abort?
Answers were Sorted based on User's Feedback
Answer / vijay
Do not use abort unless absolutely necessary. It is messy.
Using stop is a cleaner way, and because it is cleaner, it
often takes more time.
Here's the difference:
ABORT is equivalent to:
1. Kill -9 on Unix (NOT kill -7) but YES, Kill -9
2. SIGTERM ABEND (Force ABEND) on Mainframe
3. Windows FORCE QUIT on application.
What does this do?
Each session uses SHARED/LOCKED (semaphores) memory blocks.
The ABORT function kills JUST THE CODE threads, leaving the
memory LOCKED and SHARED and allocated. The good news: It
appears as if AIX Operating system cleans up these lost
memory blocks. The bad news? Most other operating systems
DO NOT CLEAR THE MEMORY, leaving the memory "taken" from
the system. The only way to clear this memory is to warm-
boot/cold-boot (restart) the informatica SERVER machine,
yes, the entire box must be re-started to get the memory
back.
If you find your box running slower and slower over time,
or not having enough memory to allocate new sessions, then
I suggest that ABORT not be used.
So then the question is: When I ask for a STOP, it takes
forever. How do I get the session to stop fast?
well, first things first. STOP is a REQUEST to stop. It
fires a request (equivalent to a control-c in SQL*PLUS) to
the source database, waits for the source database to clean
up. The bigger the data in the source query, the more time
it takes to "roll-back" the source query, to maintain
transaction consistency in the source database. (ie: join
of huge tables, big group by, big order by).
It then cleans up the buffers in memory by releasing the
data (without writing to the target) but it WILL run the
data all the way through to the target buffers, never
sending it to the target DB. The bigger the session memory
allocations, the longer it takes to clean up
.
Then it fires a request to stop against the target DB, and
waits for the target to roll-back. The higher the commit
point, the more data the target DB has to "roll-back".
FINALLY, it shuts the session down.
WHAT IF I NEED THE SESSION STOPPED NOW?
Pick up the phone and call the source system DBA, have them
KILL the source query IN THE DATABASE. This will send an
EOF (end of file) downstream to Informatica, and Infa will
take less time to stop the session.
If you use abort, be aware, you are choosing to "LOSE"
memory on the server in which Informatica is running
(except AIX).
If you use ABORT and you then re-start the session, chances
are, not only have you lost memory - but now you have TWO
competing queries on the source system after the same data,
and you've locked out any hope of performance in the source
database. You're competing for resources with a defunct
query that's STILL rolling back.
Is This Answer Correct ? | 14 Yes | 0 No |
Answer / bsgsr
stop command immediately kills the reading process and
doesnt have any timeout period.
abort command gives a time out period of 60secs to the
informatica server to finish the dtm process else it kills
the dtm process.
reach me on bsgsr12@gmail.com
Is This Answer Correct ? | 15 Yes | 2 No |
As per Informatica PC help guide, while adding transformations to a mapplet,we have to keep this in mind: If you use a Sequence Generator transformation, you must use a reusable Sequence Generator transformation. May i know the reason behind this?
source table A having 100000 records. and target B table having 100000 records. now iam updating B records using update query. i don't know which record is update in target. write a sql query get all updated records from target table B.
If we use only lookup transformation in a mapping ie, SourceQualifier-->Lookup --> Target. , here datas are taking very long time to load in target., so what are steps to improve the performance in that mapping???????
What is the status code in stored procedure transformation?
CAN WE IMPLEMENT SCD TYPE 1 AND SCD TYPE 2 IN SAME MAPPING? IF SO HOW?
IN SCD TYPE 1 WHAT IS THE ALTERNATIVE TO THAT LOOKUP TRANSFORMATION ?
What is a Shortcut and What is the difference between a Shortcut and a Reusable Transformation?
I have three same source structure tables. But, I want to load into single target table. How do I do this? Explain in detail through mapping flow.
IN SCD1, insource we have 10 billion records and in the first day its uploaded successfully and in the second day its taking time to upload because some records it might get update or insert new records. As a developer what will be the better solution for this??
What are the new features of informatica 9.x at the developer level?
write sql query following source table jan feb mar apr 100 200 300 400 500 600 700 800 900 100 200 300 i want the output format like month total jan 1500 feb 900 mar 1200 apr 1500
WHAT IS UPDATE OVERRIDE . DIFFERENCE BETWEEN SQL OVERRIDE AND UPDATE OVERRIDE ?