Database Extent Resizing

Charl

New Member
Good day,

I tried the prostrct command, and here(SEE BELOW) is what I could get, which helped me alot. I monitored it for the past week or so, and it didnt grow by much.
Now my question is; how can I reduce the size of the extents?

Or can I set the data retention date lower?
Thank you and regards,

Charl

Area Name: Control Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 32 KByte, Name: /u1/mdsdat/automate.db

Area Name: Primary Recovery Area, Type 3, Block Size 8192, Extents 1
Ext # 1, Type VARIABLE, Size 3712 KByte, Name: /u1/mdsdat/automate.b1

Area Name: Schema Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 2656 KByte, Name: /u1/mdsdat/automate.d1

Area Name: Index Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 455776 KByte, Name: /u1/mdsdat/automate_7.d1

Area Name: Data Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 1315680 KByte, Name: /u1/mdsdat/automate_8.d1

AND

Area Name: Control Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 32 KByte, Name: /u1/mdstoy/automate.db

Area Name: Primary Recovery Area, Type 3, Block Size 8192, Extents 1
Ext # 1, Type VARIABLE, Size 2688 KByte, Name: /u1/mdstoy/automate.b1

Area Name: Schema Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 2544 KByte, Name: /u1/mdstoy/automate.d1

Area Name: Index Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 554688 KByte, Name: /u1/mdstoy/automate_7.d1

Area Name: Data Area, Type 6, Block Size 1024, Extents 1, Records/Block 32
Ext # 1, Type VARIABLE, Size 1627136 KByte, Name: /u1/mdstoy/automate_8.d1
 

TomBascom

Curmudgeon
Data extents never shrink.

If a block has empty space in it (perhaps you delete some records) that space will be re-used when data is entered in the future. This is an optimization that avoids IO to free and then re-allocate disk space.

If you are permanently reducing the size of the database then you can reclaim space by dumping and re-loading.
 

Charl

New Member
Hi Tom,

My DB Limit for each is 2GB at this stage, and one of the db's are at 1.6GB at the moment.

The point of this exercise is to determine if I can open up some more space on that DB allocation to avoid the system reaching its limit, and on the way there crashing or freezing the application running on it.

I hope this makes sense.

Appreciate any advice on this matter.

Regards,

Charl.
 

TomBascom

Curmudgeon
What system limit are you concerned about?

If we're going to be discussing limits it is also very important to specify the operating system and the version of Progress that you are using.

The structure file that you have shown is all variable extents. Unless you have enabled large files those have a limit of 2GB (or less if the filesystem that they reside on fills up). If you enable large files they are only limited by available disk space. But since I don't know what OS this is nor what release of Progress I don't know if that is an option for you.

Usually databases are configured with a number of pre-allocated fixed size extents and an "overflow" variable extent for each storage area. The DBA monitors the system and adds additional extents as appropriate when the db grows.
 

Charl

New Member
Hi Tom,

I will try and questions as detailed as possible :

What system limit are you concerned about?
Im concernerd that the DB's have a certain allocated disc space, and that it will grow to reach those limits, which will cause huge problems for me.

If we're going to be discussing limits it is also very important to specify the operating system and the version of Progress that you are using.
Im using Sco Unix, with a Progress ver 9.1C database.

The structure file that you have shown is all variable extents. Unless you have enabled large files those have a limit of 2GB (or less if the filesystem that they reside on fills up). If you enable large files they are only limited by available disk space. But since I don't know what OS this is nor what release of Progress I don't know if that is an option for you.
I was not part of the orginal setup of the server, I did query that from the supplier, and awaiting feedback, if the large files are enabled or not.

Hope this helps! Your help is much appreciated.

regards,

Charl


 

TomBascom

Curmudgeon
You are running an ancient, obsolete and unsupported version of Progress. You should upgrade to at least version 9.1E Service Pack 4.

Version 9.1C does not support large files on your platform.

You are using all variable extents. You do not have a pre-allocated limit. Your extents will grow dynamically until they reach 2GB or the containing filesystem fills up.

If any variable extent grows to 2GB your db will crash. The crash will probably be non-recoverable. So make sure that you have after-imaging properly implemented and that you know how to use it to roll forward and recover.

To avoid this problem you should pre-allocate enough fixed extents to hold your data and any planned growth. You then monitor those extents and either add more as needed or wait for the variable extents to start growing and then add more.

You sound like you need a DBA training class or some mentoring.
 
Top