[DB Interview]
Oracle 10gへの移行を決断すべきか?(後編)

@IT編集局
上島 康夫
2005/2/15

Oracle 10g R1が日本市場に投入されてから1年弱。2005年夏にはR2(リリース2)も登場する。「エンタープライズ・グリッド・コンピューティング」を標ぼうした新製品は、ユーザーにどう受け入れられたのか。R2では何が変わるのか。現時点でのOracle 10gを取り巻く最新状況を3回にわたってレポートする。

 Oracleにつきまとう固定観念は「高い」「難しい」である。Oracle 10gで「高い」というイメージは崩されつつあるようだが、引き続き「難しい」という思い込みは強いのではないか。中小規模市場への浸透を目指すオラクルは、Oracle 10gでデータベース管理機能、オンライン・ヘルプ、ナビゲーション機能を提供するWebベースの管理ツール「Enterprise Manager(以下、EM)」を導入し、誰でも簡単に使いこなせるデータベースとアピールしている(画面1)。

画面1 Enterprise Manager の「ホーム」
「Oracle Database 2日でデータベース管理者 10g リリース1(10.1)」から転載
OTNドキュメントページから参照可能

 ところがハイエンドUNIXでOracleを運用管理してきたDBAたちは、このGUIベースの管理ツールに冷ややかな視線を送っているようだ。本当にEMは信用できるのか? 日本オラクル マーケティング本部 システム製品マーケティンググループのディレクター 杉崎 正之氏、担当マネージャ 根岸 徳彰氏にこの疑問をぶつけてみた。

GUIツールはプロ用のツールとして通用するのか

―― Oracle関係の掲示板などでは、GUIツールであるEMより、コンソールからSQLを発行して統計情報や実行計画などを取得する、従来のパフォーマンス・チューニング手法を支持する書き込みが見られます。

杉崎 ハイエンドのUNIXでDBAをやってきたエンジニアは、Oracle 10gから強化されたGUIのパフォーマンス・チューニング機能 注1 をあまり必要とせず、コマンドラインでスクリプトを流すことを好むのかもしれません。ただ、そういうDBAの作業は、あえていえば無駄なのだと思うのです。もう、(Oracle 10gを導入すれば)そんな作業をする必要はなくなっている。パフォーマンス・チューニングに工数を割いているスキルの高いエンジニアは、もっと上流の仕事に専念すべきではないでしょうか。チューニングは非常に管理コストのかかる部分なので、ツールで簡単に解決できる方がエンドユーザーの利益にかなうはずです。

注1 Oracle 10gのパフォーマンス・チューニング機能
パフォーマンス低下の警告は「Automatic Database Diagnostics Monitor(ADDM)」より発せられ、「SQLチューニング・アドバイザ」「SQLアクセス・アドバイザ」の各機能でSQLの変更や索引作成などの推奨事項を表示できる。これらの操作はすべてEM上のナビゲーションに従うだけでよい。

―― 理屈でいえばそのとおりでしょう。しかし多くのデータベース・エンジニアにとってブラックボックス化されているGUIツールを本当に信用して大丈夫なのか、という心配があるのでは? 誰も人柱にはなりたくないし……。

杉崎 では、実際にあった赤字プロジェクトを紹介しましょう。OracleとJ2EEサーバで運用していたWebアプリケーションが深刻なパフォーマンス障害を起こしました。そこで日本オラクルとJ2EEサーバ・ベンダのサポート部隊が張り付き、当然開発を請け負ったSIerも常駐し、3カ月かけて原因を究明しました。結局、原因はOracleではなかったのですが、ユーザーは3カ月分のコンサルティング料として数千万円も支払ったのです。もしOracle 10gとOracle Application Server 10gで運用していたWebアプリケーションであれば、GUIツールを使ってほんの5分で原因を解明できていたのですよ 注2。GUIの画面から数回クリックするだけで問題のあるSQLを認識し、どう書き換えたらいいかをアドバイスしてくれる。そのプロファイルをOracleに投入するだけでチューニングは終わりです。アプリケーションを書き換える必要もない。それを3カ月もかけて原因を調査している……、これは現在主流となったオープン系システムの重大な問題だと思いませんか。

注2 Oracle 10gの自己診断機能
EMに搭載された「Automatic Database Diagnostics Monitor(ADDM)」はデータベース自身のパフォーマンスを診断するエンジンで、ワークロードに関する情報を定期的に収集し、リソースのボトルネック、不適切な接続管理、ロックの競合など、パフォーマンス障害の原因特定とその解決策を提示する。

―― 自動化されているといっても、内部的にはSQLを流し、取得した情報を基に判断しているはずですが、その判断の基準がどのような味付けになっているかが分からない。

杉崎 そもそもOracle 10gを開発する際に、200人ほどのデータベース・コンサルタントを動員しています。200人分のノウハウをソフトウェア化したのがOracle 10gの自動化機能だったわけです。1人月分のコンサルティング料×200と考えると、いかにOracle 10gは安いデータベースか分かる(笑)。確かにGUIツールはまだまだ信用できないというエンジニアもいるでしょうし、コマンドラインの操作を覚えるのも重要ですけれど、ぜひ1度EMを使ってみていただきたいですね。

―― Oracle 10g R1のリリース以降、自動チューニングに関してユーザーからの要望や不満はあったのでしょうか。

