Progress OpenEdge database: Dedicated Storage Areas
With 7.36 our database definition files (dfs) will contain references to dedicated storage areas. Prior to 7.36 the database definition files pointed to the Schema Area for all tables and indices.
Using the Schema Area for data is not a best practice and prevents leveraging the performance and administrative benefits of using Type II storage areas.
We have defined the following storage areas:
6
|
Schema |
Database schema |
yes |
yes |
7
|
Master |
Master data which is relatively static. |
yes |
yes |
8
|
Master2 |
Master data which is relatively dynamic (for example debtors and projects) |
yes |
|
9
|
Entries |
Data which is created, updated and deleted or moved when processed. |
yes |
yes |
10
|
Transactions |
Data resulting from processing entries and which is generally only created and not updated or deleted. |
yes |
|
11
|
Aggregates |
Data resulting from processing which is the sum of transaction tables (for example balsht and stcumdat) |
yes |
|
12
|
Logging |
Data related to logging. |
yes |
yes |
13
|
Documents |
The documents table (stexob) |
yes |
|
14
|
Obsolete |
Tables which are not used, but which cannot yet be deleted. |
yes |
|
Updating an existing database
Warning! When you have a large database moving the tables (and blobs) might take a long time. Creating the areas is mandatory, moving the tables can be done at a later time.
Therefor we have two possible scenarios: one where you only create the areas and don't move the tables yet and one where you create the areas and also move the tables to these areas.
Scenario 1 Only create areas
In this case you only need to run the next line from proenv:
prostrct addonline exactcs exactcs735-736.st
This will create the areas but leaves the tables where they are now. This is not a best practice and prevents leveraging the performance and administrative benefits of using Type II storage areas.
If at a later time you want to move the tables, you can use the file exactcs735-736.tablemove.cmd but remove the part in the file that creates the areas:
if exist "%db%.lk" (
call prostrct addonline %db% %~dp0exactcs735-736.st
) else (
call prostrct add %db% %~dp0exactcs735-736.st
)
Note that proutil tablemove invoked by the above cannot move the blob fields (in stexob / stjobl / y_stjobl) to their intended areas, a dump, drop table, recreate table and reload is required to achieve this. If this is not done, the blobs will remain in the Schema Area.
Repeat for the EDIS database
Scenario 2 Create areas and move tables
To add the needed extents to an existing database and move tables from their initial Schema Area location to their target areas, from proenv use:
exactcs735-736.tablemove.cmd
(To keep it simple, copy exactcs735-736.tablemove.cmd and exactcs735-736.st to the database folder and set the prompt in proenv to this folder. Then start exactcs735-736.tablemove.cmd)
Note that proutil tablemove invoked by the above cannot move the blob fields (in stexob / stjobl / y_stjobl) to their intended areas, a dump, drop table, recreate table and reload is required to achieve this. If this is not done, the blobs will remain in the Schema Area.
Repeat for the EDIS database.
Creating a new database
To create a new database with the required extents, from proenv use the structure file (.st) from the cd folder to first create a void database with the required extents and then copy the empty database into that:
prostrct create exactcs exactcs.st
procopy %DLC%\prolang\utf\empty4 exactcs
The 4 in empty4 indicates the blocksize of the database, on Windows this is usually 4, matching the cluster size.
Main Category: |
Attachments & notes |
Document Type: |
Online help main |
Category: |
|
Security level: |
All - 0 |
Sub category: |
|
Document ID: |
31.629.550 |
Assortment: |
Exact Financials
|
Date: |
17-02-2025 |
Release: |
7.36 |
Attachment: |
|
Disclaimer |