« 2012年9月 | メイン | 2012年11月 »

2012年10月 アーカイブ

2012年10月31日

Oracle OpenWorld 2012レポート - Day 2-5 テクニカルセッション

Oracle Databaseテクノロジ関連に限定すると、Oracle OpenWorldでの催しは主に以下の4つに分類されます。

  • テクニカルセッション - Technical Session: 数十名から数百名規模の会場で、スライドやデモによる技術の説明がなされます。いわゆる普通のセミナーです。
  • キーノート - Keynote: コンサート会場を思わせる非常に大きな会場で、Oracle Corprationのエグゼクティブが新製品や技術動向を説明します。Oracleの名物社長 Larry Ellisonを拝めるのが、このキーノートです。
  • ハンズオンラボ - Hands-on Labs (HOLs):実機を使った実習形式のセミナーです。
  • 展示ブース - Exhibition : 製品やソリューションの展示・説明のブースを閲覧できます。うまくやると、各社のノベルティがもらえます。

日本から出席するOracleパートナーの大部分は、OPNツアーとOPNパートナーパスを購入しています。 OPNパートナーパスには、Oracle PartnerNetwork Exchangeパスが含まれており、パートナー向けに選定されたテクニカルセッションに参加できます。しかし、製品戦略的、概要的な内容で、率直に言って私のような生粋のエンジニアにはあまり魅力的ではありません。 OPNパートナーパスで参加できない、テクニカルセッションの大部分と、ハンズオンラボに参加するには、別途Oracle OpenWorldパスが必要になります。

このため、今回の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な内容なので、人によって好みが分かれる部分ではありますが・・・。

CON8455 - Oracle Database Optimizer: Harnessing the Power of Optimizer Hints Maria Colgan - Senior Principal Product Manager , Oracle

一言でいうと、「オプティマイザヒントの書き方」に関するセッションでした。

スピーカーの 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パラメータで、指定したヒントを無視して実行計画を立てることができる。

CON8483 - Oracle Net Services Best Practices with the Latest Database Technology

※:記載予定

CON3765 - “Think Outside Your Interconnect” When Optimizing Your Oracle RAC Environment

Agenda

  • A large number of processes in the run queues waiting for CPU or scheduling delays.
  • Platform-specific OS parameter settings that affect IPC buffering or process scheduling.
  • Slow, busy, or faulty interconnects.

RACにおけるパフォーマンス問題については、ことさらインターコネクトにおけるブロック転送スピードが話題に上ります。 しかし、いくつかのトラブルシュート事例から、実際には遅延の原因はインターコネクトにおけるブロック転送に要する転送時間ではなく、LMSをはじめとするキャッシュフュージョンにかかわるOracleインスタンスの処理時間が問題になりやすいことがわかってきています。

このセミナーは、インターコネクト以外のキャッシュフュージョンの遅延要因について説明したセミナーです。

Causes of Interconnect Latency というタイトル(本当はCause of Cache Fusion Latencyというタイトルのほうがよいはず)のスライドにありますが、遅延の要因は大きく以下の3つに分類できます。

  1. 多数のプロセスがCPUのランキューでCPUの割り当てを待っているため
  2. OS依存のIPCバッファリング、プロセススケジューリングのパラメータ設定のため(設定が適切でないため)
  3. 遅く、帯域が不足しており、欠陥のあるインターコネクト

CON8429 - Tom’s Top 12 Things About the Latest Generation of Database Technology

「あの」Tom Kyteが、Oracle Database 12cの新機能のうちTom自身が重要であると思っている12(!)の項目を紹介してくれるセッション。

現時点で発表資料の公開はないですが、内容的に公開できないということではなく、 時期的に(単に12cのリリース前なので)公開ができないということでしょう。

私も少しメモをとっていましたが、 Oracle OpenWorld 2012 : Day 5 -The ORACLE-BASE Blogの記載内容のほうがより詳細な内容になっていうるため、これを紹介するとどめたいと思います。

すこし気になった点の抜粋

  • Adaptive Execution Plans: SQL実行中に実行計画の作成ミスに気づいたら、別の実行計画切り替える。優れたカーソル共有の問題点を解消した機能と理解。
  • Temporary Undo : 一時表に対する処理で通常のUNDOを使用しない。よって、REDO使用量も削減できる。
  • Pluggable database: コンテナデータベースに複数のデータベースを収容できる。

2012年10月30日

Oracle OpenWorld 2012レポート - Oracle ACE Dinner

User Group Forumに参加したあとは、全世界のOracle ACEの集まりであるOracle ACE Dinnerにいってきました。

私(渡部)はOracle OpenWorld直前にOracle ACEに認定されていたため、実はOracle ACE Dinnerのお誘いは受けてはいないのですが、「ま、たぶん問題なかろう」と勝手に判断して、誘われてもいないのにあつかましくも参加してきました。

