Oracle 10g から AWR や ADDM といった自己診断機能が導入されました。
実際に使ってみると AWRレポートや ADDMレポートは非常に便利な機能で、これらを使い出すと以前のバージョンから提供されている Statspack など面倒で使ってられなくなります。
ところが、Oracle の技術情報を解説する書籍やサイトを見ると、いまだに Statspack を中心に解説しています。
なぜなのか不思議に思っていたのですが、どうやら AWR や ADDM の機能は Enterprise Edition でかつ Oracle Diagnostics Pack というオプションライセンスを購入していないと使用できないということのようです。
しかし、実際には Oracle を普通にインストールすれば、ライセンスがなくともこれらの機能を普通に使えてしまいます。
「Oracle Database ライセンス情報」というドキュメントを見ると、オプションのライセンスに関して以下のように書かれています。
ここで説明するオプション、パックまたはその他の製品を使用するには、個別にライセンスの購入が必要です。 これらのオプション、パックまたはその他の製品が、製品CD またはダウンロード・ファイルに含まれていたり、受け取ったマニュアルに説明が記載されていても、適切なライセンスを購入しなければ使用権限は与えられません。
なんと、”使えるけど使ってはならない”ということのようです。
詳細を見ると
・この画面は見ちゃだめ
・このリンクはクリックしちゃだめ。
・このパッケージは使っちゃだめ。
・このビューは見ちゃだめ。
・このビューのこの列の値がこれこれの行は見ちゃだめ。
・このスクリプトは使っちゃだめ。
なんてことが事細かく書かれています。
しかし、こんなに細かく列挙されても覚えきれないですよね。
しかも、他のマニュアルや Oracle 関連書籍の中にはこれらの機能にライセンスが必要なことが明記されてないものも多いので、気づかずについつい使ってしまうのも無理のないことかと思います。
10g のリリース2 からは Enterprise Manager に関しては「管理パックのアクセス権」という画面でライセンスを購入していないオプションに関連する画面にアクセスできないよう制限をかけることができるようですが、これもこのように設定すればの話ですし、SQL*Plus などから直接パッケージやビューやスクリプトにアクセスする分には制限はかかりません。
エディションの違いで使えない機能のように、ORA-00439エラーが発生し、使おうと思っても使えないようにしてくれるか、あるいは標準ではインストールされないようにしてくれればいいと思うのですが...
というかそうなっていてしかるべきかと思うのですがねぇ...
しかし、現状はユーザーが注意するしかないようです。
私も Oracle を購入する立場になく、普段は開発者ライセンスを使用しているため、ライセンスに対する意識が希薄でしたが、こういった機能を使用したアプリケーションをうっかり本番環境にリリースしてしまわないとも限らないですから気をつけなければなりません。