Page 1 of 1

Migrating 7.5.2 to 8.0.1 and Windows to Unix

Posted: Thu Jan 24, 2008 9:28 am
by paddu
Apart from these , should i be concerned of anything else.

1. Change file paths
2.Changes ExecDos with ExecSH
3. new line Characters

Some questions:

1.Is it fine if i need to move hashed files to 8.0.1 on Unix?

2.Will the Line Termination automatically change to Unix style in sequential file stage ,if we move jobs to new OS?????

3. Is there any command to directly change hardcoded pathname????

We have a routine which is used to run DS jobs via command line (Windows only)

Input value in Before-job subroutine is something like this

E:\Ascential\DataStage\Engine\bin\dsjob -file E:\Ascential\DataStage\Engine\bin\login.txt #$en_ETLSERVER# -run -jobstatus #$en_PROJECTNAME# JOB_NAME


How i can automatically change "E:\Ascential\DataStage\Engine\bin" with the new path which could be on different drive on UNIX????


Any suggestions appreciated.
Thanks
Paddu

Posted: Thu Jan 24, 2008 1:08 pm
by vmcburney
You can run a search and replace on the paths in the project export file to change any hard coded or default job parameter values. You should note the changes you made to your dsenv and environment settings so you can make the equivalent changes on the new server.

Posted: Thu Jan 24, 2008 5:37 pm
by paddu
Thanks vmcburney,

you mean in the dsx file i can change the hard coded paths ?
But i don't see any option of search or replace while importing or exporting the file :?:

Any idea on other questions i asked in my initial post?

Posted: Thu Jan 24, 2008 6:07 pm
by ray.wurlod
What Vincent means is:
export
edit the export file (search and replace)
import

You can do the same with line terminator characters, provided you export with default values of properties included.

ExecDOS to ExecSH could similarly be searched and replaced, but you ought to do this manually so that you can intelligently change DOS command to equivalent UNIX commands as well. For example DEL becomes rm, COPY becomes cp (or mv), and so on.

dsjob is the same on both platforms, except again you will need to convert any pathnames used therein.

Posted: Thu Jan 24, 2008 6:43 pm
by paddu
Thanks Ray,

Changing hard coded paths sounds good.

so by default when we move jobs to Unix , sequential files do not use unix style line termination.

Line termination needs to be changed manually from windows to unix.

Is edit export file search and replace line terminator the only option???

example
something like AllowCRLF "0" needs to be now AllowLF "0" in the export file.


we have about the 5-6 projects ( mininum of 800 jobs each ) needs to be moved to UNIX.

Looks like it is potential work to fix the export file before import into new envirnoment.

Posted: Thu Jan 24, 2008 7:44 pm
by chulett
Are you sure you need to change the line termination? It's all about who you are creating them for, other Windows or UNIX systems. If it's only for internal consumption by DataStage, it can handle either way without issue.

Pretty sure the only 'con' to using DOS style line terminators on UNIX would be having one extra byte per record in any given file.

Posted: Thu Jan 24, 2008 7:46 pm
by ray.wurlod
Yes, it's work. It's not difficult work, if you're systematic about it, even though it is tedious. And you do need to schedule time to do it. But, if you do it well, you only ever need to do it once (per project).

Not sure about whether AllowCRLF as the right property. Test this. Create a job with UNIX-style terminators and export that, change to DOS-style terminators and export that to a different file, both exports with the "default valued properties" option selected. Compare the two exports and the correct property name will leap out at you.

Another thing to check for and change in the export file is any call to DSExecute in a routine. You will need to change the Shell argument from "DOS" or "NT" to "UNIX", and you may need to change the Command argument to the UNIX-equivalent of the DOS command. Probably manually is best for these also - using your brain is better than using a brainless search and replace.

Posted: Thu Jan 24, 2008 9:33 pm
by paddu
I have sequential file stages all over the project to read and write files .

what if i don't change the line termination ?

chulett - Will the jobs run fine with no change?

Posted: Thu Jan 24, 2008 9:34 pm
by paddu
I have sequential file stages all over the project to read and write files .

what if i don't change the line termination ?

chulett - Will the jobs run fine with no change?

Posted: Fri Jan 25, 2008 1:31 am
by chulett
From a sequential file line termination standpoint? Yes. A UNIX Server will happily read and write "DOS" files without issue. I would *assume* a Windows Server could do the same with "UNIX" files but I've never had any hands-on time with DataStage on Windows to try.

Posted: Fri Jan 25, 2008 11:01 am
by paddu
Thanks a lot :D

Paddu