Oracle ACE Dinnerの会場は St. Francis Yacht Club という海沿いのレストランでした。
大きな地図で見る

日本人の参加者は、自分だけであろうと思って参加したのですが、ACE Directorの小幡さんを見つけてちょっと安心。

さて、Oracle ACE Dinnerに参加して驚いたのは、技術者コミュニティとしては異常に年齢層が高いことです。特に白人の年齢層が高いです。 実際に年齢を尋ねたわけでないので正確なところはわからないのですが、おそらく大部分が30歳または40歳台なんじゃないでしょうか。Oracle Databaseという技術領域は、エンジニアが長くメシを食える領域であることをあらためて痛感しました。

acedinner2012.jpg

会場には様々な人種のOracle ACEがいますが、やはり人種毎に固まる傾向がありますね。私は中国、韓国のエンジニアを中心に交流してきました。当然ながらコミュニケーション手段は英語です。自分は英語はあまり得意ではないため、純粋な社交の場はなかなか厳しいものがありました・・・。

写真はOracle ACE Dinnerでもらったパスの下につける布です。スペードのマークに"A"は、"ORACLE ACE"の印です。

ace.jpg

Oracle OpenWorld 2012レポート - 出発 + Day 1 User Group Forum

0/4 の 5日間にわたり、US San Francisco で開催されたOracle OpenWorld 2012に 弊社から私(渡部)含め2名が行ってまいりました。

Oracle OpenWorldの渡航については、某大手旅行代理店様からツアー(飛行機+ホテル+各種サポート)とパスを申し込むことで 手配が完了します。弊社では、日本からの参加者の多くが購入する構成、OPNパートナーツアー+OPNパートナーパスに加えて、OpenWorldパスをアドオンしました。(パスの位置づけについては詳細は後述します)

flight.jpg

日本時間の9/29(土) 15:40から飛行機にのり、現地時間の9/29朝にSan Fransiscoに到着します。 今回はホテルに荷物を預けた後、フィッシャーマンズワーフで昼食時間の後、一旦ホテルに帰ります。しばらく自由時間の後、夜に日本から出席したOracleパートナー向けの懇親会がありました。これで、Oracle OpenWorldの第0日目にあたる日程は終了です。時差の関係もあり非常に長い一日です。(逆に帰国日は一気に2日が過ぎるのですが・・・)

mosconewest.jpg

さて、Oracle OpenWorldは、次の日の9/30(日)から始まります。しかしDay 1(9/30)は原則的に技術セッションは開催されていません。 現場運営のリハーサルがわりなのでしょうか、IOUG をはじめとする User Group主導のUser Group Forumが行われています。

渡部が参加したセッションは以下の通りです。

UGF4301 - Look Inside the Locking Mechanism

"Inside"という言葉に惹かれて本セッションを聴講しましたが・・・残念ながら、内容はLockの実装などに葉触れるものではなく、 単にTXエンキューの動作に関する説明でした。タイトルに偽りあり!です。

Agenda

  • The basics of the locking mechanism
  • Lock types and modes
  • Locks during basic DML and DDL operations
  • Advanced locking scenarios, including deadlocks, locking and constraints, and more

これ以外にもいくつかのセッションを受講しましたが、少なからずタイトルと内容が合っていないセッションは多々ありました。 私と同じようなフラストレーションを感じている人は多いようです。

OOW: Is It Worth It? - ORAganism OOW: Is It Worth It?より

There are often two or more sessions in the same slot that I want to attend and what made this even more frustrating in my first year were the “marketing trap” sessions. The ones that sound great, but as I recall saying at the time, “I don’t come here to listen to someone give me an overview of functionality or recite the data sheets.” I want the “war stories”, internals and undocumented stuff.
乱暴な訳: 同じ枠に聴講したいセッションが2つ以上あることは、よくあることだ。初めてOOWに参加したときにフラストレーションを感じさせられたことは、"マーケティング・トラップ"セッションの存在だ。(内容が)凄そうに聞こえるが、「誰かに機能の概要説明をしてもらいにきたのではないし、データシートの朗読を聴きにきたのではない」と後で言うことになる。私は、"war story (たぶん、現場の話ぐらいの意味のはず)"や内部や非公開の内容が聞きたいのだ。

UGF6886 - The Answers to Free Memory, Swap, Oracle Database, and Everything

Agenda

  • Types of Physical Memory
  • Virtual Memory
    • Types of memory
  • How to monitor memory usage
    • Oracle specifics
  • HugePages effect
  • Oracle Views

主にOSの観点からみたメモリの話で、ときおりOracle Databaseに関連する内容が説明されました。 メモリ階層、仮想メモリ、メモリ使用量の監視について、主にLinuxを想定して説明がありました。 (一部Solarisに関する説明あり)

