技術ブログ
目次
Oracle Databaseテクノロジ関連に限定すると、Oracle OpenWorldでの催しは主に以下の4つに分類されます。
日本から出席するOracleパートナーの大部分は、OPNツアーとOPNパートナーパスを購入しています。 OPNパートナーパスには、Oracle PartnerNetwork Exchangeパスが含まれており、パートナー向けに選定されたテクニカルセッションに参加できます。しかし、製品戦略的、概要的な内容で、率直に言って私のような生粋のエンジニアにはあまり魅力的ではありません。 OPNパートナーパスで参加できない、テクニカルセッションの大部分と、ハンズオンラボに参加するには、別途Oracle OpenWorldパスが必要になります。
Oracle OpenWorld 2012 Registration
このため、今回のOpenWorld参加にあたって、社長に掛け合ってOPNパートナーパスにOracle OpenWorldパスをアドオンしてもらいました。 アドオンという形なので若干割引は効きますが、一人あたり十数万円かかります・・・。
で、このパスを片手に、テクニカルセッションを聞きまくるぞ・・・と思っていたのですが、Day2,3(10/1,2)にOaktable Worldという魅力的なイベントが開催されることになりました。当然ながら時間帯は完全にバッティングします。このためDay2,3については、Oracle OpenWorldのテクニカルセッションはほとんど聞けず・・・。わざわざOracle OpenWorldパスをアドオンしたのに、これは完全な誤算でした。
しかも、Oaktable Worldが開催されていないDay 5はOracle OpenWorld最終日で、テクニカルセッションが少ない。
このような事情のため、結局聴講したOracle OpenWorldのテクニカルセッションは以下の通りになりました。
ちょっともったいない気がします。 個人的には、Oaktable Worldが聞けるなら、Oracle OpenWorldパスはいらないかも・・・。 もちろんOaktable Worldのセッションはかなりdeepな内容なので、人によって好みが分かれる部分ではありますが・・・。
一言でいうと、「オプティマイザヒントの書き方」に関するセッションでした。
スピーカーの Maria Colganさんは Oracle Optimizer - Insight into the workings of the OptimizerというBlogを運営されており、情報発信に熱心な印象があります。 今回このBlogを書くにあたり、あらためて調べてみると、Oracle Corporationの社員にもかかわらず、oaktableのメンバーでもあるようですね。
Agenda
What are hints?
How to use Optimizer hints
Useful Optimizer hints to know
Why are Optimizer hints ignored?
If you can hint it, baseline it
Managing an existing hinted application
すこし気になった点の抜粋
文法的に正しくないオプティマイザヒントを書いてしまいがち。特に表別名の指定をミスりやすい。(例: Select /+ index(emp pk_emp) / * From emp e; はNG)
複数のクエリブロックからなるSQLの場合は要注意。クエリブロックにヒントを指定するか、クエリブロック名を指定してヒントを書く。
10053トレースのDumping Hintsセクションから、ヒントが有効になっているかどうかを確認できる(といっていたが、実際には確認できないケースもあるはず・・・)
FORMAT引数に\'+outline\'を指定してDBMS_XPLAN.DISPLAY_CURSORを実行すると、フルアウトラインを確認できる。フルアウトラインをヒントとしてSQLに指定すると、その実行計画で固定できる
クエリ変換が実行され、ヒントが有効にならないケースがある。クエリ変換を抑止するのも手。
_OPTIMIZER_IGNORE_HINTSパラメータで、指定したヒントを無視して実行計画を立てることができる。
※:記載予定
Agenda
RACにおけるパフォーマンス問題については、ことさらインターコネクトにおけるブロック転送スピードが話題に上ります。 しかし、いくつかのトラブルシュート事例から、実際には遅延の原因はインターコネクトにおけるブロック転送に要する転送時間ではなく、LMSをはじめとするキャッシュフュージョンにかかわるOracleインスタンスの処理時間が問題になりやすいことがわかってきています。
このセミナーは、インターコネクト以外のキャッシュフュージョンの遅延要因について説明したセミナーです。
Causes of Interconnect Latency というタイトル(本当はCause of Cache Fusion Latencyというタイトルのほうがよいはず)のスライドにありますが、遅延の要因は大きく以下の3つに分類できます。
「あの」Tom Kyteが、Oracle Database 12cの新機能のうちTom自身が重要であると思っている12(!)の項目を紹介してくれるセッション。
現時点で発表資料の公開はないですが、内容的に公開できないということではなく、 時期的に(単に12cのリリース前なので)公開ができないということでしょう。
私も少しメモをとっていましたが、 Oracle OpenWorld 2012 : Day 5 -The ORACLE-BASE Blogの記載内容のほうがより詳細な内容になっているため、これを紹介するとどめたいと思います。
すこし気になった点の抜粋