View previous topic :: View next topic
|
Author |
Message |
rafaelantunes
New User
Joined: 10 May 2007 Posts: 32 Location: Portugal
|
|
|
|
Hi all.
I am new to IMS DB, so please forgive me for my further statements and questions.
In DB2 I know that I can execute an unload to a dataset of any database without major restrictions, such as with CICS online.
Now, the problem I'm facing is that, I was informed that the same process for IMS is not possible, that is, I have to close the online to do that.
Is this actually true? How can I manage to execute a JCL process to read the IMS DB and separate the segments into different "flat files" without closing the online or have performance issues?
Any help will be much appreciated.
Regards |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
it would be better to define what You mean by <unload>
Quote: |
Online Database Image Copy utility (DFSUICP0)
Use the Online Database Image Copy utility (DFSUICP0) to create an as-is image copy of the database while it is being updated by the online system. The image copy is used for recovery purposes. |
|
|
Back to top |
|
|
rafaelantunes
New User
Joined: 10 May 2007 Posts: 32 Location: Portugal
|
|
|
|
Well, I have a IMS database with customers, orders and itens.
I believe this is stored in a single VSAM, like this:
Code: |
Client A
Order #01
Item #11
Item #12
Order #02
Item #21
Client B
Order #03
Item #31
Item #32
...
|
So all I want is to divide the segments of data into different flat files:
File 1
Client A
Client B
File 2
Order #01
Order #02
Order #03
File 3
Item #11
Item #12
Item #21
Item #31
Item #32
Can't this be done thru JCL without have issues with the online? |
|
Back to top |
|
|
Ed Goodman
Active Member
Joined: 08 Jun 2011 Posts: 556 Location: USA
|
|
|
|
I always write a small COBOL program to do what you're doing. As long as it's reading sequentially through the primary database, it should run quickly.
IMS has a nice feature called OSAM sequential buffering (OSSB) that will gobble up huge chunks of data for each EXCP (assuming a few things). You enable it by adding a DD to the IMS step:
Code: |
//DFSCTL DD DSN=WTSO.PROD.PARM(DFSCTL),DISP=SHR |
That contains this line:
This is safe to put in ANY program because it will check the access to the database and see if it's sequential. If not, it goes to sleep. if it activates, it will take up some memory, so give it some to play with. |
|
Back to top |
|
|
|