杉崎 自動チューニングに関してR1に対する要望があって、R2で修正するといった部分はないですね。通常の性能強化を行っているのみです。自動チューニングを使ったらパフォーマンスが悪くなったというフィードバックも受けていません。

―― チューニングの過程がブラックボックス化されているという指摘に対してはどうでしょうか。

杉崎 設定によってはすべて自動化してしまうことも可能ですが、そうしない設定もできるんです。EMが収集した統計情報やアドバイスの根拠など、途中過程をすべて表示して、最終的な判断を人間に仰ぐことも可能です。なので、クリックするとすべて勝手にパラメータなどを書き換えられてしまう、という心配はありません。

根岸 Oracle 10g以降、チューニング手法はかなり変わってきました。以前ならSGAのチューニングは必須だったのですが、ベテラン・エンジニアに話を聞いたところ、最近はその辺のことは忘れた、といっていました。Oracle 10gに任せておけば自動的に設定してくれるので 注3、チューニングする必要はない領域になったそうです。ほかにも、ファイルの配置をどうしたら早くなるとか、PCTFREEをどうするとか、そういったことを意識する必要はなくなっているんです。

注3 Oracle 10gのメモリ・アドバイザ機能
EMに搭載されたパフォーマンス・アドバイザには、SGA(共有プール、バッファ・キャッシュ)およびPGAの管理を自動化する「メモリ・アドバイザ」もある。オプションの「Oracle auto-tune memory」を使用すると、インスタンス上のメモリを総括して最適化できる。


Oracleはどこへ向かっているのか

―― Oracleは非常に詳細なチューニングを「できる」あるいは「しなければならない」データベースとして競合製品とは一線を画してきたわけですが、Oracle 10gでDB2やSQL Serverのような「簡単さ」を目指すデータベースに方向転換したわけです。その背景には何があるのでしょうか。

杉崎 オラクルは当然ハイエンドの市場も重要視していますが、中小規模の市場にもチャレンジしていきたいと考えています。R1のリリースに当たって、過去のバージョンの感覚でいえば当初からR2くらいの完成度になるまでテストを行っています。それはミッドレンジからローエンドまでの市場を意識した製品だったからです。この市場のユーザーはサポート契約を結んでくれなかったり、オラクルの営業が張り付いてサポートするような体制は取れないので、製品の完成度には特に気を使いました。ストレージの自動管理やRAC(Real Application Clusters)の機能拡張も、安いハードウェアを使ってもらいたいからです。GUIツールによる自動チューニングは、こういった中小規模市場向けの戦略の一環として、「使いこなすのが難しい」というOracleのイメージを打ち破るための機能なのです。

―― ユーザーからの反応はどうですか。

杉崎 実際に中小規模のユーザーでOracle 10gを導入したところでは、運用管理が楽になったという反響はあります。ただ、まだまだイメージを変えるまでは至っていないのが現状ですね。日本オラクルはこれまでずっと間接販売を中心に営業活動をしてきました。パートナーに納得してもらい、その次にユーザーに納得してもらう。しかし、それでは新機能を理解してもらうのに時間がかかるので、最近では日本オラクルの営業が直接ユーザーに説明するようにしています。大手のユーザーは、Oracle 10gのメリットを理解し始めているといった状況です。

―― 中小規模の市場を狙うなら、マイクロソフトのSQL Serverとぶつかることになりますが、オラクルとマイクロソフトはVisual Studio .NETの開発に関して共同歩調を取る選択を行いましたね。

杉崎 .NET環境への対応は、VSIP(Visual Studio Industry Partner)への参加によって加速しています。以前はOracleと.NETをつなぐミドルウェア(ODP.NET)のみの提供だったものが、R2からはVisual Studioにミドルウェアが統合されますから、よりVisual StudioでのOracleアプリケーション開発が楽になるでしょう。昨年、オラクルとマイクロソフトが手を組んでセミナーを開いたことは、開発者に大きな反響がありました。当社の調査では、Visual Studioでのデータベース・アプリケーション開発の70%はOracleを対象としています。マイクロソフトもVisual StudioユーザーにとってOracleは重要だという認識を持っているはず。引き続き両社で良好な関係を続けていきたいと考えています。

参考記事 @IT Database Expertフォーラム
連載記事:ODP.NETファーストステップ

 3回にわたってOracle 10gの現状と、R2の変更点をまとめてきた。ハイエンド向けデータベースの代名詞だったOracleが、「安い」「簡単」を売り文句にすることに違和感を覚えるデータベース・エンジニアも少なくないだろう。しかし、R1からR2への流れを見ていると、オラクルはかなり本気で中小規模市場への浸透を図っていることが分かる。そこで生み出されたいくつもの自動化機能は、スキルの高いDBAほど受け入れるべきかどうか悩ましい問題だ。まずは自身で評価してみる必要があるだろう。(連載完)

 Index
[DB Interview]
Oracle 10gへの移行を決断すべきか?
  前編
・Oracle 10gへの移行は進んでいるのか
・Oracle 10gでは何が変わったのか
  中編
・R2はOracle 10gの完成形
後編
・GUIツールはプロ用のツールとして通用するのか
・Oracleはどこへ向かっているのか


[DB Interview]



Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間