Kbase P14857: How to rebuild the RM Chain and Free Chain of a Progress Database
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/9/2007 |
|
Status: Verified
GOAL:
How to rebuild the RM Chain and Free Chain of a Progress Database
GOAL:
How to use dbrpr to rebuild the RM Chain and Free Chain
FACT(s) (Environment):
All Supported Operating Systems
Progress 9.x
OpenEdge 10.x
FIX:
The RM and Free chain are kept in sync by the database engine. There are times when doing a proutil command with the dbanalys and tabanalys options that you may receive warning messages. These warning messages are:
RM chain count inconsistency. (3902)
The master block indicates <num> RM chain blocks. (3903)
The actual number of RM blocks = (3904)
RM block found not on RM chain, but flagged RM chain. (3914)
<name> Block <number> with invalid chain type <number> on RM chain (6704)
In the event of receiving these warnings, you /may/ elect to manually rebuild your RM and Free Chain, however this should not be essential as these chains should get re-synched by the database engine during normal operations. You can do this by following the steps listed below:
1. Shutdown your database:
$ proshut dbname -bn
2. Truncate your bi file
$ proutil dbname -C truncate bi -G 0
3. Backup your database with your preferred utility
4. Then you will need to use a non-documented Progress tool called "DBRPR", which is an option to the PROUTIL command. Please note that this tool must be used with extreme caution. Any utilities of this tool undertaken in error may lead to an irrecoverable situation, in which case the backup that you took in Step 3 will be needed. If in doubt, contact your Progress Technical Support Region.
The syntax for this command is:
$ proutil dbname -C dbrpr
Menus displayed in this solution entry are for version 9.1D of Progress other versions may have different options.
DATABASE REPAIR MENU
--------------------
1. Database Scan Menu
2. Test One or More Indexes
3. Remove Bad Record Fragment
4. Dump Block
5. Load Block
6. Copy Bytes Between Files
7. Load RM Dump File
8. Reformat Block to a Free Block
9. Change Current Working Area
A. Try to read additional Index/Table info
P. Print Info Menu
Q. Quit
(Current Working Area: Schema Area)
Choice:
5. Select option 1 to enter the Database Scan Menu. The menu below will appear on your screen.
DATABASE SCAN MENU
&nb.sp; ------------------
1. Report Bad Blocks
2. Repair Block Alignment
3. Reformat Bad Blocks
4. Report Bad Records
5. Delete Bad Records
6. Dump Records to RM File
7. Rebuild Free Chain (chain 0)
8. Rebuild RM Chain (chain 1)
9. Rebuild Index Delete Chain (chain 2)
A. Apply scan to all areas
G. GO
(Current Working Area: Schema Area)
Choice:
6. You will want to select options 7 and 8 and A from this menu. This menu is a toggle menu. In other words, you would enter 7 and <pressreturn>, then 8 <press return> and then A <press return> . As menu items are selected in this manner you will see an ON statement appear on the left hand side of the menu option you selected. Then type G for GO.
7. You will now receive the following prompt:
Scan Backward (Yes/No)?
Answer yes and press return.
When this completes, it will return you to the Main Database Repair Menu. Type Q to quit dbrpr. Your RM and Free chain have now been successfully rebuilt..