2008.07.10

Oracleデータベースのバージョンによる違い

Oracleデータベースのバージョンによる違いを並べてみました。

■ Enterprise Manager(以下EM)
Oracle10gから使えるようになったWeb版のEMですが、
リリースバージョンによってデフォルトのポート番号が異なります。
・Oracle10gR1 … 5500
・Oracle10gR2 … 1158

また、そのことによりEMのログインURLも異なりますので注意してください。
・Oracle10gR1 … http://[サーバ名]:5500/em/
・Oracle10gR2 … http://[サーバ名]:1158/em/


■ 初期化パラメータ・ファイル
インスタンスの起動のときに最初に読み込まれる初期化パラメータファイルの相違点です。
・Oracle8i以前 … PFILE(テキスト)のみ
・Oracle9i以降 … PFILE(テキスト)、SPFILE(バイナリ)が使用可能

PFILEはテキスト形式で保存されているのでテキストエディタで編集できますが、
SPFILEはバイナリのためEMかSQL文(ALTER SYSTEM ~)で変更することになります。


■ オプティマイザ統計
これは有名な話ですが、オプティマイザのデフォルトが変更になっています。
・Oracle9i以前 … ルールベース(構文駆動型)
・Oracle10g以降 … コストベース(統計駆動型+初期化パラメータ)

ちなみに、コストベースの統計は、毎日1回、自動的に収集されています。


■ 権限(ANY権限)
権限名に「~ ANY …」とついているものは、
他のスキーマに対しても適用対象ということを表わしています。
ただし、この意味合いがバージョンにより以下のように異なってきます。
・Oracle7以前 … 全てのスキーマにアクセス可
・Oracle8以降 … ”SYSスキーマ以外の”全てのスキーマにアクセス可

セキュリティ強化のための変更で、ANY権限といえども
SYSスキーマに対しては対象外であることに注意してください。


■ UNDOデータの管理
読み取り一貫性を保証するためのデータで、
最近のバージョンでは自動で領域を管理してくれるようになっています。
・Oracle8i以前 … 手動UNDO管理
・Oracle9i以降 … 自動UNDO管理


■ 表領域管理
表領域の管理方法の違いにより、
ローカル管理/ディクショナリ管理の2通りがあります。
・Oracle8以前 … ディクショナリ管理のみ
・Oracle8i以降 … ディクショナリ管理、ローカル管理が使用可能

また、デフォルトの表領域管理は以下のようになっています。
・Oracle9iR1以前 … SYSTEM表領域はディクショナリ管理がデフォルト
・Oracle9iR2以降 … SYSTEM表領域はローカル管理がデフォルト

ディクショナリ管理は下位互換用のためのサポートで非推奨です。
現在はローカル管理が推奨となっています。


他にもいろいろとあると思いますが、参考にしてみてください。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
yamaoka