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 |
while for 100 records in source table loaded sucessfully in trgt table . assume ,session will take 10min or 5 min to successfully succeeded. then 100 million records r there in source how much time will take by session to succeeded. there no fail ok.trgt table will load 100 million records with out any errors . don't tell perfect time . assume your self how much time to succeeded?
If a session fails after loading of 10,000 records in to the target. How can you load the records from 10001 th record when u run the session next time?
IN A MAPPING WHEN WE USE AGGRIGATER TRANSFORMATION WE WILL USE GROUP BY PORT. IF GROUPBY IS NOT SELECTED BY DEFAULT IT WILL TAKE ONLY THE LAST COLUMN WHY????
Can we use the mapping parameter or variables developed in one mapping into any other reusable transformation?
why we use datawarehouse
what is flat file override?
can any one explain me about junk dimension
Do joiner transformation use cache? If so describe?
how to improve performence by using sorted input in aggrigator t/r.
Write the unconnected lookup syntax?
Hi, In a mapping I have 3 targets and one fixed width file as source. Total 193 records are there . I connected one port in aggregator to all 3 targets. The same value need to be load into these 3 targets . It is loaded like that only but in different order. Why? The order of insertion should be same know for all 3 targets ? Then why the order is changed ? Any one please help me. Advance thanks.
suppose i have 1000 records and i want to load half of the record in target 1 and half in target2.how u'll do?