
![]()
This monograph briefly describes the new and enhanced features in the Progress RDBMS for version 8.2A. These improvements provide enhanced performance, improved maintainability, and reliability.
You can choose the database block size when you create a new database. Available sizes are 1024 bytes, 2048, bytes, 4096 bytes, and 8192 bytes. Block sizes of 512 bytes are no longer supported.
Note that databases are not portable across different systems, even though they may have the same block size.
Advantages
By choosing a larger block size, you gain the following advantages:
- Better performance - best when the block size is equal to or a multiple of the filesystem's block size.
- Better index compression - each index block will hold more so the compression algorithm has more to try to compress.
- Larger maximum database size.
- Fewer fragmented records.
Disadvantages
- Your database may use slightly more disk space if the average record length is small enough that you reach the maximum number of records per block before the space in the block is fully utilized.
- You have to reduce the value of -B (the number of buffers in the in-memory database buffer pool) to compensate for the increased block size. To keep the amount of memory used the same, if you double the block size, halve -B.
- To convert an existing database to a different block size, a dump and load is required
Virtual System Tables allow you to access the database manager's internal data structures and activity counters. With this information, you can use the 4GL or SQL to generate custom displays and reports containing the same data that the Progress Monitor Utility (promon) displays on the screen, but with unlimited flexibility.
There are 29 new tables. To access these tables, you must first install their definitions into the Progress metaschema. You do this by executing the following command:
protutil <dbname> -C enablevst
Once you have installed the VST definitions, you can use standard 4GL or SQL queries to access the data.
Quiet points allow you to suspend all database activity for a period of time without requiring the database to be shut down. All users can remain connected during the quiet point bu they can't do anything. This allows you to:
- Split mirrored disks so that you can make a backup of one side of the mirror while allowing database activity to continue. Once you have split the mirrors, you end the quiet point, allowing database activities to resume.
- Synchronize online backups of multiple databases. You begin the quiet point on each database, begin the backup, and end the quiet point, allowing normal activity to resume. The backups continue until they have completed.
By using quiet point instead of shutting down the database to split mirrored disks, downtime can be reduced significantly, to as little as a couple of seconds.
When adding a new column to a table, provided the column's default value is unknown (?), the new column is added almost instantaneously.
You can store database extents of multi-volume databases on raw disk partitions. You can have a mix of raw extents and file extents for the same database. For a discussion of the pro's and con's of raw partitions, please see the monograph entitled "Progress In The Raw".
The new binary dump and load utilites allow one or more tables to be dumped at high speed while the database is online. They replace the previously unsupported binary dump and load utilities and are fully supported.
The two-phase commit algorithm's efficiency was greatly improved to eliminate 90% of the overhead of the previous implementation. It is now very close to optimal and introduces little overhead for distributed transactions.
The point-in-time recovery feature allows you to use the After-Image Journalling reoll forward recovery mechanism to restore the database to the state it was in at a specified date and time. As the after-image transaction logs are being processed and the logged transactions repeated, processing stops when the first transaction that begins after the specified date and time is encountered. At this point any incomplete transactions are rolled back. The database will now be in a consistent state for the point in time specified.
The after-image journal roll forward feature was enhanced to allow you to reapply the an ai journal over again. This is useful if a system failure occurs while you are rolling forward. After you restart the system, you can roll forward the same journal file again and the rollforward manager will complete rolling forward the file by applying the missing entries.
The license reporting feature generates a usage log that contains hourly reports of current, maximum, and minimum database connections. The log allows you to monitor database connections so you can plan for upgrading your licenses as your system grows and you add more users. You can also use it as an aid in capacity planning.
Now you can use the Progress Backup Utility to make tape backups of your databases on Windows NT systems.
To improve "out-of-the-box" performance, two defaults were changed. The default Before-Image Log block size is now 8192 bytes and the default Before-Image Log cluster size is now 512 Kilobytes. The previous default vaues were the database block size and 128 Kilobytes, respectively.
The -F startup parameter is dangerous because it allows you to open the database without going through the noraml startup process. Using -F skips crash recovery and most restrt processing entirely and can result in a database that is damaged. The damage is usually not immediately apparent.
To help people avoid damaging their databases accidentally by misusing the -F startup parameter, we have changed how you use it. In 8.2+, forcing access to the database is allowed only from the PROUTIL utility and only in conjunction with the TRUNCATE BI qualifier.
Example: proutil demo -C truncate bi -F
When you do this, the following messages and prompt will be displayed:
The -F option has been specified to proutil. (6260)
Forcing into the database skips database recovery. (6261)
This leaves the database in unknown state, considered damaged. (6262)
Are you sure you want to skip crash recovery? (6263)If you respond with "y" for "yes", the force access will be allowed and the following messages will be displayed and written to the log file:
** The FORCE option was given, database recovery will be skipped. (33)
** Your database was damaged. Dump its data and reload it. (37)
You can now control the range of TCP/IP ports a Progress server uses for client-server communication. This allows you to configure a firewall to allow outside connections on those ports the server has been configured to use. Previously, the server always used the first available port numbered higher than 1024, resulting in unpredictable port usage.
You can configure more than one broker for a particular communication protocol. This feature has several possible uses:
- When multiple brokers are used, clients can connect to a server more quickly during periods of high login activity, such as at the start of the work day.
- Each broker can be configured separately so you can have some servers with a small number of clients per server and some with a larger number. This allows for more optimal allocation of system resources when you have some users that have high levels of activity and some with little activity.
Many previously reported bugs were fixed.
Unfortunately, three new bugs were introduced. They have not yet been found.
![]()
Copyright 1997, Progress Software Corp., All Rights Reserved