Can't open hash via Account, only Directory Path

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
hewills
Participant
Posts: 3
Joined: Mon Apr 22, 2013 5:44 pm

Can't open hash via Account, only Directory Path

Post by hewills »

Over the weekend we received a lot of Phantom errors, and jobs suddenly running for a veeery long time. (Which may or may not be related to this hash issue.)
I reset the sequences and jobs, and stop/started services.

Then I noticed we are getting an error in any job that writes or reads to a hashed file via the account name.
The error is: DSD.UVOpen Unable to open DICT "<hashedfilename>".

Some things I've found...
* If I try to 'View Data' from one of these account based hashes, and the selection tab is empty, the data pulls up. If I then run the job, leaving the selection tab empty, it will error.

* If I try to 'View Data', and I'm using a filter in the selection tab, it will error.

* If I try to 'View Data' using the directory path, the data pulls up fine.

I have certain jobs that require using the account name because it utilizes the selection tab, so I can't just change them all to directory path in the meantime.
What all should I troubleshoot? Is this an issue with VOC, indexes, or possibly a change in user access? I'm worried that reindexing or ds.checker will make unnecessary changes.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Review which hashed files are account-based and which are pathed. To be able to access a file dictionary there must be a VOC entry in which the data file pathname is in field #2 and the dictionary file pathname is in field #3. A dictionary is necessary to perform filtering in the hashed file stage.

Neither DS.REINDEX nor DS.CHECKER will affect hashed files used for your data.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
hewills
Participant
Posts: 3
Joined: Mon Apr 22, 2013 5:44 pm

missing dictionary

Post by hewills »

I've determined that somehow the hash dictionary files are gone (!) The VOC entries are still there, but they point to now non-existent dict files.

I know you can create these manually, one by one.
Is there any other way to create dictionary files, given everything else (hashed file,VOC entry,DS job) is just fine?
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

There is, though it might be a bit convoluted depending on the VOC entries. You say that the physical D_hashedfilename files have gone (presumably deleted by someone at the operating system level), but that the VOC entry continues to have the (path)name of D_hashedfilename.

If that summary is correct, then the steps involved are as follows. These commands can be executed in a dssh shell on the engine machine, or via the Command window in the Administrator client.

1. Clear field 3 from the relevant VOC entry.
UPDATE VOC SET F3 = '' WHERE F0 = 'hashedfilename';

2. Create the dictionary of the hashed file.
CREATE.FILE DICT hashedfilename 3 7 4

3. Add any needed entries to the file dictionary. There are lots of tools.
ED (line editor)
ENTRO or MODIFY (smart editor)
SQL INSERT statements
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply