Any suggestions on restarting Oracle Enterprise Stages. Is it possible to capture the number of commit points and use this to restrict the records for the restart?
The easiest way is to have no commits and let it roll back on failure, I was wondering if anyone had a better way.
Thanks
Kevin
Oracle Enterprise Stage
Moderators: chulett, rschirm, roy
KStack,
as you said, by far the easiest is to have one big commit at the end of job execution. Should the job abort for some reason the restartability is essentially re-running the job. Easy, simple and straightforward.
Unfortunately, it is not fast For jobs that run for hours this is not a good solution. Also, for big jobs you might run into timeout issues as well as commit size constraints.
If your input data is in the same order each run (i.e. a sequential file as opposed to a SELECT on a table) then you can program around a restart in DataStage by getting the number of rows processed from a previous run (located in the job's log file) and then restarting from that row number minus a modulus for whatever commit frequency you choose. This can be done without too extensive effort and can also be fully automated.
So the choice is yours - but I would prefer to keep the jobs simple and won't program around the restartability issue unless I really have a reason to do so.
as you said, by far the easiest is to have one big commit at the end of job execution. Should the job abort for some reason the restartability is essentially re-running the job. Easy, simple and straightforward.
Unfortunately, it is not fast For jobs that run for hours this is not a good solution. Also, for big jobs you might run into timeout issues as well as commit size constraints.
If your input data is in the same order each run (i.e. a sequential file as opposed to a SELECT on a table) then you can program around a restart in DataStage by getting the number of rows processed from a previous run (located in the job's log file) and then restarting from that row number minus a modulus for whatever commit frequency you choose. This can be done without too extensive effort and can also be fully automated.
So the choice is yours - but I would prefer to keep the jobs simple and won't program around the restartability issue unless I really have a reason to do so.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>
-
- Participant
- Posts: 82
- Joined: Thu Dec 02, 2004 10:27 pm
- Location: INDIA
As dsxuserrio stated, his approach is a very efficient one; I'd like to add that if you can have your DBA partition your target tables in such as way as to make each load go into a specific partition, then you wouldn't need to copy the data from the "staging" or interim tables, you would hust activate the partition.
<a href=http://www.worldcommunitygrid.org/team/ ... TZ9H4CGVP1 target="WCGWin">
</a>
</a>