Consultor Eletrônico



Kbase P7697: How to add an extent to a multivolume database
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/04/2011
Status: Verified

GOAL:

How to add data extents.

GOAL:

How do I add extent(s) to my database

GOAL:

How to add an extent to a multivolume database

GOAL:

How to add a database extent

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Versions

FIX:

Before changing the database structure, backup your database. The following procedure is extremely low-risk, but it's always a good practice to back the database up before any change.
Make a copy of the dbname.st file. Run prostrct list dbname to get the correct st file before starting the process.

Steps

1) Create a new structure description (.st) file that contains only information about the extents(s) being added. Be sure to avoid overwriting the .st file for your existing database, by giving the .st file a unique name that is different from the existing "database-name.st" file.

Multiple extents can be added to multiple storage areas at the same time and extents need not be in the same directory as the .db file. Note that for all extent types, except after-image extents, there can be only ONE variable length extent defined and it must be the last extent of the Storage Area. If the current last extent ends with a variable extent, it will become a fixed extent when you add another extent.

Examples of a structure file that defines 1, 1GB fixed data extent and 1 variable length extent to be added to a current area on disk.

Note:You can add additional areas to a database by the same process using a new storage area name instead of the current storage area name. Those new storage areas would be empty and tables and/or indexes could be moved into those areas when required. New tables could also be created in those areas when desired.

Open Edge 10.x

# V10 if using a type I storage area: add.st
#
d "[your current storage area name]":[area number],64 /fsys2/data/ f 1048576
d "[your current storage area name]":[area number],64 /fsys3/data/
# V10 if using a type II storage area: add.st
#
d "[your current storage area name]":[area number],64;8 /fsys2/data/ f 1048576
d "[your current storage area name]":[area number],64;8 /fsys3/data/

Progress 9.x
# V9: add.st
#
d "[your current storage area name]":[area number],64 /fsys2/data/ f 1048576
d "[your current storage area name]":[area number],64 /fsys3/data/

Progress 7.x 8.x multi-volume database
# V7 or V8: add.st
#
d /fsys2/data/ f 1048576
d /fsys3/data/

2) Structure changes to the database need to be made offline, so shut down the database and stop all batch jobs running against the database if needed.


3) Use the prostrct utility with the add qualifier, specifying the .st file you created in step 1.

$ prostrct add dbname add.st
4) After the extent(s) have been added, use the prostrct utility with the list qualifier to display and verify the new database structure. This will include storage area information: name, number, records per block, blocks per cluster (V10 only) and extent information: type, path, size, number and name to screen. This information is also written to a text file which is named database-name.st by default unless you specify another name, for example: dbname2.st

$ prostrct list dbname dbname2.st

Note:You should copy the original .st file, for documentation of the structure at the time, just prior to running: prostrct list dbname, which will overwrite the current dbname.st file.