気になった点の抜粋

  • SolarisではHugepagesは自動的に使用、調整される
  • Solarisではスワップまたはディスクへの書き込みを確認する方法がない。vmstat sr, po, pi などから推測する
  • Linux /proc/meminfo Cachedにはファイルシステムキャッシュ、実行バイナリが含まれる。hugepages未使用時のSGAも含まれる
  • cat 大きいファイル > newfile; rm newfileしたときのcacheの増減(rmでcacheが減る)

UGF3373 - Are You a Member Yet? Oracle User Group Advantages and Value for Oracle Customers

Oracle User Groupの活動内容や意義についての説明です。

現在のJPOUGの活動は、イベントの主催や、イベントへのセッション参加にとどまっていますが、規模の大きい海外のUser Groupは雑誌の出版やオラクルへの働きかけ(製品改善要望、ベータ版の試用など)を行っているようです。 日本との違いに驚くと同時に、JPOUGもいつかはそのようにならなければならないと感じました。

このセッションとは直接の関係はありませんが、IOUGブースの方に話しかけたときにIOUGが出版している雑誌をいただきました。かなり充実した内容です。

selectjournal.jpg

ユーザーグループの区分について、わかりやすい説明がありました。ユーザーグループは以下の種類に分類できるとのこと。

  • Umbrella : いくつかのユーザーグループの集合体
  • Geo : 特定の地域で活動するユーザーグループ
  • Technology : 特定の技術に関するユーザーグループ

名称が似ており混同しやすいユーザーグループに、IOUCとIOUG がありますが、上記の概念を用いると明確に理解することができます。 IOUCは全世界のユーザーグループを包括するUmbrella型のユーザーグループです。IOUGはUSで活動するGeo型のユーザーグループです。

UGF7700 - Oracle on Oracle VM: Expert Panel

Xenベースのいわゆる"Oracle VM"だけでなく、"Oracle VM VirtualBox"や"Oracle VM Server for SPARC"などを含めたオラクルのVM製品群に関する説明でした。大規模環境におけるストレージ構成に関する議論がありましたが、英語なのでちょっとついてゆけず・・・残念。

UGF10405 - Truss, pstack, pmap, and more

発表資料はOOWのサイトにはアップロードされていませんが、おそらくpstack, truss, etcを用いて説明されたと思います。

Agenda

  • Truss with few examples.
  • Demos of truss (hopefully)
  • Proc tools intro: pmap, pfiles etc.
  • pstack

サーバープロセスのファイルI/Oやエンキュー待機など処理実行におけるシステムコールの実行状況をtrussで覗いてみたり、pmapやpstackで覗いてみたり、といった内容でした。Oracle Databaseの動作に興味がある人であれば、一度はやったことがあることでしょう。個人的にはあまり目新しい内容はありませんでしたね。

2012年10月22日

Unconference at db tech showcase 2012の資料を公開しました

先週の水曜日から金曜日にわたり開催された、世界中から ひとつ以上のデータベース技術に とことん精通した技術者が集う db tech showcase 2012 にて、JPOUGメンバーが順次Unconferenceスタイルのセッションを行いました

dbts2012.JPG

前回のJPOUGイベントでは、運営側に専念してfrustrationがたまったので(?)、今回は "Oracle Database In Rock Lock"というタイトルでセッションを行いました。

聴講いただいた方、ありがとうございました。また、このような貴重な機会をご用意していただいた Insight Technologyの皆さん、ありがとうございました。

私のセッションで使った発表資料をslideshareにuploadしましたので、ご参考にしていただければ幸いです。

Oracle Databaseに存在する様々なロック機構の意味合いや役割、競合発生時の考え方について(一部ムリヤリ感満載の)デモを交えながらご説明させていただきました。Oracle Databaseに限らず、RDBMS一般においてロック機構は性能上非常に重要な技術に位置づけられます。本セッションにより、Oracle Databaseのロック機構や、RDBMSのロック機構について興味をお持ちいただければ、とてもうれしく思います。

諸般の事情により、発表で使用したコマンドの詳細については公開できませんが、何とぞご理解ください・・・

では、また次のJPOUGイベントでお会いしましょう!

2012年10月11日

Unconference by Tanel Poder!

渡部が思う今一番「Hack」な雰囲気をもつエンジニアTanel Poder が、JPUOG Unconference at db tech showcase 2012に参加してくれることになりました!

Tanel Poderは、 Oracle ACE Director、OakTable Network memberであり、先日の Oaktable World "Oracle Hacking Sesssion!"と題して、ターミナルにひたすらコマンドを打ち込み、しゃべりまくる、かなり「Hack」なデモストレーションを繰り広げていました。(用意したスライドはタイトルの1枚だけ!)

詳細は現時点で未定のようですが、恐らく今回もかなり「Hack」な内容となるはず!要注目です。 db tech showcase 2012の参加登録は こちら

About 2012年10月

2012年10月にブログ「コーソル DatabaseエンジニアのBlog」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2012年9月です。

次のアーカイブは2012年11月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。