Automatic features assist you in managing your database
system. They allow your system to perform self-diagnosis and to anticipate
problems before they happen by analyzing real-time data against historical
problem data. You can configure some of the automatic tools to make
changes to your system without intervention to avoid service disruptions.
When you create a database, some of the following automatic features
are enabled by default, but others you must enable manually:
- Self-tuning memory (single-partition databases only)
- The self-tuning memory feature simplifies the task of memory configuration.
This feature responds to significant changes in workload by automatically
and iteratively adjusting the values of several memory configuration
parameters and the sizes of the buffer pools, thus optimizing performance.
The memory tuner dynamically distributes available memory resources
among several memory consumers, including the sort function, the package
cache, the lock list, and buffer pools. You can disable self-tuning
memory after creating a database by setting the database configuration
parameter self_tuning_mem to OFF.
- Automatic storage
- The automatic storage feature simplifies storage management for
table spaces. When you create a database, you specify the storage
paths where the database manager will place your table space data.
Then, the database manager manages the container and space allocation
for the table spaces as you create and populate them.
- Data compression
- Both tables and indexes can be compressed to save storage. Compression
is fully automatic; once you specify that a table or index should
be compressed using the COMPRESS YES clause of the CREATE TABLE, ALTER
TABLE, CREATE INDEX or ALTER INDEX statements, there is nothing more
you must do to manage compression. (Converting an existing uncompressed
table or index to be compressed does require a REORG to compress existing
data). Temporary tables are compressed automatically; indexes for
compressed tables are also compressed automatically, by default.
- Automatic database backups
- A database can become unusable due to a wide variety of hardware
or software failures. Ensuring that you have a recent, full backup
of your database is an integral part of planning and implementing
a disaster recovery strategy for your system. Use automatic database
backups as part of your disaster recovery strategy to enable the database
manager to back up your database both properly and regularly.
- Automatic reorganization
- After many changes to table data, the table and its indexes can
become fragmented. Logically sequential data might reside on nonsequential
pages, forcing the database manager to perform additional read operations
to access data. The automatic reorganization process periodically
evaluates tables and indexes that have had their statistics updated
to see if reorganization is required, and schedules such operations
whenever they are necessary.
- Automatic statistics collection
- Automatic statistics collection helps improve database performance
by ensuring that you have up-to-date table statistics. The database
manager determines which statistics are required by your workload
and which statistics must be updated. Statistics can be collected
either asynchronously (in the background) or synchronously, by gathering
runtime statistics when SQL statements are compiled. The DB2® optimizer can then choose an access plan
based on accurate statistics. You can disable automatic statistics
collection after creating a database by setting the database configuration
parameter auto_runstats to OFF.
Real-time statistics gathering can be enabled only when automatic
statistics collection is enabled. Real-time statistics gathering is
controlled by the auto_stmt_stats configuration
parameter.
- Configuration Advisor
- When you create a database, this tool is automatically run to
determine and set the database configuration parameters and the size
of the default buffer pool (IBMDEFAULTBP). The values are selected
based on system resources and the intended use of the system. This
initial automatic tuning means that your database performs better
than an equivalent database that you could create with the default
values. It also means that you will spend less time tuning your system
after creating the database. You can run the Configuration Advisor
at any time (even after your databases are populated) to have the
tool recommend and optionally apply a set of configuration parameters
to optimize performance based on the current system characteristics.
- Health monitor
- The health monitor is a server-side tool that proactively monitors
situations or changes in your database environment that could result
in a performance degradation or a potential outage. A range of health
information is presented without any form of active monitoring on
your part. If a health risk is encountered, the database manager informs
you and advises you on how to proceed. The health monitor gathers
information about the system by using the snapshot monitor and does
not impose a performance penalty. Further, it does not turn on any
snapshot monitor switches to gather information.
- Utility throttling
- This feature regulates the performance impact of maintenance utilities
so that they can run concurrently during production periods. Although
the impact policy for throttled utilities is defined
by default, you must set the impact priority if you want
to run a throttled utility.
The throttling system ensures that the throttled utilities run as
frequently as possible without violating the impact policy. Currently,
you can throttle statistics collection, backup operations, rebalancing
operations, and asynchronous index cleanup.