デフォルト値を理解する
過去のバージョンのOracle Databaseでは、例えばエクステントのきり方、セグメントの管理方式、ロールバックセグメントのきり方、メモリの使い方、つまり、Oracle Databaseそのものの設計を十分に考慮する必要がありました。
しかしながら、Oracle Databaseはバージョンを重ねるごとに管理機能が強化され、例えばメモリの自動管理を用いてメモリ設計の適正値を計る、そして最終的にメモリの各コンポーネント値を決めるといった具合に、データベース設計者の設計負荷は大幅に削減されています。
また、UNDO管理についても、自動UNDO機能を用いることで読み取り一貫性のエラー(ORA-01555)を防ぐことができます。Oracle Database 10g R2からはUNDOセグメントの保持期間を定めるUNDO_RETENTIONも自動チューニングされますので、DB管理者の負荷はさらに減ったと言えるでしょう。
また、表領域管理はデフォルトでローカル管理表領域となっており、エクステントの割り当てを表領域ヘッダで行います。セグメントの管理も自動セグメント管理(ASSM)がデフォルトとなっているため、かつて設定していたPCTUSEDやFREELISTといったパラメータを考慮する必要がなくなりました。こういった設定値はEnterprise Managerの管理画面を見ることで確認ができます。
これらの機能を用いる上で重要な点は、「アプリケーションの特性に合わせて自動管理機能で傾向を見ながら適性値を定める」という点です。
DB物理設計は、インフラタスクとして行うと述べましたが、インフラだけの視点で適正値を定めることはできません。まず、仮置きで設定値を定めた上で、アプリケーションを動かしながら適正値を確認することが必要です。
また、「過去のバージョンの手動パラメータを使って管理したい」という場合においても、自動パラメータを使って適正値を確認したうえで、手動パラメータを一部適用する、という手段が可能です。