Kbase P5546: Error (43) when moving DB extents to a different directory
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  27/10/2008 |
|
Status: Verified
SYMPTOM(s):
The Database was moved to a different directory.
Error 43 while trying to access the database
** Cannot find or open file db, errno = 2. (43)
FACT(s) (Environment):
All Supported Operating Systems
Progress 6.x
Progress 7.x
Progress 8.x
Progress 9.x
OpenEdge 10.x
CHANGE:
The DB has been moved to a different directory.
CAUSE:
The structure file paths are stored in the DB. If all or some of the extents are moved to a different directory, it will not be possible to access them because the path is pointing to the previous directory.
FIX:
1) Open the .st file and update the directories for the extents.
2) Run the following command to update the structure information:
prostrct repair <db-name> <new-st-file>
Example:
Lets say that your DB extents are located in the directory /disk1/sales/
Your .st file would look like:
#
b /disk1/sales/sports.b1
#
d "Schema Area":6,32 /disk1/sales/sports.d1
#
d "Info Area":7,32 /disk1/sales/sports_7.d1
#
d "Order Area":8,32 /disk1/sales/sports_8.d1
When an extent is moved to a directory named /disk2/sales, it is necessary to modify the .st file to reflect the change:
#
b /disk1/sales/sports.b1
#
d "Schema Area":6,32 /disk1/sales/sports.d1
#
d "Info Area":7,32 /disk1/sales/sports_7.d1
#
d "Order Area":8,32 /disk2/sales/sports_8.d1
Then run the command:
prostrct repair sports sports.st
Once this is done the DB can be accessed.