Page 1 of 1

Hashed file corruption

Posted: Thu Mar 24, 2011 9:18 am
by DaleK
hello All,

We have a job that has been running for months without issue.
This morning the job fails while updating a hashed file.

the log has this entry:
"Job_DR07BR1D_ext..hf_DR07BU0D_cnts.ds_household_tbl_cnt_out: ds_uvput() - Write failed for record id 'HOUSEHOLD_TBL'"

when I try to view the hashed file in the job I get this error:
"Error calling subroutine:
DSD.Browse (Action=3); check DataStage is set up correctly in project ...."

I logged into admin and tried to do a uvfixfile but get the messege:
"hf_DR07BU0D_cnts is not a filename in voc"
we us directory path not account name when we create hash files.
This hashed file is created and initialized by another job and then updated by a series of jobs with load counts.

Is there another way to run a fix on this file?

thanks
DaleK

Posted: Thu Mar 24, 2011 1:31 pm
by ray.wurlod
Both fixtool and uvfixfile can be run from the command line. For example

Code: Select all

$DSHOME/bin/uvfixfile -file hf_DR07BU0D_cnts 
(You need to have run the dsenv script first.)

Posted: Thu Mar 24, 2011 1:44 pm
by chulett
... but only for hashed files with a VOC record pointer. You'll need to manually create it for your pathed hashed files using SET.FILE, if I recall correctly.

Posted: Thu Mar 24, 2011 2:08 pm
by ray.wurlod
Not true. The -file option takes a pathname as its argument.

Posted: Thu Mar 24, 2011 3:30 pm
by chulett
D'oh, missed that.

Posted: Thu Mar 24, 2011 5:33 pm
by chucksmith
FYI: if it is a 64-bit hashed file, you may have to use fixtool.

Code: Select all

fixtool

The fixtool executable performs the file diagnostic and repair functions of

the File Tool option to UniVerse Admin locally.  (It is fixtool.exe on

NT.)  It has the following options:

      fixtool    -file filename
                         [-level n]
                         [-fix]
                         [-filepath pathname]
                         [-help]
                         [-logging]
                         [-logpath pathname]

-file                        Specifies filename you want to process

-level                       Sets diagnostic level to n where the default is 5

-filepath                    Specifies pathname location of file (the directory the file is in)

-help                        Displays these fixtool options

-logging                     Dumps errors to file in directory called log.filename

-logpath                     Creates log.filename in specified pathname instead of local directory